(57)【要約】【課題】無線端末装置（ＳＴＡ）が自律的に無線基地局（ＡＰ）の負荷調整を行う。【解決手段】各ＳＴＡはインフラストラクチャ・モードとアドホック・モードで通信することができる。各ＳＴＡはＡＰの性能および各ＳＴＡのトラフィックを記憶するトラフィック・テーブルを有する。各ＳＴＡはＡＰに対する自らのトラフィックを測定する。そして、自ら測定したトラフィックをアドホック・モードで他のＳＴＡに送信し、かつ、他のＳＴＡのトラフィックを受信する。あらたに接続するＳＴＡ４５はアドホック・モードでトラフィックを取得する。ＳＴＡ４５がセルの重複範囲に入っていずれかのＡＰに接続する際には、ＡＰの性能とトラフィックに基づいて電波強度の強いＡＰ２０ではなくトラフィックの少ないＡＰ３０を選択する。【選択図】図１
2011223178.tif 000002
【特許請求の範囲】
【請求項１】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置がセルの重複範囲を有しそれぞれ複数の無線端末装置が接続された複数の無線基地局のいずれかに接続するために前記無線端末装置に、
前記セルの重複範囲を形成する複数の無線基地局の性能を示す性能情報を取得するステップと、
前記セルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置と前記アドホック・モードで通信して前記他の無線端末装置の無線基地局に対する接続状態を示す接続情報を受信するステップと、
前記性能情報と前記接続情報に基づいて接続する無線基地局を決定するステップと、
前記決定した無線基地局に接続するステップと
を有する処理を実行させるコンピュータ・プログラム。
【請求項２】
前記性能情報と自らの前記接続情報と前記他の無線端末装置の前記接続情報を記憶するトラフィック・テーブルを提供するステップと、
前記自らの接続情報と前記他の無線端末装置の接続情報を定期的に前記トラフィック・テーブルに記憶するステップと
を有する請求項１に記載のコンピュータ・プログラム。
【請求項３】
前記接続情報が無線基地局に対する各無線端末装置のトラフィックを含み、前記決定するステップが前記性能情報と特定の無線基地局に対する各無線端末装置のトラフィックの総和に基づいて決定するステップを含む請求項１または請求項２に記載のコンピュータ・プログラム。
【請求項４】
前記接続情報が無線端末装置の識別子を含み、前記決定するステップが前記性能情報と特定の無線基地局に接続された無線端末装置の総数に基づいて決定するステップを含む請求項１から請求項３のいずれかに記載のコンピュータ・プログラム。
【請求項５】
前記性能情報を取得するステップが、各無線基地局からマネージメント・フレームを通じて取得するステップを含む請求項１から請求項４のいずれかに記載のコンピュータ・プログラム。
【請求項６】
前記性能情報を取得するステップが、前記セルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置と前記アドホック・モードで通信して取得するステップを含む請求項１から請求項５のいずれかに記載のコンピュータ・プログラム。
【請求項７】
前記アドホック・モードの通信が前記インフラストラクチャ・モードのセッションを維持した状態で行われる請求項１から請求項６のいずれかに記載のコンピュータ・プログラム。
【請求項８】
前記無線端末装置が前記性能情報と前記接続情報に基づいて前記複数の無線基地局の中で電波強度の弱い無線基地局に接続されたときに、
定期的に電波強度の強い無線基地局に接続された他の無線端末装置と前記アドホック・モードで通信して前記他の無線端末装置の接続情報を取得するステップと、
前記電波強度の強い無線基地局の性能情報と前記電波強度の強い無線基地局に接続された各無線端末装置の接続情報に基づいてローミング受け入れ条件が成立したか否かを判断するステップと、
前記ローミング受け入れ条件が成立したときに前記電波強度の強い無線基地局にローミングするステップと
を有する請求項１から請求項７のいずれかに記載のコンピュータ・プログラム。
【請求項９】
それぞれインフラストラクチャ・モードとアドホック・モードで通信することが可能な複数の無線端末装置がセルの重複範囲を有する複数の無線基地局のいずれかに接続されているときに前記無線端末装置に、
各無線基地局の性能を示す性能情報を取得するステップと、
他の無線端末装置と定期的に前記アドホック・モードで通信して無線基地局に対する自らの接続状態を示す接続情報を送信するステップと、
他の無線端末装置と定期的に前記アドホック・モードで通信して無線基地局に対する前記他の無線端末装置の接続情報を受信するステップと、
前記自らが接続する無線基地局の性能情報と前記自らが接続する無線基地局に接続された各無線端末装置の前記接続情報に基づいてローミング条件が成立するか否かを判断するステップと、
ローミング条件が成立すると判断したときに自らがローミングの対象であるか否かを決定するステップと
を含む処理を実行させるコンピュータ・プログラム。
【請求項１０】
前記ローミング条件が、自らが接続する無線基地局に対する各無線端末装置のトラフィックの総和が所定値を越えたときに成立する請求項９に記載のコンピュータ・プログラム。
【請求項１１】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが最大の無線端末装置が自らローミングの対象であると決定するステップを含む請求項１０に記載のコンピュータ・プログラム。
【請求項１２】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが小さい方から順番に選択した所定数の無線端末装置がそれぞれ自らローミングの対象であると決定するステップを含む請求項１０に記載のコンピュータ・プログラム。
【請求項１３】
前記ローミング条件が、自らが接続する無線基地局に接続されている無線端末装置の総数が所定値を越えたときに成立する請求項９から請求項１２のいずれかに記載のコンピュータ・プログラム。
【請求項１４】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが最小の無線端末装置が自らローミングの対象であると決定するステップを含む請求項１３に記載のコンピュータ・プログラム。
【請求項１５】
前記自らがローミングの対象であると決定した無線端末装置は、前記自らが接続する無線基地局とは異なる無線基地局の性能情報と前記異なる無線基地局に接続された各無線端末装置の前記接続情報に基づいて前記異なる無線基地局のローミング受け入れ条件が成立するか否かを判断するステップを有する請求項９から請求項１４に記載のコンピュータ・プログラム。
【請求項１６】
前記自らがローミングの対象であると決定した無線端末装置は、ローミング先の無線基地局が複数存在する場合に、各無線基地局に対する各無線端末装置のトラフィックの総和、無線端末装置の接続総数、および通信品質のいずれか１つの要素または複数の要素の組み合わせに基づいてローミング先の無線基地局を決定するステップを有する請求項９から請求項１５のいずれかに記載のコンピュータ・プログラム。
【請求項１７】
プロセッサと、
メイン・メモリと、
無線コントローラと、
前請求項１から請求項１６のいずれかに記載されたコンピュータ・プログラムを格納する不揮発性の記憶装置と
を有する無線端末装置。
【請求項１８】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置であって、
無線基地局の性能を示す性能情報を取得する手段と、
無線基地局に対する接続状態を示す接続情報を前記アドホック・モードで通信して他の無線端末装置と相互に交換する手段と、
複数の無線基地局が形成するセルの重複範囲に存在する間に各無線基地局の前記性能情報と各無線基地局に接続された各無線端末装置の前記接続情報に基づいて接続先の無線基地局を決定する手段と、
決定した前記無線基地局に接続する手段と
を有する無線端末装置。
【請求項１９】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置であって、
無線基地局の性能を示す性能情報を取得する手段と、
無線基地局に対する接続状態を示す接続情報を前記アドホック・モードで通信して他の無線端末装置と相互に交換する手段と、
複数の無線基地局が形成するセルの重複範囲に存在する間に各無線基地局の前記性能情報と各無線基地局に接続された各無線端末装置の前記接続情報に基づいてローミングするか否かを決定する手段と
を有する無線端末装置。
【請求項２０】
それぞれ複数の無線端末装置が接続された複数の無線基地局の負荷を各無線端末装置が調整する方法であって、
各無線端末装置が各無線基地局の負荷に対する性能を示す性能情報を取得するステップと、
前記無線端末装置がいずれかの無線基地局に接続する前に他の無線端末装置と直接無線通信をして無線基地局に対する負荷状態を示す負荷情報を取得するステップと、
接続可能な複数の無線基地局を検出した前記無線端末装置が、前記性能情報と前記負荷情報に基づいて接続する無線基地局を決定するステップと、
前記決定した無線基地局に接続するステップと
を有する方法。
【請求項２１】
それぞれ複数の無線端末装置が接続された複数の無線基地局の負荷を各無線端末装置が調整する方法であって、
各無線端末装置が前記複数の無線基地局の負荷に対する性能を示す性能情報を取得するステップと、
無線基地局に対する負荷状態を示す負荷情報を定期的に取得するステップと、
他の無線端末装置と直接無線通信をして無線基地局に対する負荷状態を示す負荷情報を定期的に交換するステップと、
前記無線基地局の性能情報と各無線端末装置の前記負荷情報に基づいてローミング条件が成立するか否かを自ら判断するステップと、
ローミング条件が成立すると判断した前記無線端末装置がローミングするステップと
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無線基地局の負荷を調整する技術に関し、さらに詳細には、当該無線基地局に接続する無線端末装置が自律的に負荷を調整する技術に関する。
【背景技術】
【０００２】
ノートブック型携帯式コンピュータ（以下、ノートＰＣという。）やＰＤＡなどの無線端末装置には無線ＬＡＮ通信装置が搭載され、無線基地局を通じてサーバや他のノートＰＣと通信をすることができる。また、無線ＬＡＮネットワークには、複数の無線基地局が相互に電波到達範囲が部分的に重複するように配置されている。無線端末装置には、電波強度が弱い場合にノイズと信号を分別する信号処理のために通信が切断しないように伝送速度を自動的に低下させるフォールバック機能を搭載しているため、接続可能な複数の無線基地局を検出した場合に、大きな伝送速度が期待できる電波強度が最大の無線基地局に自動的に接続するように構成されている。したがって、無線ＬＡＮネットワークが導入された建物の中において、それぞれ無線端末装置を持参する多くのユーザが会議室などの一定のスペースの中に集まったときには、電波強度の強い特定の無線基地局に接続が集中することになる。
【０００３】
１つの無線基地局に接続することができる無線端末装置の数は、当該無線基地局を通じて割り当てるＩＰアドレスの数による制限を受ける場合がある。ＩＰアドレスは、ＤＨＣＰサーバにより自動的に割り当てられるが、ネットワーク管理者はセキュリティなどの管理上の視点から特定の無線基地局が扱うＩＰアドレスの数を制限する。したがって、グローバル・アドレスのクラスで定まる理論的な数よりも実際の無線基地局が扱うホスト・アドレスの数はるかに小さくなる。また、ネットワーク管理者は特定の無線基地局のスループットを維持するために同時に接続する無線端末装置の数を制限する場合もある。ＩＥＥＥ８０２．１１では、ローミングや切断のタイミングを規定していないため、通常は特定の無線基地局に一旦接続した無線端末装置は、移動したり動作を停止したりしない限りその接続を維持する傾向があり、特定の無線基地局に実際のデータ転送をしない無線端末装置が多数接続されることになってデータ転送を必要とする無線端末装置が接続できない状態が発生する。
【０００４】
また、特定の無線基地局に複数の無線端末装置が接続されている場合でも、無線基地局と同時に実際の通信ができる無線端末装置はその中の１台だけであり、他の無線端末装置はフレームの衝突を避けるためキャリア・センスを行って無線チャネルがアイドル状態になるまで待機してから送信する。したがって、特定の無線基地局に接続された無線端末装置の数が増加したり、各無線端末装置のデータ転送が時間的に集中したりするとそこに接続されているすべての無線端末装置の転送速度が全体的に低下する。さらに、フレームが衝突した場合は、無線端末装置は無線基地局からの確認応答を示すＡＣＫフレームを受け取ることができないので再送手順を実行するためさらに転送速度が低下する。
【０００５】
このように、特定の無線基地局に接続された多数の無線端末装置が同時にデータ転送を行うと、各無線端末装置の単位時間あたりのデータ転送量であるトラフィック（単位：ｂｐｓ）が低下して快適な無線通信をすることができなくなる。無線基地局には単位時間あたりの最大のデータ転送量を示すスループット（単位：ｂｐｓ）が設定されており、各無線端末装置が所定の範囲の転送速度を維持するためには、当該無線基地局のスループットが各無線端末装置のトラフィックの総和に対して所定の余裕をもつようにトラフィックの総和を調整することが望ましい。
【０００６】
特許文献１は、無線基地局間での通信負荷を平均化させる技術を開示する。同文献の発明は、接続されている移動無線端末の数が多いと判断した無線基地局は、ビーコン信号の送信電力を下げて当該無線基地局から離れた位置に存在する移動無線端末を隣接する無線基地局に接続させる。そして、隣接する無線基地局は当該移動無線端末に対する伝送速度を下げてＣＮ比の低下を防止する。
【０００７】
特許文献２は、８０２．１１ワイヤレスＬＡＮ内の無線基地局間のネットワーク帯域幅の動的ロード・バランシングを行う技術を開示する。同文献には、無線基地局に接続されたクライアント装置の平均帯域幅使用量を無線基地局が生成および監視することが記載されている。同文献の発明は、各クライアント装置についての平均帯域幅使用量を総計し、総帯域幅がしきい値以上である場合、選択したクライアントを他の無線基地局に強制的にローミングする。特許文献３は、アドホック・ネットワークに属する端末が、公衆網に接続する機能を有する複数のゲートウェイの中から最適なゲートウェイを選択する技術を開示する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−１２４４６１号公報
【特許文献２】特表２００５−５３６９１３号公報
【特許文献３】特開２００５−７９８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１および特許文献２は、電波強度または無線基地局側で定めた手順に基づいて負荷分散ができるように接続する無線基地局を決定する方法を提供する。その方法では、無線基地局が現在接続されている無線端末装置の数を数えてから電波強度を変更してさらに伝送速度を下げたり、帯域幅使用量を監視して強制的に切断したりする必要がある。したがって、特別な機能を有していない通常の無線基地局を使用する無線ネットワークに適用することができない。
【００１０】
そこで、本発明の目的は、無線基地局側で負荷分散をさせるような高価で複雑なシステムを構築することなく自律的に無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、無線基地局に新たに接続する際に無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、無線基地局に一旦接続されたあとにダイナミックに無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、そのような無線端末装置に実装するコンピュータ・プログラムおよびそのような無線端末装置が実行する負荷調整の方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明を適用する無線ＬＡＮシステムの複数の無線基地局は、セルの重複範囲を形成するように配置されている。本発明にかかる無線端末装置は無線基地局とはインフラストラクチャ・モードで通信し、相互間ではアドホック・モードで通信することが可能である。インフラストラクチャ・モードでは無線基地局を通じてバックボーン・ネットワークと通信する。本発明におけるアドホック・モードは無線基地局を利用しないで無線端末装置同士が直接無線通信をするいかなる方法も含む。たとえば、特定の無線端末装置が最初に仮想アクセス・ポイントとなって通信を開始するような通信方法も含む。あるいは、２つの無線端末装置が途中に他の無線端末装置で中継されて無線通信するような通信方法も含む。
【００１２】
本発明の一の態様では、新規に無線基地局に接続する際に無線端末装置が接続可能な複数の無線基地局の負荷を自律的に判断して負荷を分散するように接続先の無線基地局を決定する。無線端末装置はセルの重複範囲を形成する複数の無線基地局の性能を示す性能情報を取得する。性能情報は、無線基地局の識別子に対応する性能情報を各無線基地局からマネージメント・フレームを通じて直接取得したり、あらかじめ自らの記憶装置に格納しておき、ビーコン・フレームから取得した無線基地局の識別子に基づいて記憶装置から取得したりすることができる。あるいは、性能情報はアドホック・モードで通信してすでに無線基地局に接続されている他の無線端末装置から取得することもできる。無線端末装置はセルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置とアドホック・モードで通信して、他の無線端末装置の無線基地局に対する接続状態を示す接続情報を受信する。
【００１３】
自らの接続情報の送信と他の無線端末装置からの接続情報の受信は、同一のセッションで行っても異なるセッションで行ってもよい。性能情報をアドホック・モードで通信して他の無線端末装置から受け取る場合は、性能情報の送信と受信は同様に同一のセッションで行っても異なるセッションで行ってもよい。性能情報と接続情報はアドホック・ネットワークを構築する各無線端末装置で共有される共有情報となる。各無線端末装置は共有情報を取得するために、すべての無線端末装置と直接アドホック・モードで通信できる必要はない。たとえば無線端末装置Ａの接続情報は、無線端末装置Ａから直接アドホック・モードで受け取る場合もあれば、すでに当該接続情報を無線端末装置Ａから受け取っていた無線端末装置Ｂからアドホック・モードで受け取る場合もある。そして無線端末装置は、性能情報と接続情報に基づいて各無線基地局の負荷の大きさを判断して負荷バランスを考慮しながら接続する無線基地局を決定する。
【００１４】
性能情報と接続情報を記憶するトラフィック・テーブルを用意して、自らの接続情報および他の無線端末装置の接続情報を定期的に更新することができる。新たに無線基地局に接続した無線端末装置も自らの接続情報をトラフィック・テーブルに記憶することで、さらに当該無線基地局に接続をしようとする無線端末装置に接続情報を提供できるようになる。接続情報は無線端末装置の識別子と無線基地局に対するトラフィックを含む。また、性能情報は、接続数閾値とトラフィック閾値を含むように構成することができる。無線端末装置は、識別子から特定の無線基地局に対する無線端末装置の接続総数を計算し、当該特定の無線基地局の性能情報と比較して相対的に接続数に余裕のある無線基地局を接続先として決定することができる。また無線端末装置はトラフィックから特定の無線基地局に対するトラフィックの総和を計算し、当該特定の無線基地局の性能情報と比較して相対的にトラフィックに余裕のある無線基地局を接続先として決定することができる。
【００１５】
このように本発明にかかる無線端末装置は、無線基地局、バックボーン・ネットワークに接続されたサーバ、または管理用のクライアントなどの支援を受けないで、各無線基地局の負荷に対する余裕を自ら判断して特定の無線基地局のトラフィックの総和または接続総数が増大することがないように接続先を決定することができる。アドホック・モードの通信は、インフラストラクチャ・モードのセッションを切断しないようにしながら行うことが望ましい。そのような方法を実現するには、無線コントローラを２つ用意してもよいし、１つの無線コントローラをソフトウエアで仮想化して２つの無線コントローラとして動作させるようにしてもよい。
【００１６】
上記の手順によれば電波強度よりも無線基地局の負荷分散を優先して接続先の無線基地局を決定しているので、セルの重複範囲に入った無線端末装置は、電波強度の弱い無線基地局に接続されることがある。しかし、電波強度の強い無線基地局の総接続数およびトラフィックの総和は時間の経過で変化して、接続が可能な状態に変化することがある。電波強度の弱い無線基地局に接続された無線端末装置は、定期的に電波強度の強い無線基地局に接続された他の無線端末装置とアドホック・モードで通信して他の無線端末装置の接続情報を取得することができる。そして、電波強度の強い無線基地局の性能情報と電波強度の強い無線基地局に接続された各無線端末装置の接続情報に基づいてローミング受け入れ条件が成立したか否かを判断し、ローミング受け入れ条件が成立したときに電波強度の強い無線基地局にローミングすることができる。
【００１７】
本発明の他の態様では、すでにいずれかの無線基地局に接続された無線端末装置が自律的に無線基地局の負荷を調整する。無線端末装置は、自らが接続する無線基地局に対する接続状態を示す接続情報を定期的に取得し、他の無線端末装置と定期的にアドホック・モードで通信して交換する。無線端末装置は、自らが接続する無線基地局の性能情報と自らが接続する無線基地局に接続された各無線端末装置の接続情報に基づいてローミング条件が成立するか否かを判断する。そして、ローミング条件が成立すると判断したときに自らがローミングの対象であるか否かを決定してローミングする。よって、本発明にかかる無線端末装置は接続時だけでなく、接続中もダイナミックにかつ自律的に無線基地局の負荷調整を行うことができる。
【００１８】
ローミング条件は、自らが接続している無線基地局に対する各無線端末装置のトラフィックの総和が所定値を越えたときに成立するように構成することができる。そして、このローミング条件が成立したときは、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが最大の無線端末装置が自らローミングの対象であると決定することができる。トラフィックが最大の無線端末措置は、当該無線基地局のトラフィックの緩和に最も有効である。
【００１９】
または、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが小さい方から順番に選択した所定数の無線端末装置がそれぞれ自らローミングの対象であると決定することができる。この方法は、トラフィックが大きい無線端末装置を優先してローミングさせないようにすることでローミングによるトラフィックの中断の影響が少なくなるようにしながら、当該無線基地局のトラフィックの緩和を図る必要がある場合に有効である。
【００２０】
またローミング条件は、自らが接続している無線基地局に接続されている無線端末装置の総数が所定値を越えたときに成立するように構成することができる。所定数は、当該無線基地局に接続可能な無線端末装置の上限に相当する最大接続可能数またはそれより小さい値として設定した接続数閾値を選択することができる。そして、このローミング条件が成立したときは、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが最小の無線端末装置が自らローミングの対象であると決定することができる。当該無線基地局の接続数に余裕が少なくなってきたときには、いずれの無線基地局にローミングしても同じ効果が得られるが、ローミングの影響を最も受けない無線端末装置がローミングすることが望ましい。
【００２１】
さらに、自らがローミングの対象であると決定した無線端末装置は、ローミング先の無線基地局の性能情報とそこに接続されている無線端末装置の接続情報に基づいてローミング受け入れ条件を判断してからローミングすることができる。ローミング条件とローミング受け入れ条件を構成する性能情報に関する閾値は、同一の値でも異なる値でもよい。閾値を異なる値にする場合は、ローミングにより無線基地局の負荷に対する余裕が逆転しないように場合によってはローミング受け入れ条件の閾値をローミング条件の閾値よりも厳しくするなどの工夫をすることが望ましい。なお、無線基地局の負荷に対する余裕は、無線基地局の最大接続可能数およびスループットの大きさを考慮して判断することが望ましい。
【００２２】
セルの重複範囲が複数のセルで形成され、ローミング先の無線基地局が複数存在する場合は、ローミングすることを決定した無線端末装置がローミング先の無線基地局を選択することができる。選択の基準としては、各無線基地局に関する各無線端末装置のトラフィックの総和、無線端末装置の接続総数、および通信品質のいずれか１つの要素または複数の要素の組み合わせを採用することができる。
【発明の効果】
【００２３】
本発明により、無線基地局側で負荷分散をさせるような高価で複雑なシステムを構築することなく自律的に無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、無線基地局に新たに接続する際に無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、無線基地局に一旦接続されたあとにダイナミックに無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、そのような無線端末装置に実装するコンピュータ・プログラムおよびそのような無線端末装置が実行する負荷調整の方法を提供することができた。
【図面の簡単な説明】
【００２４】
【図１】インフラストラクチャ・モードの無線ＬＡＮシステムのネットワーク構成を示す図である。
【図２】アドホック・モードの無線ＬＡＮシステムのネットワーク構成を示す図である。
【図３】各ＳＴＡのハードウエア構成を示す概略のブロック図である。
【図４】自律的にＡＰの負荷を調整するための各ＳＴＡのソフトウエアおよびハードウエアの構成を示す図である。
【図５】トラフィック・テーブルのデータ構造を示す図である。
【図６】測定したトラフィックから平均トラフィックを計算する方法を説明する図である。
【図７】ＳＴＡがＢＳＳに新規に参加する際に自ら接続先を決定してＡＰの負荷調整をする手順を示すフローチャートである。
【図８】すでにＢＳＳに参加しているＳＴＡが自らローミングしてＡＰの負荷調整をする手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
［無線ＬＡＮシステムの構成］
図１は、ＩＥＥＥ８０２．１１に規定するインフラストラクチャ・モード（以下、インフラ・モードという。）の無線ＬＡＮシステム１０のネットワーク構成を示す図である。図１ではイーサネット（登録商標）のバックボーン・ネットワーク１１には、認証サーバ１３、無線基地局（以下、アクセス・ポイント（ＡＰ）という。）２０、およびＡＰ３０が代表的に接続された状態が示されているが、実際にはＷｅｂサーバ、メール・サーバ、ＤＮＳサーバ、およびデータベース・サーバなどのさまざまなサーバが接続される。１つのＡＰがカバーする電波の到達範囲として画定された面積的な領域をセルという。図１には、ＡＰ２０のセル２１とＡＰ３０のセル３１を示している。セル２１とセル３１は、重複する範囲を含んでいる。セルが重複している面積的な領域をセルの重複範囲という。ＡＰが３台以上配置されている場合は、３つ以上のセルによりセルの重複範囲が形成される場合がある。また、各セルからセルの重複範囲を除いた領域をセルの単独範囲という。
【００２６】
無線ＬＡＮシステム１０は、複数の無線端末装置（以下、ステーション（ＳＴＡ）という。）を含んでいる。ＳＴＡは一例としてノートＰＣを採用することができる。セル２１の単独範囲に存在しているＳＴＡ２０−１、２０−３、２０−５とセルの重複範囲に存在しているＳＴＡ４１は、ＡＰ２０に接続されている。セル３１の単独範囲に存在しているＳＴＡ３０−１、３０−３、３０−５とセルの重複範囲に存在しているＳＴＡ４３はＡＰ３０に接続されている。ＳＴＡ４５はいずれのセルにも入っておらず無線ＬＡＮシステム１０には接続されていない。図１に示すすべてのＳＴＡは、無線ＬＡＮシステム１０に接続される各ＡＰのＳＳＩＤを保有しており、かつ、認証サーバ１３に自らの識別子で正規のクライアントとして登録されている。
【００２７】
また、認証サーバ１３と各ＳＴＡは認証およびデータの暗号化に使用する共有鍵を保有している。したがって各ＳＴＡはいずれかのＡＰに接続されたときに認証サーバ１３により認証されバックボーン・ネットワークを通じて通信することができる。ＡＰ２０、３０はそれぞれ接続要求を受けたＳＴＡにＩＰアドレスを付与するための周知のＤＨＣＰサーバ（図示せず。）を保有している。各ＤＨＣＰサーバが付与するＩＰアドレスの数には制限がある。また、ネットワーク管理者はＡＰ２０、３０にそれぞれ同時に接続するＳＴＡの数にも制限を設けている。
【００２８】
各ＳＴＡはセルの範囲に存在する限り、ＡＰ２０、３０のいずれにも接続することができる。したがって、セルの重複範囲に存在するＳＴＡ４１はＡＰ３０に接続することが可能であり、またＳＴＡ４３はＡＰ２０に接続することが可能である。セルの重複範囲に存在するＳＴＡ４１、４３が接続するＡＰを決定するために、これまでは、ＳＴＡが各ＡＰから受信したビーコン・フレームの電波強度を示すＲＳＳＩ（Received Signal Strength Indication）を比較して電波強度が強いＡＰを選択して接続していた。ＡＰの性能が同一であれば電波強度の強いＡＰに接続するほど伝送速度が大きくなるため、通常のＳＴＡはすべてこのように構成されている。
【００２９】
したがって、特定のＡＰに多数のＳＴＡが接続され、各ＳＴＡのトラフィックの総和がＡＰのスループットに近づいて、各ＳＴＡのトラフィックが低下することがある。また、セルの単独範囲に入ってＡＰに新たに接続しようとするＳＴＡは当該ＡＰに対する接続数が飽和して接続できないことがある。本発明では後に説明するように、各ＳＴＡが自律的にＡＰの負荷分散をするアルゴリズムを提供するが、ここでは、ＳＴＡ４１はＡＰ２０に接続されＳＴＡ４３はＡＰ３０に接続されているとして説明を進める。
【００３０】
ＡＰ２０との間で論理的な接続が確立しているＳＴＡ２０−１、２０−３、２０−５、４１とＡＰ２０で構成される集合体を基本サービス・セット（ＢＳＳ）という。同様に、ＡＰ３０とＳＴＡ３０−１、３０−３、３０−５、４３も他のＢＳＳを構成する。ＡＰ２０を含むＢＳＳをＢＳＳ２２として表記し、ＡＰ３０を含むＢＳＳをＢＳＳ３２と表記することにする。あらたにいずれかのＢＳＳに参加するＳＴＡはアクティブ・スキャニング方式またはパッシブ・スキャニング方式で接続可能なＡＰのＳＳＩＤを探索する。いずれかのＡＰに接続されセルの単独範囲に存在するＳＴＡがセル２１とセル３１との間を移動してセルの重複範囲に入っている間は、他のＡＰにも接続可能な状態になる。
【００３１】
そして、セルの重複範囲を移動する間に現在接続されているＡＰの電波強度が弱くなると、セッションを維持しながら接続するＡＰを自動的に切り換える。ＳＴＡが接続するＡＰを変更することをローミングまたはハンドオーバという。ＳＴＡが接続するＡＰを変更すると変更後のＡＰのＤＨＣＰサーバによりＩＰアドレスが付与され、変更前のＡＰのＤＨＣＰサーバが付与していたＩＰアドレスは解放されて他のＳＴＡに付与できるようになる。
【００３２】
図２は、ＩＥＥＥ８０２．１１に規定するアドホック・モードの無線ＬＡＮシステム５０のネットワーク構成を示す図である。各ＳＴＡは、インフラ・モードでバックボーン・ネットワーク１１に接続して相互通信できることに加え、アドホック・モードのネットワーク（以下、アドホック・ネットワークという。）を構成して相互に無線通信をすることができる。アドホック・モードではＡＰを経由しないで直接相互に通信をすることができる。アドホック・モードで相互に通信が可能な複数のＳＴＡの集合を独立サービス・セット（ＩＢＳＳ）という。ＩＢＳＳは、ＢＳＳからは独立しており複数のＢＳＳに属するＳＴＡを含んで構成することができる。
【００３３】
アドホック・ネットワークは、他のＳＴＡと通信を開始しようとするいずれのＳＴＡでも構築することができる。アドホック・ネットワークは、アドホック・ネットワークを構築したＳＴＡの電波が届く範囲に存在する各ＳＴＡの間で形成される。図２では、ＳＴＡ２０−１が構築したアドホック・ネットワーク５１とＳＴＡ３０−３が構築したアドホック・ネットワーク５３が示されている。同じアドホック・ネットワークに存在しないＳＴＡ２０−１とＳＴＡ３０−３は直接通信ができないが、後に説明するＡＰの性能情報およびＡＰに対するＳＴＡの接続情報などの共有情報は、両方のアドホック・ネットワーク５１、５３のメンバーであるＳＴＡ４１またはＳＴＡ４３を通じて交換することができる。
【００３４】
本発明においては、各ＳＴＡはあらかじめ通信チャネルおよびＳＳＩＤを統一しておき共有鍵を保有することでアドホック・ネットワークのメンバーになったいずれのＳＴＡとも相互に通信できるようになっている。図２では、ＳＴＡ２０−１、３０−３が他のＳＴＡと通信できる様子を示しているが、他のＳＴＡがアドホック・ネットワークを構築した場合も同様に相互に通信できる。アドホック・モードでは、アクティブ・スキャニング方式を採用していずれかの通信を開始したいＳＴＡがプローブ要求フレームを送信し、それに対してプローブ応答フレームを返信したＳＴＡと通信することができる。また、アドホック・モードでは、パッシブ・スキャニング方式を採用して、各ＳＴＡが送信するビーコン・フレームを受信して当該ＳＴＡと通信することができる。本発明においてはアドホック・モードでの通信方式は周知の範囲である。
【００３５】
［ＳＴＡの構成］
図３は、各ＳＴＡのハードウエア構成を示す概略のブロック図である。ＳＴＡ１００はノートＰＣであるが、特にこれに限定するものではなく同様の機能を備えるＰＤＡやスマートフォンなどの無線端末装置とすることができる。ＳＴＡ１００は中央演算処理装置（ＣＰＵ）１０１、メイン・メモリ１０３、ディスク・ドライブ１０５、液晶ディスプレイ装置（ＬＣＤ）１０７、入出力デバイス１０９および無線コントローラ１１１がバス１１５に接続されている。ディスク・ドライブ１０５には、本実施の形態に関わるプログラムが格納されている。無線コントローラ１１１には、アンテナ１１３が接続されている。
【００３６】
無線コントローラ１１１は送信機および受信機として動作する。無線コントローラ１１１は、バス１１５と無線媒体との間でＩＰパケットを双方向に転送する際のバッファ機能を含む。無線コントローラ１１１は、送信時にＩＰパケットにＭＡＣヘッダを付加してＭＡＣフレームを生成したり、受信時にＭＡＣフレームからＭＡＣヘッダを除去したりするプロトコル変換機能を含む。無線コントローラ１１１はさらに送信時にデータを符号化および変調してアンテナ１１３に高周波信号として出力する機能および受信時に復調、および誤り訂正処理をする機能を含む。なお、無線コントローラ１１１の機能は周知である。
【００３７】
図４は、ＳＴＡ１００が自律的にＡＰの負荷を調整するためのソフトウエアおよびハードウエアの構成を示す図である。接続ユーティリティ１５５は、ＳＴＡ１００をＡＰに接続したり他のＡＰにローミングしたりするための処理をする周知の機能を含むソフトウエアである。接続ユーティリティ１５５はまたトラフィック・テーブル１５７を参照して、自律的にＡＰの負荷調整をするための新規な機能を含む。トラフィック・テーブル１５７は、各ＡＰの負荷に関する性能を示す性能情報およびＡＰに接続するＳＴＡの接続状態を示す接続情報を記憶するためにメイン・メモリ１０３上の記憶領域に形成される。接続ユーティリティ１５５の新規な機能およびトラフィック・テーブル１５７のデータ構造については後に詳細に説明する。アプリケーション１５９は、オペレーティング・システム（ＯＳ）１５３上で動作してバックボーン・ネットワーク１１のサーバとデータの送受信するＷｅｂブラウザ、メーリング・ソフトウエアなどである。アプリケーション１５９は、ＯＳＩ参照モデルのアプリケーション層、プレゼンテーション層およびセッション層を形成する。
【００３８】
ＯＳ１５３は、Ｗｉｎｄｏｗｓ７（登録商標）を採用することができる。Ｗｉｎｄｏｗｓ７は、１つの無線コントローラ１１１を仮想化して複数の無線コントローラに見せかける「Ｖｉｒｔｕａｌ  ＷｉＦｉ」といった機能や、ＡＰの機能をエミュレートする「Ｓｏｆｔ  ＡＰ」といった機能を搭載している。デバイス・ドライバ１５１は、無線コントローラ１１１の動作およびデータ転送を制御するソフトウエアであるが、Ｗｉｎｄｏｗｓ７の下では無線コントローラ１１１を同時にインフラ・モードとアドホック・モードで動作させることができる。
【００３９】
したがって、ＳＴＡ１００は、たとえばアプリケーション１５９が、無線コントローラ１１１のインフラ・モードを利用してバックボーン・ネットワーク１１と通信している間に、そのセッションを切断することなくアドホック・モードで他のＳＴＡと通信することができる。ＳＴＡ１００は、インフラ・モードの無線コントローラとアドホック・モードの無線コントローラを個別に搭載して仮想化の機能を含まないＯＳを採用することもできる。ＯＳ１５３は、ＯＳＩ参照モデルのトランスポート層およびネットワーク層を形成する。
【００４０】
デバイス・ドライバ１５１は、無線コントローラ１１１がＡＰとの間でデータ転送するときの単位時間当たりのデータ転送量であるトラフィックを測定することができる。接続ユーティリティ１５５は、定期的にデバイス・ドライバ１５１から現在のトラフィックを受け取ることができる。デバイス・ドライバ１５１は、ＡＰが発信するビーコン・フレームの電波強度（ＲＳＳＩ）および信号対雑音比（ＳＮ比）を測定して接続ユーティリティ１５５に送ることができる。ＲＳＳＩおよびＳＮ比は、ＡＰとＳＴＡの間の伝送速度を決める通信品質のパラメータとなる。デバイス・ドライバ１５１は、ＯＳＩ参照モデルのデータリンク層を形成する。無線コントローラ１１１はＯＳＩ参照モデルの物理層を形成する。
【００４１】
図４に示した接続ユーティリティ１５５、トラフィック・テーブル１５７、ＯＳ１５３およびデバイス・ドライバ１５１は、メイン・メモリ１０３にロードされてＣＰＵ１０１により実行される際に、ＳＴＡ１００のハードウエアと協働してさまざまな機能を実現する。たとえば、接続ユーティリティ１５５、ＯＳ１５３およびデバイス・ドライバ１５１は、ＡＰの性能情報を取得する手段を構成したり、接続情報をアドホック・モードで通信して他のＳＴＡと交換する手段を構成したり、性能情報と接続情報に基づいて接続先のＡＰを決定する手段を構成する。なお、これらの手段は、図４に示した構成に限定されるものではなく、他のソフトウエアおよび他のハードウエアまたはいずれかを追加して構成する場合も当業者が本発明に基づいて選択可能な範囲で本発明に含まれる。
【００４２】
なお、図３、図４は本実施の形態を説明するために必要なハードウエアおよびソフトウエアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ＳＴＡ１００を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図で記載した複数のブロックを１個の集積回路またはプログラム・モジュールとしたり、逆に１個のブロックを複数の集積回路またはブログラム・モジュールに分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【００４３】
［トラフィック・テーブルのデータ構造］
図５は、ＳＴＡ１００が保有するトラフィック・テーブル１５７のデータ構造を示す図で、図６はデバイス・ドライバ１５１が測定したトラフィックから、接続ユーティリティ１５５がデータの所定時間当たりの平均データ転送量に相当する平均トラフィック（単位：ｂｐｓ）を計算する方法を説明する図ある。ＳＴＡ１００は、いま、ＢＳＳ２２に帰属していると想定する。
【００４４】
トラフィック・テーブル１５７には、ＳＴＡ１００が自ら帰属するＢＳＳ２２のＡＰ２０およびＡＰ２０とセルの重複範囲を形成するＢＳＳ３２のＡＰ３０のそれぞれのＳＳＩＤ、ＭＡＣアドレス、最大接続可能数、接続数閾値、スループット、およびトラフィック閾値が登録されている。これらのデータはＡＰから直接取得したり、あらかじめネットワーク管理者により各ＳＴＡに提供されたりして、ディスク・ドライブ１０５に格納されている。あるいは、これらのデータは、ＳＴＡ１００が他のＳＴＡとアドホック・モードで通信してメイン・メモリ１０３上のトラフィック・テーブル１５７に記憶するようにしてもよい。
【００４５】
ＳＳＩＤはネットワーク管理者がＡＰに付与したネットワーク上の名称で複数のＡＰが存在する場合を考慮してＥＳＳＩＤという場合もある。ＳＳＩＤに対応するＭＡＣアドレスはＢＳＳＩＤともいわれ、ＡＰに接続する前にＳＴＡ１００はＡＰが発信したビーコン・フレームから取得することができる。各ＳＴＡは、メイン・メモリ１０３にトラフィック・テーブル１５７を形成して、いずれかのＡＰからビーコン・フレームを受信すると、そのＳＳＩＤとＭＡＣフレームを最初にトラフィック・テーブル１５７に記憶する。
【００４６】
最大接続可能数、接続数閾値、スループット、およびトラフィック閾値はＡＰの性能を示す性能情報でＡＰごとに一意に決まる。各ＡＰの性能情報は、あらかじめ各ＳＴＡのディスク・ドライブ１０５にＡＰのＭＡＣアドレスに関連付けて格納されている。したがって接続ユーティリティ１５５は、トラフィック・テーブル１５７に記憶したＡＰ２０、３０のＭＡＣアドレスに対応する性能情報をディスク・ドライブ１０５から読み出してトラフィック・テーブル１５７に記憶する。あるいは、ＳＴＡ１００は性能情報をアドホック・モードで通信して他のＳＴＡから受け取ることもできる。
【００４７】
なお、性能情報はＡＰをスキャンする際にパッシブ・スキャニング方式のビーコン・フレームやアクティブ・スキャニング方式のプローブ応答フレームなどのマネージメント・フレームの中に含めておき、各ＳＴＡがＡＰに接続する前に取得して接続先を決定できるようにしてもよい。このようなマネージメント・フレームには、可変長のベンダが自由に使用できるフィールド（Vendor Specific）が定義されているので、そこに性能情報を含めることができる。このようにＡＰから性能情報を直接取得できるようにすれば、ＡＰが変更された場合の対応が容易であり、また、あらかじめ各ＳＴＡに性能情報を格納するための製造工程を省くことができる。
【００４８】
最大接続可能数は、ＩＰアドレスの数の制限または各ＳＴＡのトラフィックを所定の範囲に維持するために設定した当該ＡＰに対して可能なＳＴＡの接続総数の上限を示す。接続数閾値は、最大接続可能数に基づいてそれより小さい値として設定した基準値である。スループットは、ＡＰの最大転送速度を示す。トラフィック閾値はスループットに基づいてそれより小さい値として設定した基準値である。接続数閾値およびトラフィック閾値は、セルの重複範囲に存在するＳＴＡが新規にＢＳＳ２２またはＢＳＳ３２のいずれに参加するか自律的に判断するために各ＡＰに設定した基準値である。
【００４９】
接続数閾値およびトラフィック閾値はまた、セルの重複範囲に存在するＳＴＡ１００が一旦参加したＢＳＳ２２から他のＢＳＳ３２にローミングするか否かを自律的に判断するために現在参加しているＢＳＳ２２に対して設定した基準値でもある。さらに接続数閾値およびトラフィック閾値はセルの重複範囲に存在するＳＴＡ１００が一旦参加したＢＳＳ２２から他のＢＳＳ３２にローミングするか否かを自律的に判断するためにローミング先のＢＳＳ３２に対して設定した基準値でもある。なお、接続数閾値とトラフィック閾値は、上記のように３つの目的で使用されるが、これらは目的に応じて異なる値にすることも可能である。
【００５０】
トラフィック・テーブル１５７には、ＡＰ２０に接続されている各ＳＴＡの識別子であるＭＡＣアドレスに対応する平均トラフィックとＡＰ３０に接続されている各ＳＴＡのＭＡＣアドレスに対応する平均トラフィックが記憶されている。識別子とトラフィックは、ＳＴＡの接続状態を示す接続情報である。ＳＴＡ１００がＡＰ２０に接続してアプリケーション１５９の要求でデータ転送をしている間、接続ユーティリティ１５５は定期的にデバイス・ドライバ１５１からトラフィック１６１（図６）を受け取る。デバイス・ドライバ１５１がトラフィックを計算するときの単位時間は比較的短いので変動が大きく、ＡＰの負荷の大きさを判断するためのトラフィックの総和を計算するデータには適さない。接続ユーティリティ１５５は、デバイス・ドライバ１５１から受け取ったトラフィックを所定時間ｔｍだけ観測してその間の総データ転送量を所定時間ｔｍで除して平均トラフィックを計算する。
【００５１】
接続ユーティリティ１５５はさらに所定時間ｔｓごとの平均トラフィックを移動平均として計算する。一例として所定時間ｔｍを５分とし、所定時間ｔｓを１分とすることができる。ＳＴＡ１００は、トラフィックの５分間ごとの移動平均を１分毎に計算して自らのトラフィック・テーブル１５７の自らのＭＡＣアドレスに対応させて記憶する。各ＳＴＡは、自らの平均トラフィックを更新するたびに、そのデータをアドホック・モードで他のＳＴＡに通知する。あるいは各ＳＴＡは所定の時間ｔｓごとに他のＳＴＡに要求して最新の平均トラフィックを取得することができる。
【００５２】
図５のトラフィック・テーブル１５７には、このようにしてＳＴＡ１００が自ら計算した平均トラフィックおよび他のＳＴＡから受け取った当該他のＳＴＡの平均トラフィックが記憶されている。接続ユーティリティ１５５は、アドホック・モードで通信してＢＳＳ２２およびＢＳＳ３２に接続されている各ＳＴＡから受け取ったＭＡＣアドレスと平均トラフィックから、各ＡＰに現在接続されているＳＴＡの接続総数と各ＡＰに対する各ＳＴＡの平均トラフィックの総和を計算してトラフィック・テーブル１５７に記憶する。トラフィック・テーブル１５７には、ＡＰ２０では接続数閾値が２８については現在の接続総数が５、トラフィック閾値が７００に対して平均トラフィックの総和が７５０として記憶されている。また、ＡＰ３０については接続数閾値が２３に対して現在の接続総数が４、トラフィック閾値が５００に対して平均トラフィックの総和が２２０として記憶されている。
【００５３】
トラフィック・テーブル１５７には、各ＳＴＡのＭＡＣアドレスに対応してローミング・フラグのフィールドが設けられている。ローミング・フラグは、セルの重複範囲において接続可能な複数のＡＰを検出したＳＴＡが、接続数閾値と現在の接続総数を比較した結果またはトラフィック閾値と平均トラフィックの総和を比較した結果に基づいて、電波強度の弱いＡＰに接続することになったときに、当該ＳＴＡが自らのＭＡＣアドレスに設定する。ローミング・フラグは、後に電波強度の強いＡＰへのローミングが可能になったときに、各ＳＴＡが自らローミングの対象であることを判断するために使用される。
【００５４】
接続可能なＡＰが３台以上ある場合にローミング先のＡＰを特定するために、ＢＳＳに新規に参加する際に接続できなかった電波強度の強いＡＰの識別子をローミング・フラグに付加しておくことができる。また、接続できなかった同一のＡＰに対するローミング・フラグが設定されたＳＴＡが複数存在する場合にローミングの優先順位を決めるために、ローミング・フラグにタイムスタンプを付加して、電波強度の弱い同一のＡＰに接続された順番にローミングできるようにすることもできる。図５では、ＳＴＡ４３が、電波強度の強いＡＰ２０に対するＳＴＡの平均トラフィックの総和がトラフィック閾値を超えていたために自律的に判断して電波強度の弱いＡＰ３０に接続した際に、自らがローミング・フラグを設定した様子が示されている。トラフィック・テーブル１５７に記憶される性能情報と接続情報は、アドホック・ネットワークを通じて各ＳＴＡの間で共有されるためこれを共有情報ということにする。
【００５５】
［ＢＳＳに新規に参加する場合の負荷調整の手順］
図７は、図１のＳＴＡ４５がＢＳＳ２２またはＢＳＳ３２に新規に参加する際に自ら接続先のＡＰを決定して負荷を調整する手順を示すフローチャートである。ブロック２０１では、図１に示すように無線ＬＡＮシステム１０にＢＳＳ２２とＢＳＳ３２が構築されている。ブロック２０３では、各ＳＴＡが図５に示すトラフィック・テーブル１５７に記憶した共有情報をアドホック・モードで通信して定期的に更新している。共有情報には、アドホック・ネットワークを構成する各ＳＴＡが接続されているＡＰ２０、３０の性能情報と各ＳＴＡの接続情報が含まれている。いまだ、いずれのＡＰにも接続していないＳＴＡ４５の接続ユーティリティ１５５は、ＡＰが発信するビーコン・フレームを受信して接続が可能なＡＰを探索している。ブロック２０５ではＳＴＡ４５がＢＳＳ２２とＢＳＳ３２のセルの重複範囲に入る。
【００５６】
なお、ＳＴＡ４５はＢＳＳ２２またはＢＳＳ３２のセルの単独範囲から新規にＢＳＳに参加することもあるが、接続先のＡＰを選択する余地はないのでＡＰの負荷調整は行わない。ＡＰ２０、３０は、それぞれ定期的にビーコン・フレームを発信している。ビーコン・フレームは、当該ＡＰのＳＳＩＤ、使用可能な無線チャネル、およびサポートしている伝送レートなどの情報を含んでいる。セルの重複範囲まで移動したＳＴＡ４５の接続ユーティリティ１５５は、デバイス・ドライバ１５１から、ＡＰ２０とＡＰ３０がそれぞれ発信したビーコン・フレームを受け取りそれらのＳＳＩＤから接続が可能なＡＰ２０、３０の存在を認識する。デバイス・ドライバ１５１は、受信したビーコン・フレームからＡＰ２０，３０の電波強度を計測し、接続ユーティリティ１５５に送る。
【００５７】
ＳＴＡ４５の接続ユーティリティ１５５は、接続可能な複数のＡＰを検出したときには従来のように電波強度が大きなＡＰに対する認証作業を開始する前に、アドホック・モードで通信していずれかのＳＴＡからトラフィック・テーブル１５７に記憶された共有情報を取得するように構成されている。なお、ＳＴＡ４５は、ＡＰ２０、３０のビーコン・フレームからそれらのＭＡＣアドレスを取得したときには、自らのディスク・ドライブ１０５からＡＰ２０、３０の性能情報をトラフィック・テーブルに読み出すようにしてもよい。
【００５８】
ブロック２０７では、ＳＴＡ４５がアドホック・ネットワークを開設して、ＢＳＳ２２またはＢＳＳ３２を構成するいずれかのＳＴＡと通信し共有情報を取得して自らのトラフィック・テーブル１５７に記憶する。ＳＴＡ４５が最初に接続したいずれかのＳＴＡからセルの重複範囲を形成しているＡＰ２０およびＡＰ３０に関する共有情報を取得すると、接続ユーティリティ１５５は以下の手順でいずれのＡＰに接続すべきかを自律的に判断する。ここに自律的な判断とは、バックボーン・ネットワーク１１に接続されたサーバやＡＰから支援を受けないで、各ＳＴＡがトラフィック・テーブル１５７の共有情報だけに基づいて自ら判断することを意味する。
【００５９】
ここで、ＳＴＡ４５はビーコン・フレームの電波強度が、ＡＰ２０の方がＡＰ３０よりも強いと判断したものとする。ブロック２０９で接続ユーティリティ１５５はトラフィック・テーブル１５７を参照して、最初に電波強度が強いＡＰ２０の接続数閾値と現在の接続総数に基づいてＡＰ２０への接続が可能か否かを判断する。現在の接続総数が接続数閾値以下の場合は、ブロック２１１に移行する。ブロック２１１ではＳＴＡ４５の接続ユーティリティ１５５がトラフィック・テーブル１５７を参照して、ＡＰ２０に接続されているＳＴＡの平均トラフィックの総和がトラフィック閾値以下であるか否かを判断する。平均トラフィックの総和がトラフィック閾値以下の場合は、ＳＴＡ４５はＡＰ２０とＡＰ３０の間の負荷バランスの上でＡＰ２０に接続することができると判断してブロック２１３に移行する。ブロック２１３でＳＴＡ４５はＡＰ２０に接続し、ブロック２１５で自らの平均トラフィックをトラフィック・テーブルに記憶するとともにアドホック・モードで通信して他のＳＴＡと共有情報を交換する。
【００６０】
ブロック２０９で現在の接続総数が接続数閾値を越えている場合またはブロック２１１で平均トラフィックの総和がトラフィック閾値を越えている場合はＡＰ２０とＡＰ３０の間の負荷バランスの上でＡＰ２０に接続できないと判断してブロック２１９に移行する。ブロック２１９では、接続ユーティリティ１５５はトラフィック・テーブル１５７を参照し、電波強度が弱いＡＰ３０への接続が可能か否かを判断する。ＡＰ３０の現在の接続総数が接続数閾値以下の場合は、ブロック２２１に移行する。ブロック２２１ではＳＴＡ４５の接続ユーティリティ１５５がトラフィック・テーブル１５７を参照して、ＡＰ３０に接続されているＳＴＡの平均トラフィックの総和がトラフィック閾値以下であるか否かを判断する。ＡＰ３０に接続された各ＳＴＡの平均トラフィックの総和がトラフィック閾値以下の場合は、ＳＴＡ４５は負荷バランスの上でＡＰ３０に接続することができると判断してブロック２２３に移行する。
【００６１】
ブロック２１９でＡＰ３０の現在の接続総数が接続数閾値を超えている場合、またはブロック２２１でＡＰ３０の平均トラフィックの総和がトラフィック閾値を超えている場合は、ブロック２１３に移行する。ブロック２０９とブロック２１１は、両方成立したときに成立するＡＰ２０の接続条件に相当し、ブロック２１９とブロック２２１は両方成立したときに成立するＡＰ３０の接続条件に相当する。ＡＰ２０の接続条件とＡＰ３０の接続条件がいずれも成立しない場合は、ＳＴＡ４５はブロック２１３でＡＰ２０に接続する。ＡＰ２０の接続条件が成立しない場合でも、現在の接続総数が最大接続可能数以下でかつ平均トラフィックの総和がスループット以下の場合は、各ＳＴＡは全体的にトラフィック低下の影響を受けるがＳＴＡ４５を接続することは可能である。そして、ＡＰ２０とＡＰ３０の接続条件が成立しない場合には、ＳＴＡ４５をいずれのＡＰ２０、３０にも接続させない方法よりも、電波強度が強いＡＰ２０に接続させる方法の方がサービス上は望ましい。
【００６２】
図５に示したトラフィック・テーブル１５７の共有情報によれば、ＡＰ２０に接続されている各ＳＴＡの平均トラフィックの総和はトラフィック閾値を超えているため接続条件が成立せず、かつ、ＡＰ３０では現在の接続数が接続数閾値以下で平均トラフィックの総和がトラフィック閾値以下なので接続条件が成立するため、ＳＴＡ４５は自らＡＰ３０を接続先のＡＰとして決定する。ブロック２２３では、ＳＴＡ４５の接続ユーティリティ１５５は、ＡＰ３０に対する接続を開始する。最初に、ＳＴＡ４５はＡＰ３０に自らのＭＡＣアドレスを含む管理フレームを送り認証を要求する。ＡＰ３０は共通鍵認証またはオープン認証などのＭＡＣレイヤでの認証処理をして応答する。つぎに、ＳＴＡ４５はＡＰ３０に対して管理フレームを送りアソシエーション要求をする。
【００６３】
ＳＴＡ４５とＡＰ３０が相互に通信パラメータを設定してアソシエーションが完了すると、ＡＰ３０のＤＨＣＰサーバはＳＴＡ４５にＩＰアドレスを付与する。その後、ＡＰ３０は認証サーバ１３にＳＴＡ４５の認証を取り次いでＳＴＡ４５が認証サーバ１３により認証される。認証サーバ１３からＡＰ３０にＳＴＡ４５との間で使用する暗号鍵が送られて設定されるとＳＴＡ４５はバックボーン・ネットワーク１１に対するデータ通信が可能になりＢＳＳ３２に対する参加が完了する。ＳＴＡ４５は、ＡＰ３０に接続されたときに自らのトラフィック・テーブル１５７にローミング・フラグを設定する。
【００６４】
ＢＳＳ３２に参加したＳＴＡ４５のアプリケーション１５９は、バックボーン・ネットワーク１１に接続されたＷｅｂサーバや、ＡＰに接続された他のＳＴＡとデータ通信を開始する。ブロック２２５で、接続ユーティリティ１５５はデバイス・ドライバ１５１からトラフィックを受け取って所定時間ｔｍごとの平均トラフィックの計算を開始して所定時間ｔｓごとにそれを自らのトラフィック・テーブル１５７に記憶する。そしてブロック２０３と同様にＳＴＡ４５を含めた複数のＳＴＡがアドホック・モードで定期的に通信して相互に共有情報を交換する。
【００６５】
これまでは、ＡＰ２０に対するＳＴＡの現在の接続総数が最大接続可能数以下であれば、ＳＴＡ４５は電波強度が大きいＡＰ２０に接続していた。その結果、ＡＰ２０の現在の接続総数が最大接続可能数に到達しているときには、ＢＳＳ２２の他のＳＴＡがＢＳＳ３２に参加することができる場合であっても、ＡＰ２０のセルの単独範囲からはＢＳＳ２２に参加することができなくなっていた。また、ＳＴＡ４５の参加によりＡＰ２０に対する平均トラフィックの総和がＡＰ２０のスループットに近づいたり越えたりして、ＢＳＳ２２を構成するＳＴＡのトラフィックが全体的に低下することになっていた。しかし、上記の手順によれば、現在の接続総数または平均トラフィックの総和に対するＡＰ２０の余裕がＡＰ３０の余裕に比べて小さいとＳＴＡ４５が判断した場合は、余裕が大きいＡＰ３０に接続するので、上記のような問題は解消する。
【００６６】
ブロック２０９、２１１は、電波強度の強いＡＰ２０の接続条件でブロック２１９、２２１は電波強度の弱いＡＰ３０の接続条件に相当する。電波強度の強いＡＰ２０の２つの接続条件がいずれも満たされたときはＳＴＡ４５が電波強度の強いＡＰ２０に接続する。電波強度の強いＡＰ２０の２つの接続条件のいずれかが満たされず、かつ、電波強度の弱いＡＰ３０の２つの接続条件がいずれも満たされたときはＳＴＡ４５が電波強度の弱いＡＰ３０に接続する。ＳＴＡ４５が一旦電波強度の弱いＡＰ３０に接続されたあとに、ＢＳＳ２２の接続総数または平均トラフィックの総和が変化することがある。
【００６７】
ＳＴＡ４５にとっては、現在の位置から移動しない限りは電波強度の強いＡＰ２０に接続したほうが伝送速度は大きくなるので、ＡＰ２０に余裕がでてきた場合は、それを検知してＡＰ２０にローミングすることが望ましい。ブロック２２５では、ローミング・フラグを設定したＳＴＡ４５は、自らローミングの対象であることを認識する。そしてＳＴＡ４５はＡＰ２０のローミング受け入れ条件が成立したときには自らがローミングすると決定する。ローミング受け入れ条件は、電波強度の強いＡＰ２０の接続総数が接続数閾値以下で、かつ、平均トラフィックの総和がトラフィック閾値以下のときに成立する。
【００６８】
ローミング受け入れ条件は、ローミング元の電波強度の弱いＡＰ３０の接続総数または平均トラフィックの総和とは無関係である。ローミング受け入れ条件が成立しない場合は、ブロック２２３に戻ってＳＴＡ４５はＡＰ３０への接続を維持する。ローミング受け入れ条件が成立した場合は、ブロック２１３に移行してＳＴＡ４５は接続先のＡＰをＡＰ３０からＡＰ２０に変更する。ここでのローミングは、ＳＴＡ４５が移動してＡＰ３０の電波強度が弱くなったときに発生する通常のローミングとは異なり、ＳＴＡ４５が移動していない場合でもローミング先の電波強度の強いＡＰ２０の接続総数および平均トラフィックの総和またはいずれか一方の変化により発生する。
【００６９】
ここでは、セルの重複範囲が２つのセルで形成される場合を例示して説明したが、上記の手順はセルの重複範囲が３つ以上のセルで形成される場合にも適用することができる。この場合は、ＳＴＡはトラフィック・テーブル１５７を参照することで、電波強度の大きなＡＰから順番にブロック２０９とブロック２１１およびブロック２１９とブロック２２１の接続条件を判断する手順を繰り返して、接続条件を満たすＡＰの中で最も電波強度が大きなＡＰを自らの判断で選択して接続する。
【００７０】
また、ブロック２０９および２１１またはブロック２１９および２２１の接続条件で使用した接続数閾値およびトラフィック閾値とブロック２２７で使用したローミング受け入れ条件で使用した接続数閾値およびトラフィック閾値は異なる値にすることができる。この場合、ローミングにより双方のＡＰの性能と負荷に対する余裕の関係が逆転しないように場合によってはローミング受け入れ条件の閾値を接続条件の閾値をよりも小さくして、接続時よりもローミング時の条件を厳しくするなどの工夫をすることが望ましい。
【００７１】
［ＢＳＳに参加したあとの負荷調整の手順］
セルの重複範囲を共有する複数のＢＳＳにおいては、複数のＢＳＳ全体を構成する各ＳＴＡのトラフィックが全体として最大になることが理想である。また、セルの単独範囲からＢＳＳに参加するＳＴＡが当該ＡＰに対する接続総数の制限により接続できないような状態がないように複数のＢＳＳ全体で対処できることが望ましい。一方、すでにいずれかのＡＰに接続しているＳＴＡは、無線通信をしなくても通常はＳＴＡの動作を停止したりセルの範囲外に移動したりする以外は当該ＡＰへの接続を切断することはない。また、ＡＰに接続された各ＳＴＡのトラフィックはユーザの作業の変化に応じて時間的に変動し、一方のＢＳＳの負荷が大きく他方のＢＳＳの負荷が小さいといったような負荷のアンバランスが生ずる。本発明にかかるＳＴＡは共有情報を利用して、このような問題を自律的に解決することができる。
【００７２】
図１の無線ＬＡＮシステム１０で具体的に説明すると、ＢＳＳ２２とＢＳＳ３２のセルの重複範囲に存在するＳＴＡ４１は、ＡＰ２０の電波強度がＡＰ３０よりも強いとすれば、ＡＰ２０に対する平均トラフィックの総和がスループットに対して十分に小さければＡＰ２０に接続したほうが、伝送速度が向上するので好ましいといえる。しかし、ＡＰ２０に対する平均トラフィックの総和がスループットに近づいてくると、ＢＳＳ２２を構成する各ＳＴＡの平均トラフィックは全体的に低下する。この場合、もし、ＡＰ３０の平均トラフィックの総和がスループットに対して十分に小さければ、ＳＴＡ４１がＡＰ３０にローミングすることでＢＳＳ３２の各ＳＴＡのトラフィックの低下を招かないようにしながらＢＳＳ２２のトラフィックを改善することができる。また、もし、ＢＳＳ２２に３０台のＳＴＡが接続されているときにＳＴＡ４１がＡＰ３０にローミングして接続総数が２９になれば、新たにＳＴＡ４５がセルの単独範囲からＢＳＳ２２に参加することもできる。
【００７３】
図８はすでにＢＳＳに参加しているＳＴＡが自らローミングしてＡＰの負荷調整をする手順を示すフローチャートである。本手順においては一例としてＳＴＡ４１が現在接続しているＡＰ２０と、ローミングが可能なＡＰ３０のそれぞれの性能情報と接続情報に基づいて、ローミングするか否かを自ら判断する。通常のローミングはＳＴＡ４１が移動して現在接続しているＡＰ２０の電波強度が低下するときに発生するが、本手順におけるローミングはＳＴＡ４１の移動とは無関係に、現在のＢＳＳ２２における平均トラフィックの総和または現在の接続総数に基づいて行われる。ブロック３０１では、図１に示すように無線ＬＡＮシステム１０にＢＳＳ２２とＢＳＳ３２が構築されている。ブロック３０３では、ＢＳＳ２２とＢＳＳ３２を構成する各ＳＴＡが共有情報を定期的に交換してトラフィック・テーブル１５７に記憶している。
【００７４】
ブロック３０５では、ＳＴＡ４１がトラフィック・テーブル１５７を参照して自らが接続しているＡＰ２０に対する平均トラフィックの総和がトラフィック閾値を超えたか否かを判断し、越えた場合はこれ以上ＡＰ２０に対する平均トラフィックの総和が上昇すると各ＳＴＡのトラフィックが低下する可能性がでてくるのでブロック３０９に移行する。
【００７５】
平均トラフィックの総和がトラフィック閾値以下の場合は、ブロック３０７に移行してＳＴＡ４１は自らが接続しているＡＰの現在の接続総数が接続数閾値を超えたか否かまたは最大接続可能数に達したか否かを判断し、接続数閾値を超えた場合または最大接続可能数に達した場合はブロック３０９に移行する。接続数閾値以下の場合または最大接続可能数未満の場合はブロック３０３に戻って、ブロック３０５またはブロック３０７のいずれか一方の条件が成立するまでＳＴＡ４１はローミングしない。ブロック３０５とブロック３０７は、ローミング元のＢＳＳ２２に関して設定されたローミングの条件で、いずれか一方の条件が満たされるとローミング元のＡＰ２０におけるローミング条件が成立する。
【００７６】
ブロック３０９では、ＳＴＡ４１はローミングが可能なＡＰを自ら有しているか否かを判断する。ローミングが可能なＡＰを保有するＳＴＡはセルの重複範囲に存在して、複数の接続可能なＡＰのＳＳＩＤを検出したＳＴＡである。ＳＴＡ４１はローミングが可能なＡＰ３０を有するためブロック３１１に移行する。もし、いずれのＳＴＡもセルの単独範囲に存在してローミング可能なＡＰを保有しない場合はＢＳＳ２２およびＢＳＳ３２からはいずれのＳＴＡもローミングしないで、ブロック３０３に戻って各ＳＴＡは共有情報を更新したあとに再度ローミング条件を判断する。
【００７７】
図１の無線ＬＡＮシステム１０では、ＳＴＡ４１、４３がセルの重複範囲に存在しておりローミングが可能であるが、ここではＢＳＳ２２がローミング元のローミング条件を満たし、ＢＳＳ３２はローミング条件を満たしていないものと想定する。ブロック３１１では、ローミング条件が成立したＡＰ２０に接続されかつローミング可能なＡＰを保有するＳＴＡ４１（以下、ローミング可能なＳＴＡという。）が、自ら今回ローミングするＳＴＡであるか否かを判断する。ローミング可能なＳＴＡが１台の場合は、必然的に当該ＳＴＡが自らローミングするＳＴＡであると判断する。
【００７８】
ＢＳＳ２２ではローミング可能なＳＴＡがＳＴＡ４１の１台だけであるためＳＴＡ４１は自らローミングの対象であると判断する。ローミング可能なＳＴＡの台数が複数の場合は、各ＳＴＡの接続ユーティリティ１５５はトラフィック・テーブル１５７を参照して自らがローミングの対象であるか否かを独自に判断する。平均トラフィックの総和に関するブロック３０５のローミング条件が成立している場合は、平均トラフィックの総和を緩和するためにローミング可能な複数のＳＴＡの中で平均トラフィックが最大のＳＴＡが、自らがローミングの対象であると判断するようにしてもよい。
【００７９】
あるいは、ローミング可能な複数のＳＴＡの中で平均トラフィックが最も小さい方から順番に数えた所定数までのＳＴＡが、自らがローミングの対象であると判断するようにしてもよい。前者は、当該ＳＴＡがＡＰのトラフィックの緩和に最も有効であり、後者は当該ＳＴＡ自身がローミングによるトラフィックの中断の影響が少ないという利点がある。現在の接続総数に関するブロック３０７のローミング条件が成立している場合は、ローミングするＳＴＡのトラフィックに影響を与えないで接続総数を緩和するためにローミング可能な複数のＳＴＡの中で平均トラフィックが最小のＳＴＡが、自らがローミングの対象であると判断することが望ましい。
【００８０】
ローミングすることでＡＰの負荷調整ができるといえるためには、ローミング先のＡＰのスループットおよび最大接続可能数に大きな影響がでないようにする必要がある。ブロック３１３では、自らがローミングの対象であると判断したＳＴＡ４１がローミング可能なＡＰのローミング受け入れ条件が成立しているか否かを判断する。ローミング受け入れ条件は、ローミング可能なＡＰ３０の現在の接続総数が接続数閾値以下で、かつ、平均トラフィックの総和がトラフィック閾値以下のときに成立する。ローミング受け入れ条件が成立したＢＳＳが存在しない場合は、ＳＴＡ４１はローミングしない。
【００８１】
ローミング条件とローミング受け入れ条件はともにトラフィック閾値と平均トラフィックの総和の比較および接続数閾値と現在の接続総数の比較により判断する。ここでローミング条件とローミング受け入れ条件は、ローミングによりローミング元とローミング先で性能情報と接続情報の関係、すなわち負荷に対する余裕の関係が逆転することがないように、トラフィック閾値と接続数閾値を異なる値に設定することが望ましい。たとえばローミング元のＡＰとローミング先のＡＰの性能が同じ場合は、ローミング先のトラフィック閾値と接続数閾値をローミング元のそれらより小さい値にしておけば、ローミングによりローミング先のＡＰに対する負荷が増大してもそこに帰属しているＳＴＡに与える影響を軽減することができる。ローミング元のＡＰとローミング先のＡＰの性能が異なる場合は、それぞれのＡＰの性能を考慮してトラフィック閾値と接続数閾値を設定することで負荷に対する余裕の逆転を防止することができる。
【００８２】
ブロック３１５では、ローミング先のＡＰを決定する。ローミング受け入れ条件が成立したＡＰが図１のようにＡＰ３０の１台だけの場合はＡＰ３０をローミング先としてＳＴＡ４１の接続ユーティリティ１５５が決定する。ローミング受け入れ条件が成立したＡＰが複数存在する場合は、接続ユーティリティ１５５はいずれか１つのＡＰを選択する必要がある。
【００８３】
ローミング元のＡＰに対して平均トラフィックの総和に関するブロック３０５のローミング条件が成立してブロック３１１で平均トラフィックが最大のＳＴＡがローミングの対象になる場合は、電波強度が最大のＡＰ、ＳＮ比として測定した通信品質が最良のＡＰ、またはトラフィック閾値と平均トラフィックの総和の差が最大のＡＰをローミング先のＡＰとして決定することができる。また、ローミング元のＡＰに対して現在の接続総数に関するブロック３０７のローミング条件が成立してブロック３１１で平均トラフィックが最小のＳＴＡがローミングの対象になる場合は、接続数閾値と現在の接続総数の差が最大のＡＰをローミング先のＡＰとして決定することができる。
【００８４】
自らローミングすると判断したＳＴＡ４１がローミング先のＡＰとしてＡＰ３０を選択すると、ブロック３１７でＳＴＡ４１の接続ユーティリティ１５５は、周知の手順で現在のＡＰ２０とのセッションを維持しながら無線チャネルの周波数を変更して接続先をＡＰ２０からＡＰ３０に変更する。ローミングに伴って、ＡＰ２０のＤＨＣＰサーバはそれまでＳＴＡ４１に付与していたＩＰアドレスを回収して新規に参加してくる他のＳＴＡに付与するために確保する。また、ＡＰ３０のＤＨＣＰサーバは、ＳＴＡ４１に新たなＩＰアドレスを付与する。
【００８５】
ＳＴＡ４１はローミングする際に、事前に他のＳＴＡにアドホック・モードで通信して自らがこれからローミングすることを宣言すれば、その後の平均トラフィックの変化により他のＳＴＡが、自らがローミングの対象であると判断してしまうような事態を確実に防止することができる。また、ＳＴＡ４１はローミングする直前に、アドホック・モードで他のＳＴＡから取得した最新の共有情報に基づいてローミングの最終判断をするようにしてもよい。ＳＴＡ４１がＡＰ２０からＡＰ３０にローミングした場合は、ＢＳＳ２２の平均トラフィックの総和が下がって、残りの各ＳＴＡは所定のトラフィックによる通信を維持することができたり、あらたにＢＳＳ２２にセルの単独範囲から参加するＳＴＡの接続を確保したりすることができるようになる。
【００８６】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【００８７】
１０…インフラ・モードの無線ＬＡＮシステム
２０、３０…無線基地局（アクセス・ポイント（ＡＰ））
２０−１、２０−３、２０−５、３０−１、３０−３、３０−５、４１、４３、４５、
１００…無線端末装置（ＳＴＡ）
２２、３２…基本サービス・セット（ＢＳＳ）
５０…アドホック・モードの無線ＬＡＮシステム
５１、５３…アドホック・ネットワーク
【図１】
2011223178.tif 000003
【図２】
2011223178.tif 000004
【図３】
2011223178.tif 000005
【図４】
2011223178.tif 000006
【図５】
2011223178.tif 000007
【図６】
2011223178.tif 000008
【図７】
2011223178.tif 000009
【図８】
2011223178.tif 000010