説明

無線基地局の自律的な負荷調整が可能な無線端末装置

【課題】無線端末装置(STA)が自律的に無線基地局(AP)の負荷調整を行う。
【解決手段】各STAはインフラストラクチャ・モードとアドホック・モードで通信することができる。各STAはAPの性能および各STAのトラフィックを記憶するトラフィック・テーブルを有する。各STAはAPに対する自らのトラフィックを測定する。そして、自ら測定したトラフィックをアドホック・モードで他のSTAに送信し、かつ、他のSTAのトラフィックを受信する。あらたに接続するSTA45はアドホック・モードでトラフィックを取得する。STA45がセルの重複範囲に入っていずれかのAPに接続する際には、APの性能とトラフィックに基づいて電波強度の強いAP20ではなくトラフィックの少ないAP30を選択する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、無線基地局の負荷を調整する技術に関し、さらに詳細には、当該無線基地局に接続する無線端末装置が自律的に負荷を調整する技術に関する。
【背景技術】
【0002】
ノートブック型携帯式コンピュータ(以下、ノートPCという。)やPDAなどの無線端末装置には無線LAN通信装置が搭載され、無線基地局を通じてサーバや他のノートPCと通信をすることができる。また、無線LANネットワークには、複数の無線基地局が相互に電波到達範囲が部分的に重複するように配置されている。無線端末装置には、電波強度が弱い場合にノイズと信号を分別する信号処理のために通信が切断しないように伝送速度を自動的に低下させるフォールバック機能を搭載しているため、接続可能な複数の無線基地局を検出した場合に、大きな伝送速度が期待できる電波強度が最大の無線基地局に自動的に接続するように構成されている。したがって、無線LANネットワークが導入された建物の中において、それぞれ無線端末装置を持参する多くのユーザが会議室などの一定のスペースの中に集まったときには、電波強度の強い特定の無線基地局に接続が集中することになる。
【0003】
1つの無線基地局に接続することができる無線端末装置の数は、当該無線基地局を通じて割り当てるIPアドレスの数による制限を受ける場合がある。IPアドレスは、DHCPサーバにより自動的に割り当てられるが、ネットワーク管理者はセキュリティなどの管理上の視点から特定の無線基地局が扱うIPアドレスの数を制限する。したがって、グローバル・アドレスのクラスで定まる理論的な数よりも実際の無線基地局が扱うホスト・アドレスの数はるかに小さくなる。また、ネットワーク管理者は特定の無線基地局のスループットを維持するために同時に接続する無線端末装置の数を制限する場合もある。IEEE802.11では、ローミングや切断のタイミングを規定していないため、通常は特定の無線基地局に一旦接続した無線端末装置は、移動したり動作を停止したりしない限りその接続を維持する傾向があり、特定の無線基地局に実際のデータ転送をしない無線端末装置が多数接続されることになってデータ転送を必要とする無線端末装置が接続できない状態が発生する。
【0004】
また、特定の無線基地局に複数の無線端末装置が接続されている場合でも、無線基地局と同時に実際の通信ができる無線端末装置はその中の1台だけであり、他の無線端末装置はフレームの衝突を避けるためキャリア・センスを行って無線チャネルがアイドル状態になるまで待機してから送信する。したがって、特定の無線基地局に接続された無線端末装置の数が増加したり、各無線端末装置のデータ転送が時間的に集中したりするとそこに接続されているすべての無線端末装置の転送速度が全体的に低下する。さらに、フレームが衝突した場合は、無線端末装置は無線基地局からの確認応答を示すACKフレームを受け取ることができないので再送手順を実行するためさらに転送速度が低下する。
【0005】
このように、特定の無線基地局に接続された多数の無線端末装置が同時にデータ転送を行うと、各無線端末装置の単位時間あたりのデータ転送量であるトラフィック(単位:bps)が低下して快適な無線通信をすることができなくなる。無線基地局には単位時間あたりの最大のデータ転送量を示すスループット(単位:bps)が設定されており、各無線端末装置が所定の範囲の転送速度を維持するためには、当該無線基地局のスループットが各無線端末装置のトラフィックの総和に対して所定の余裕をもつようにトラフィックの総和を調整することが望ましい。
【0006】
特許文献1は、無線基地局間での通信負荷を平均化させる技術を開示する。同文献の発明は、接続されている移動無線端末の数が多いと判断した無線基地局は、ビーコン信号の送信電力を下げて当該無線基地局から離れた位置に存在する移動無線端末を隣接する無線基地局に接続させる。そして、隣接する無線基地局は当該移動無線端末に対する伝送速度を下げてCN比の低下を防止する。
【0007】
特許文献2は、802.11ワイヤレスLAN内の無線基地局間のネットワーク帯域幅の動的ロード・バランシングを行う技術を開示する。同文献には、無線基地局に接続されたクライアント装置の平均帯域幅使用量を無線基地局が生成および監視することが記載されている。同文献の発明は、各クライアント装置についての平均帯域幅使用量を総計し、総帯域幅がしきい値以上である場合、選択したクライアントを他の無線基地局に強制的にローミングする。特許文献3は、アドホック・ネットワークに属する端末が、公衆網に接続する機能を有する複数のゲートウェイの中から最適なゲートウェイを選択する技術を開示する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2001−124461号公報
【特許文献2】特表2005−536913号公報
【特許文献3】特開2005−79827号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
特許文献1および特許文献2は、電波強度または無線基地局側で定めた手順に基づいて負荷分散ができるように接続する無線基地局を決定する方法を提供する。その方法では、無線基地局が現在接続されている無線端末装置の数を数えてから電波強度を変更してさらに伝送速度を下げたり、帯域幅使用量を監視して強制的に切断したりする必要がある。したがって、特別な機能を有していない通常の無線基地局を使用する無線ネットワークに適用することができない。
【0010】
そこで、本発明の目的は、無線基地局側で負荷分散をさせるような高価で複雑なシステムを構築することなく自律的に無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、無線基地局に新たに接続する際に無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、無線基地局に一旦接続されたあとにダイナミックに無線基地局の負荷調整を行うことができる無線端末装置を提供することにある。さらに本発明の目的は、そのような無線端末装置に実装するコンピュータ・プログラムおよびそのような無線端末装置が実行する負荷調整の方法を提供することにある。
【課題を解決するための手段】
【0011】
本発明を適用する無線LANシステムの複数の無線基地局は、セルの重複範囲を形成するように配置されている。本発明にかかる無線端末装置は無線基地局とはインフラストラクチャ・モードで通信し、相互間ではアドホック・モードで通信することが可能である。インフラストラクチャ・モードでは無線基地局を通じてバックボーン・ネットワークと通信する。本発明におけるアドホック・モードは無線基地局を利用しないで無線端末装置同士が直接無線通信をするいかなる方法も含む。たとえば、特定の無線端末装置が最初に仮想アクセス・ポイントとなって通信を開始するような通信方法も含む。あるいは、2つの無線端末装置が途中に他の無線端末装置で中継されて無線通信するような通信方法も含む。
【0012】
本発明の一の態様では、新規に無線基地局に接続する際に無線端末装置が接続可能な複数の無線基地局の負荷を自律的に判断して負荷を分散するように接続先の無線基地局を決定する。無線端末装置はセルの重複範囲を形成する複数の無線基地局の性能を示す性能情報を取得する。性能情報は、無線基地局の識別子に対応する性能情報を各無線基地局からマネージメント・フレームを通じて直接取得したり、あらかじめ自らの記憶装置に格納しておき、ビーコン・フレームから取得した無線基地局の識別子に基づいて記憶装置から取得したりすることができる。あるいは、性能情報はアドホック・モードで通信してすでに無線基地局に接続されている他の無線端末装置から取得することもできる。無線端末装置はセルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置とアドホック・モードで通信して、他の無線端末装置の無線基地局に対する接続状態を示す接続情報を受信する。
【0013】
自らの接続情報の送信と他の無線端末装置からの接続情報の受信は、同一のセッションで行っても異なるセッションで行ってもよい。性能情報をアドホック・モードで通信して他の無線端末装置から受け取る場合は、性能情報の送信と受信は同様に同一のセッションで行っても異なるセッションで行ってもよい。性能情報と接続情報はアドホック・ネットワークを構築する各無線端末装置で共有される共有情報となる。各無線端末装置は共有情報を取得するために、すべての無線端末装置と直接アドホック・モードで通信できる必要はない。たとえば無線端末装置Aの接続情報は、無線端末装置Aから直接アドホック・モードで受け取る場合もあれば、すでに当該接続情報を無線端末装置Aから受け取っていた無線端末装置Bからアドホック・モードで受け取る場合もある。そして無線端末装置は、性能情報と接続情報に基づいて各無線基地局の負荷の大きさを判断して負荷バランスを考慮しながら接続する無線基地局を決定する。
【0014】
性能情報と接続情報を記憶するトラフィック・テーブルを用意して、自らの接続情報および他の無線端末装置の接続情報を定期的に更新することができる。新たに無線基地局に接続した無線端末装置も自らの接続情報をトラフィック・テーブルに記憶することで、さらに当該無線基地局に接続をしようとする無線端末装置に接続情報を提供できるようになる。接続情報は無線端末装置の識別子と無線基地局に対するトラフィックを含む。また、性能情報は、接続数閾値とトラフィック閾値を含むように構成することができる。無線端末装置は、識別子から特定の無線基地局に対する無線端末装置の接続総数を計算し、当該特定の無線基地局の性能情報と比較して相対的に接続数に余裕のある無線基地局を接続先として決定することができる。また無線端末装置はトラフィックから特定の無線基地局に対するトラフィックの総和を計算し、当該特定の無線基地局の性能情報と比較して相対的にトラフィックに余裕のある無線基地局を接続先として決定することができる。
【0015】
このように本発明にかかる無線端末装置は、無線基地局、バックボーン・ネットワークに接続されたサーバ、または管理用のクライアントなどの支援を受けないで、各無線基地局の負荷に対する余裕を自ら判断して特定の無線基地局のトラフィックの総和または接続総数が増大することがないように接続先を決定することができる。アドホック・モードの通信は、インフラストラクチャ・モードのセッションを切断しないようにしながら行うことが望ましい。そのような方法を実現するには、無線コントローラを2つ用意してもよいし、1つの無線コントローラをソフトウエアで仮想化して2つの無線コントローラとして動作させるようにしてもよい。
【0016】
上記の手順によれば電波強度よりも無線基地局の負荷分散を優先して接続先の無線基地局を決定しているので、セルの重複範囲に入った無線端末装置は、電波強度の弱い無線基地局に接続されることがある。しかし、電波強度の強い無線基地局の総接続数およびトラフィックの総和は時間の経過で変化して、接続が可能な状態に変化することがある。電波強度の弱い無線基地局に接続された無線端末装置は、定期的に電波強度の強い無線基地局に接続された他の無線端末装置とアドホック・モードで通信して他の無線端末装置の接続情報を取得することができる。そして、電波強度の強い無線基地局の性能情報と電波強度の強い無線基地局に接続された各無線端末装置の接続情報に基づいてローミング受け入れ条件が成立したか否かを判断し、ローミング受け入れ条件が成立したときに電波強度の強い無線基地局にローミングすることができる。
【0017】
本発明の他の態様では、すでにいずれかの無線基地局に接続された無線端末装置が自律的に無線基地局の負荷を調整する。無線端末装置は、自らが接続する無線基地局に対する接続状態を示す接続情報を定期的に取得し、他の無線端末装置と定期的にアドホック・モードで通信して交換する。無線端末装置は、自らが接続する無線基地局の性能情報と自らが接続する無線基地局に接続された各無線端末装置の接続情報に基づいてローミング条件が成立するか否かを判断する。そして、ローミング条件が成立すると判断したときに自らがローミングの対象であるか否かを決定してローミングする。よって、本発明にかかる無線端末装置は接続時だけでなく、接続中もダイナミックにかつ自律的に無線基地局の負荷調整を行うことができる。
【0018】
ローミング条件は、自らが接続している無線基地局に対する各無線端末装置のトラフィックの総和が所定値を越えたときに成立するように構成することができる。そして、このローミング条件が成立したときは、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが最大の無線端末装置が自らローミングの対象であると決定することができる。トラフィックが最大の無線端末措置は、当該無線基地局のトラフィックの緩和に最も有効である。
【0019】
または、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが小さい方から順番に選択した所定数の無線端末装置がそれぞれ自らローミングの対象であると決定することができる。この方法は、トラフィックが大きい無線端末装置を優先してローミングさせないようにすることでローミングによるトラフィックの中断の影響が少なくなるようにしながら、当該無線基地局のトラフィックの緩和を図る必要がある場合に有効である。
【0020】
またローミング条件は、自らが接続している無線基地局に接続されている無線端末装置の総数が所定値を越えたときに成立するように構成することができる。所定数は、当該無線基地局に接続可能な無線端末装置の上限に相当する最大接続可能数またはそれより小さい値として設定した接続数閾値を選択することができる。そして、このローミング条件が成立したときは、セルの重複範囲に存在しかつ自ら接続している無線基地局に接続された複数の無線端末装置の中でトラフィックが最小の無線端末装置が自らローミングの対象であると決定することができる。当該無線基地局の接続数に余裕が少なくなってきたときには、いずれの無線基地局にローミングしても同じ効果が得られるが、ローミングの影響を最も受けない無線端末装置がローミングすることが望ましい。
【0021】
さらに、自らがローミングの対象であると決定した無線端末装置は、ローミング先の無線基地局の性能情報とそこに接続されている無線端末装置の接続情報に基づいてローミング受け入れ条件を判断してからローミングすることができる。ローミング条件とローミング受け入れ条件を構成する性能情報に関する閾値は、同一の値でも異なる値でもよい。閾値を異なる値にする場合は、ローミングにより無線基地局の負荷に対する余裕が逆転しないように場合によってはローミング受け入れ条件の閾値をローミング条件の閾値よりも厳しくするなどの工夫をすることが望ましい。なお、無線基地局の負荷に対する余裕は、無線基地局の最大接続可能数およびスループットの大きさを考慮して判断することが望ましい。
【0022】
セルの重複範囲が複数のセルで形成され、ローミング先の無線基地局が複数存在する場合は、ローミングすることを決定した無線端末装置がローミング先の無線基地局を選択することができる。選択の基準としては、各無線基地局に関する各無線端末装置のトラフィックの総和、無線端末装置の接続総数、および通信品質のいずれか1つの要素または複数の要素の組み合わせを採用することができる。
【発明の効果】
【0023】
本発明により、無線基地局側で負荷分散をさせるような高価で複雑なシステムを構築することなく自律的に無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、無線基地局に新たに接続する際に無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、無線基地局に一旦接続されたあとにダイナミックに無線基地局の負荷調整を行うことができる無線端末装置を提供することができた。さらに本発明により、そのような無線端末装置に実装するコンピュータ・プログラムおよびそのような無線端末装置が実行する負荷調整の方法を提供することができた。
【図面の簡単な説明】
【0024】
【図1】インフラストラクチャ・モードの無線LANシステムのネットワーク構成を示す図である。
【図2】アドホック・モードの無線LANシステムのネットワーク構成を示す図である。
【図3】各STAのハードウエア構成を示す概略のブロック図である。
【図4】自律的にAPの負荷を調整するための各STAのソフトウエアおよびハードウエアの構成を示す図である。
【図5】トラフィック・テーブルのデータ構造を示す図である。
【図6】測定したトラフィックから平均トラフィックを計算する方法を説明する図である。
【図7】STAがBSSに新規に参加する際に自ら接続先を決定してAPの負荷調整をする手順を示すフローチャートである。
【図8】すでにBSSに参加しているSTAが自らローミングしてAPの負荷調整をする手順を示すフローチャートである。
【発明を実施するための形態】
【0025】
[無線LANシステムの構成]
図1は、IEEE802.11に規定するインフラストラクチャ・モード(以下、インフラ・モードという。)の無線LANシステム10のネットワーク構成を示す図である。図1ではイーサネット(登録商標)のバックボーン・ネットワーク11には、認証サーバ13、無線基地局(以下、アクセス・ポイント(AP)という。)20、およびAP30が代表的に接続された状態が示されているが、実際にはWebサーバ、メール・サーバ、DNSサーバ、およびデータベース・サーバなどのさまざまなサーバが接続される。1つのAPがカバーする電波の到達範囲として画定された面積的な領域をセルという。図1には、AP20のセル21とAP30のセル31を示している。セル21とセル31は、重複する範囲を含んでいる。セルが重複している面積的な領域をセルの重複範囲という。APが3台以上配置されている場合は、3つ以上のセルによりセルの重複範囲が形成される場合がある。また、各セルからセルの重複範囲を除いた領域をセルの単独範囲という。
【0026】
無線LANシステム10は、複数の無線端末装置(以下、ステーション(STA)という。)を含んでいる。STAは一例としてノートPCを採用することができる。セル21の単独範囲に存在しているSTA20−1、20−3、20−5とセルの重複範囲に存在しているSTA41は、AP20に接続されている。セル31の単独範囲に存在しているSTA30−1、30−3、30−5とセルの重複範囲に存在しているSTA43はAP30に接続されている。STA45はいずれのセルにも入っておらず無線LANシステム10には接続されていない。図1に示すすべてのSTAは、無線LANシステム10に接続される各APのSSIDを保有しており、かつ、認証サーバ13に自らの識別子で正規のクライアントとして登録されている。
【0027】
また、認証サーバ13と各STAは認証およびデータの暗号化に使用する共有鍵を保有している。したがって各STAはいずれかのAPに接続されたときに認証サーバ13により認証されバックボーン・ネットワークを通じて通信することができる。AP20、30はそれぞれ接続要求を受けたSTAにIPアドレスを付与するための周知のDHCPサーバ(図示せず。)を保有している。各DHCPサーバが付与するIPアドレスの数には制限がある。また、ネットワーク管理者はAP20、30にそれぞれ同時に接続するSTAの数にも制限を設けている。
【0028】
各STAはセルの範囲に存在する限り、AP20、30のいずれにも接続することができる。したがって、セルの重複範囲に存在するSTA41はAP30に接続することが可能であり、またSTA43はAP20に接続することが可能である。セルの重複範囲に存在するSTA41、43が接続するAPを決定するために、これまでは、STAが各APから受信したビーコン・フレームの電波強度を示すRSSI(Received Signal Strength Indication)を比較して電波強度が強いAPを選択して接続していた。APの性能が同一であれば電波強度の強いAPに接続するほど伝送速度が大きくなるため、通常のSTAはすべてこのように構成されている。
【0029】
したがって、特定のAPに多数のSTAが接続され、各STAのトラフィックの総和がAPのスループットに近づいて、各STAのトラフィックが低下することがある。また、セルの単独範囲に入ってAPに新たに接続しようとするSTAは当該APに対する接続数が飽和して接続できないことがある。本発明では後に説明するように、各STAが自律的にAPの負荷分散をするアルゴリズムを提供するが、ここでは、STA41はAP20に接続されSTA43はAP30に接続されているとして説明を進める。
【0030】
AP20との間で論理的な接続が確立しているSTA20−1、20−3、20−5、41とAP20で構成される集合体を基本サービス・セット(BSS)という。同様に、AP30とSTA30−1、30−3、30−5、43も他のBSSを構成する。AP20を含むBSSをBSS22として表記し、AP30を含むBSSをBSS32と表記することにする。あらたにいずれかのBSSに参加するSTAはアクティブ・スキャニング方式またはパッシブ・スキャニング方式で接続可能なAPのSSIDを探索する。いずれかのAPに接続されセルの単独範囲に存在するSTAがセル21とセル31との間を移動してセルの重複範囲に入っている間は、他のAPにも接続可能な状態になる。
【0031】
そして、セルの重複範囲を移動する間に現在接続されているAPの電波強度が弱くなると、セッションを維持しながら接続するAPを自動的に切り換える。STAが接続するAPを変更することをローミングまたはハンドオーバという。STAが接続するAPを変更すると変更後のAPのDHCPサーバによりIPアドレスが付与され、変更前のAPのDHCPサーバが付与していたIPアドレスは解放されて他のSTAに付与できるようになる。
【0032】
図2は、IEEE802.11に規定するアドホック・モードの無線LANシステム50のネットワーク構成を示す図である。各STAは、インフラ・モードでバックボーン・ネットワーク11に接続して相互通信できることに加え、アドホック・モードのネットワーク(以下、アドホック・ネットワークという。)を構成して相互に無線通信をすることができる。アドホック・モードではAPを経由しないで直接相互に通信をすることができる。アドホック・モードで相互に通信が可能な複数のSTAの集合を独立サービス・セット(IBSS)という。IBSSは、BSSからは独立しており複数のBSSに属するSTAを含んで構成することができる。
【0033】
アドホック・ネットワークは、他のSTAと通信を開始しようとするいずれのSTAでも構築することができる。アドホック・ネットワークは、アドホック・ネットワークを構築したSTAの電波が届く範囲に存在する各STAの間で形成される。図2では、STA20−1が構築したアドホック・ネットワーク51とSTA30−3が構築したアドホック・ネットワーク53が示されている。同じアドホック・ネットワークに存在しないSTA20−1とSTA30−3は直接通信ができないが、後に説明するAPの性能情報およびAPに対するSTAの接続情報などの共有情報は、両方のアドホック・ネットワーク51、53のメンバーであるSTA41またはSTA43を通じて交換することができる。
【0034】
本発明においては、各STAはあらかじめ通信チャネルおよびSSIDを統一しておき共有鍵を保有することでアドホック・ネットワークのメンバーになったいずれのSTAとも相互に通信できるようになっている。図2では、STA20−1、30−3が他のSTAと通信できる様子を示しているが、他のSTAがアドホック・ネットワークを構築した場合も同様に相互に通信できる。アドホック・モードでは、アクティブ・スキャニング方式を採用していずれかの通信を開始したいSTAがプローブ要求フレームを送信し、それに対してプローブ応答フレームを返信したSTAと通信することができる。また、アドホック・モードでは、パッシブ・スキャニング方式を採用して、各STAが送信するビーコン・フレームを受信して当該STAと通信することができる。本発明においてはアドホック・モードでの通信方式は周知の範囲である。
【0035】
[STAの構成]
図3は、各STAのハードウエア構成を示す概略のブロック図である。STA100はノートPCであるが、特にこれに限定するものではなく同様の機能を備えるPDAやスマートフォンなどの無線端末装置とすることができる。STA100は中央演算処理装置(CPU)101、メイン・メモリ103、ディスク・ドライブ105、液晶ディスプレイ装置(LCD)107、入出力デバイス109および無線コントローラ111がバス115に接続されている。ディスク・ドライブ105には、本実施の形態に関わるプログラムが格納されている。無線コントローラ111には、アンテナ113が接続されている。
【0036】
無線コントローラ111は送信機および受信機として動作する。無線コントローラ111は、バス115と無線媒体との間でIPパケットを双方向に転送する際のバッファ機能を含む。無線コントローラ111は、送信時にIPパケットにMACヘッダを付加してMACフレームを生成したり、受信時にMACフレームからMACヘッダを除去したりするプロトコル変換機能を含む。無線コントローラ111はさらに送信時にデータを符号化および変調してアンテナ113に高周波信号として出力する機能および受信時に復調、および誤り訂正処理をする機能を含む。なお、無線コントローラ111の機能は周知である。
【0037】
図4は、STA100が自律的にAPの負荷を調整するためのソフトウエアおよびハードウエアの構成を示す図である。接続ユーティリティ155は、STA100をAPに接続したり他のAPにローミングしたりするための処理をする周知の機能を含むソフトウエアである。接続ユーティリティ155はまたトラフィック・テーブル157を参照して、自律的にAPの負荷調整をするための新規な機能を含む。トラフィック・テーブル157は、各APの負荷に関する性能を示す性能情報およびAPに接続するSTAの接続状態を示す接続情報を記憶するためにメイン・メモリ103上の記憶領域に形成される。接続ユーティリティ155の新規な機能およびトラフィック・テーブル157のデータ構造については後に詳細に説明する。アプリケーション159は、オペレーティング・システム(OS)153上で動作してバックボーン・ネットワーク11のサーバとデータの送受信するWebブラウザ、メーリング・ソフトウエアなどである。アプリケーション159は、OSI参照モデルのアプリケーション層、プレゼンテーション層およびセッション層を形成する。
【0038】
OS153は、Windows7(登録商標)を採用することができる。Windows7は、1つの無線コントローラ111を仮想化して複数の無線コントローラに見せかける「Virtual WiFi」といった機能や、APの機能をエミュレートする「Soft AP」といった機能を搭載している。デバイス・ドライバ151は、無線コントローラ111の動作およびデータ転送を制御するソフトウエアであるが、Windows7の下では無線コントローラ111を同時にインフラ・モードとアドホック・モードで動作させることができる。
【0039】
したがって、STA100は、たとえばアプリケーション159が、無線コントローラ111のインフラ・モードを利用してバックボーン・ネットワーク11と通信している間に、そのセッションを切断することなくアドホック・モードで他のSTAと通信することができる。STA100は、インフラ・モードの無線コントローラとアドホック・モードの無線コントローラを個別に搭載して仮想化の機能を含まないOSを採用することもできる。OS153は、OSI参照モデルのトランスポート層およびネットワーク層を形成する。
【0040】
デバイス・ドライバ151は、無線コントローラ111がAPとの間でデータ転送するときの単位時間当たりのデータ転送量であるトラフィックを測定することができる。接続ユーティリティ155は、定期的にデバイス・ドライバ151から現在のトラフィックを受け取ることができる。デバイス・ドライバ151は、APが発信するビーコン・フレームの電波強度(RSSI)および信号対雑音比(SN比)を測定して接続ユーティリティ155に送ることができる。RSSIおよびSN比は、APとSTAの間の伝送速度を決める通信品質のパラメータとなる。デバイス・ドライバ151は、OSI参照モデルのデータリンク層を形成する。無線コントローラ111はOSI参照モデルの物理層を形成する。
【0041】
図4に示した接続ユーティリティ155、トラフィック・テーブル157、OS153およびデバイス・ドライバ151は、メイン・メモリ103にロードされてCPU101により実行される際に、STA100のハードウエアと協働してさまざまな機能を実現する。たとえば、接続ユーティリティ155、OS153およびデバイス・ドライバ151は、APの性能情報を取得する手段を構成したり、接続情報をアドホック・モードで通信して他のSTAと交換する手段を構成したり、性能情報と接続情報に基づいて接続先のAPを決定する手段を構成する。なお、これらの手段は、図4に示した構成に限定されるものではなく、他のソフトウエアおよび他のハードウエアまたはいずれかを追加して構成する場合も当業者が本発明に基づいて選択可能な範囲で本発明に含まれる。
【0042】
なお、図3、図4は本実施の形態を説明するために必要なハードウエアおよびソフトウエアの構成および接続関係を簡略化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、STA100を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。図で記載した複数のブロックを1個の集積回路またはプログラム・モジュールとしたり、逆に1個のブロックを複数の集積回路またはブログラム・モジュールに分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【0043】
[トラフィック・テーブルのデータ構造]
図5は、STA100が保有するトラフィック・テーブル157のデータ構造を示す図で、図6はデバイス・ドライバ151が測定したトラフィックから、接続ユーティリティ155がデータの所定時間当たりの平均データ転送量に相当する平均トラフィック(単位:bps)を計算する方法を説明する図ある。STA100は、いま、BSS22に帰属していると想定する。
【0044】
トラフィック・テーブル157には、STA100が自ら帰属するBSS22のAP20およびAP20とセルの重複範囲を形成するBSS32のAP30のそれぞれのSSID、MACアドレス、最大接続可能数、接続数閾値、スループット、およびトラフィック閾値が登録されている。これらのデータはAPから直接取得したり、あらかじめネットワーク管理者により各STAに提供されたりして、ディスク・ドライブ105に格納されている。あるいは、これらのデータは、STA100が他のSTAとアドホック・モードで通信してメイン・メモリ103上のトラフィック・テーブル157に記憶するようにしてもよい。
【0045】
SSIDはネットワーク管理者がAPに付与したネットワーク上の名称で複数のAPが存在する場合を考慮してESSIDという場合もある。SSIDに対応するMACアドレスはBSSIDともいわれ、APに接続する前にSTA100はAPが発信したビーコン・フレームから取得することができる。各STAは、メイン・メモリ103にトラフィック・テーブル157を形成して、いずれかのAPからビーコン・フレームを受信すると、そのSSIDとMACフレームを最初にトラフィック・テーブル157に記憶する。
【0046】
最大接続可能数、接続数閾値、スループット、およびトラフィック閾値はAPの性能を示す性能情報でAPごとに一意に決まる。各APの性能情報は、あらかじめ各STAのディスク・ドライブ105にAPのMACアドレスに関連付けて格納されている。したがって接続ユーティリティ155は、トラフィック・テーブル157に記憶したAP20、30のMACアドレスに対応する性能情報をディスク・ドライブ105から読み出してトラフィック・テーブル157に記憶する。あるいは、STA100は性能情報をアドホック・モードで通信して他のSTAから受け取ることもできる。
【0047】
なお、性能情報はAPをスキャンする際にパッシブ・スキャニング方式のビーコン・フレームやアクティブ・スキャニング方式のプローブ応答フレームなどのマネージメント・フレームの中に含めておき、各STAがAPに接続する前に取得して接続先を決定できるようにしてもよい。このようなマネージメント・フレームには、可変長のベンダが自由に使用できるフィールド(Vendor Specific)が定義されているので、そこに性能情報を含めることができる。このようにAPから性能情報を直接取得できるようにすれば、APが変更された場合の対応が容易であり、また、あらかじめ各STAに性能情報を格納するための製造工程を省くことができる。
【0048】
最大接続可能数は、IPアドレスの数の制限または各STAのトラフィックを所定の範囲に維持するために設定した当該APに対して可能なSTAの接続総数の上限を示す。接続数閾値は、最大接続可能数に基づいてそれより小さい値として設定した基準値である。スループットは、APの最大転送速度を示す。トラフィック閾値はスループットに基づいてそれより小さい値として設定した基準値である。接続数閾値およびトラフィック閾値は、セルの重複範囲に存在するSTAが新規にBSS22またはBSS32のいずれに参加するか自律的に判断するために各APに設定した基準値である。
【0049】
接続数閾値およびトラフィック閾値はまた、セルの重複範囲に存在するSTA100が一旦参加したBSS22から他のBSS32にローミングするか否かを自律的に判断するために現在参加しているBSS22に対して設定した基準値でもある。さらに接続数閾値およびトラフィック閾値はセルの重複範囲に存在するSTA100が一旦参加したBSS22から他のBSS32にローミングするか否かを自律的に判断するためにローミング先のBSS32に対して設定した基準値でもある。なお、接続数閾値とトラフィック閾値は、上記のように3つの目的で使用されるが、これらは目的に応じて異なる値にすることも可能である。
【0050】
トラフィック・テーブル157には、AP20に接続されている各STAの識別子であるMACアドレスに対応する平均トラフィックとAP30に接続されている各STAのMACアドレスに対応する平均トラフィックが記憶されている。識別子とトラフィックは、STAの接続状態を示す接続情報である。STA100がAP20に接続してアプリケーション159の要求でデータ転送をしている間、接続ユーティリティ155は定期的にデバイス・ドライバ151からトラフィック161(図6)を受け取る。デバイス・ドライバ151がトラフィックを計算するときの単位時間は比較的短いので変動が大きく、APの負荷の大きさを判断するためのトラフィックの総和を計算するデータには適さない。接続ユーティリティ155は、デバイス・ドライバ151から受け取ったトラフィックを所定時間tmだけ観測してその間の総データ転送量を所定時間tmで除して平均トラフィックを計算する。
【0051】
接続ユーティリティ155はさらに所定時間tsごとの平均トラフィックを移動平均として計算する。一例として所定時間tmを5分とし、所定時間tsを1分とすることができる。STA100は、トラフィックの5分間ごとの移動平均を1分毎に計算して自らのトラフィック・テーブル157の自らのMACアドレスに対応させて記憶する。各STAは、自らの平均トラフィックを更新するたびに、そのデータをアドホック・モードで他のSTAに通知する。あるいは各STAは所定の時間tsごとに他のSTAに要求して最新の平均トラフィックを取得することができる。
【0052】
図5のトラフィック・テーブル157には、このようにしてSTA100が自ら計算した平均トラフィックおよび他のSTAから受け取った当該他のSTAの平均トラフィックが記憶されている。接続ユーティリティ155は、アドホック・モードで通信してBSS22およびBSS32に接続されている各STAから受け取ったMACアドレスと平均トラフィックから、各APに現在接続されているSTAの接続総数と各APに対する各STAの平均トラフィックの総和を計算してトラフィック・テーブル157に記憶する。トラフィック・テーブル157には、AP20では接続数閾値が28については現在の接続総数が5、トラフィック閾値が700に対して平均トラフィックの総和が750として記憶されている。また、AP30については接続数閾値が23に対して現在の接続総数が4、トラフィック閾値が500に対して平均トラフィックの総和が220として記憶されている。
【0053】
トラフィック・テーブル157には、各STAのMACアドレスに対応してローミング・フラグのフィールドが設けられている。ローミング・フラグは、セルの重複範囲において接続可能な複数のAPを検出したSTAが、接続数閾値と現在の接続総数を比較した結果またはトラフィック閾値と平均トラフィックの総和を比較した結果に基づいて、電波強度の弱いAPに接続することになったときに、当該STAが自らのMACアドレスに設定する。ローミング・フラグは、後に電波強度の強いAPへのローミングが可能になったときに、各STAが自らローミングの対象であることを判断するために使用される。
【0054】
接続可能なAPが3台以上ある場合にローミング先のAPを特定するために、BSSに新規に参加する際に接続できなかった電波強度の強いAPの識別子をローミング・フラグに付加しておくことができる。また、接続できなかった同一のAPに対するローミング・フラグが設定されたSTAが複数存在する場合にローミングの優先順位を決めるために、ローミング・フラグにタイムスタンプを付加して、電波強度の弱い同一のAPに接続された順番にローミングできるようにすることもできる。図5では、STA43が、電波強度の強いAP20に対するSTAの平均トラフィックの総和がトラフィック閾値を超えていたために自律的に判断して電波強度の弱いAP30に接続した際に、自らがローミング・フラグを設定した様子が示されている。トラフィック・テーブル157に記憶される性能情報と接続情報は、アドホック・ネットワークを通じて各STAの間で共有されるためこれを共有情報ということにする。
【0055】
[BSSに新規に参加する場合の負荷調整の手順]
図7は、図1のSTA45がBSS22またはBSS32に新規に参加する際に自ら接続先のAPを決定して負荷を調整する手順を示すフローチャートである。ブロック201では、図1に示すように無線LANシステム10にBSS22とBSS32が構築されている。ブロック203では、各STAが図5に示すトラフィック・テーブル157に記憶した共有情報をアドホック・モードで通信して定期的に更新している。共有情報には、アドホック・ネットワークを構成する各STAが接続されているAP20、30の性能情報と各STAの接続情報が含まれている。いまだ、いずれのAPにも接続していないSTA45の接続ユーティリティ155は、APが発信するビーコン・フレームを受信して接続が可能なAPを探索している。ブロック205ではSTA45がBSS22とBSS32のセルの重複範囲に入る。
【0056】
なお、STA45はBSS22またはBSS32のセルの単独範囲から新規にBSSに参加することもあるが、接続先のAPを選択する余地はないのでAPの負荷調整は行わない。AP20、30は、それぞれ定期的にビーコン・フレームを発信している。ビーコン・フレームは、当該APのSSID、使用可能な無線チャネル、およびサポートしている伝送レートなどの情報を含んでいる。セルの重複範囲まで移動したSTA45の接続ユーティリティ155は、デバイス・ドライバ151から、AP20とAP30がそれぞれ発信したビーコン・フレームを受け取りそれらのSSIDから接続が可能なAP20、30の存在を認識する。デバイス・ドライバ151は、受信したビーコン・フレームからAP20,30の電波強度を計測し、接続ユーティリティ155に送る。
【0057】
STA45の接続ユーティリティ155は、接続可能な複数のAPを検出したときには従来のように電波強度が大きなAPに対する認証作業を開始する前に、アドホック・モードで通信していずれかのSTAからトラフィック・テーブル157に記憶された共有情報を取得するように構成されている。なお、STA45は、AP20、30のビーコン・フレームからそれらのMACアドレスを取得したときには、自らのディスク・ドライブ105からAP20、30の性能情報をトラフィック・テーブルに読み出すようにしてもよい。
【0058】
ブロック207では、STA45がアドホック・ネットワークを開設して、BSS22またはBSS32を構成するいずれかのSTAと通信し共有情報を取得して自らのトラフィック・テーブル157に記憶する。STA45が最初に接続したいずれかのSTAからセルの重複範囲を形成しているAP20およびAP30に関する共有情報を取得すると、接続ユーティリティ155は以下の手順でいずれのAPに接続すべきかを自律的に判断する。ここに自律的な判断とは、バックボーン・ネットワーク11に接続されたサーバやAPから支援を受けないで、各STAがトラフィック・テーブル157の共有情報だけに基づいて自ら判断することを意味する。
【0059】
ここで、STA45はビーコン・フレームの電波強度が、AP20の方がAP30よりも強いと判断したものとする。ブロック209で接続ユーティリティ155はトラフィック・テーブル157を参照して、最初に電波強度が強いAP20の接続数閾値と現在の接続総数に基づいてAP20への接続が可能か否かを判断する。現在の接続総数が接続数閾値以下の場合は、ブロック211に移行する。ブロック211ではSTA45の接続ユーティリティ155がトラフィック・テーブル157を参照して、AP20に接続されているSTAの平均トラフィックの総和がトラフィック閾値以下であるか否かを判断する。平均トラフィックの総和がトラフィック閾値以下の場合は、STA45はAP20とAP30の間の負荷バランスの上でAP20に接続することができると判断してブロック213に移行する。ブロック213でSTA45はAP20に接続し、ブロック215で自らの平均トラフィックをトラフィック・テーブルに記憶するとともにアドホック・モードで通信して他のSTAと共有情報を交換する。
【0060】
ブロック209で現在の接続総数が接続数閾値を越えている場合またはブロック211で平均トラフィックの総和がトラフィック閾値を越えている場合はAP20とAP30の間の負荷バランスの上でAP20に接続できないと判断してブロック219に移行する。ブロック219では、接続ユーティリティ155はトラフィック・テーブル157を参照し、電波強度が弱いAP30への接続が可能か否かを判断する。AP30の現在の接続総数が接続数閾値以下の場合は、ブロック221に移行する。ブロック221ではSTA45の接続ユーティリティ155がトラフィック・テーブル157を参照して、AP30に接続されているSTAの平均トラフィックの総和がトラフィック閾値以下であるか否かを判断する。AP30に接続された各STAの平均トラフィックの総和がトラフィック閾値以下の場合は、STA45は負荷バランスの上でAP30に接続することができると判断してブロック223に移行する。
【0061】
ブロック219でAP30の現在の接続総数が接続数閾値を超えている場合、またはブロック221でAP30の平均トラフィックの総和がトラフィック閾値を超えている場合は、ブロック213に移行する。ブロック209とブロック211は、両方成立したときに成立するAP20の接続条件に相当し、ブロック219とブロック221は両方成立したときに成立するAP30の接続条件に相当する。AP20の接続条件とAP30の接続条件がいずれも成立しない場合は、STA45はブロック213でAP20に接続する。AP20の接続条件が成立しない場合でも、現在の接続総数が最大接続可能数以下でかつ平均トラフィックの総和がスループット以下の場合は、各STAは全体的にトラフィック低下の影響を受けるがSTA45を接続することは可能である。そして、AP20とAP30の接続条件が成立しない場合には、STA45をいずれのAP20、30にも接続させない方法よりも、電波強度が強いAP20に接続させる方法の方がサービス上は望ましい。
【0062】
図5に示したトラフィック・テーブル157の共有情報によれば、AP20に接続されている各STAの平均トラフィックの総和はトラフィック閾値を超えているため接続条件が成立せず、かつ、AP30では現在の接続数が接続数閾値以下で平均トラフィックの総和がトラフィック閾値以下なので接続条件が成立するため、STA45は自らAP30を接続先のAPとして決定する。ブロック223では、STA45の接続ユーティリティ155は、AP30に対する接続を開始する。最初に、STA45はAP30に自らのMACアドレスを含む管理フレームを送り認証を要求する。AP30は共通鍵認証またはオープン認証などのMACレイヤでの認証処理をして応答する。つぎに、STA45はAP30に対して管理フレームを送りアソシエーション要求をする。
【0063】
STA45とAP30が相互に通信パラメータを設定してアソシエーションが完了すると、AP30のDHCPサーバはSTA45にIPアドレスを付与する。その後、AP30は認証サーバ13にSTA45の認証を取り次いでSTA45が認証サーバ13により認証される。認証サーバ13からAP30にSTA45との間で使用する暗号鍵が送られて設定されるとSTA45はバックボーン・ネットワーク11に対するデータ通信が可能になりBSS32に対する参加が完了する。STA45は、AP30に接続されたときに自らのトラフィック・テーブル157にローミング・フラグを設定する。
【0064】
BSS32に参加したSTA45のアプリケーション159は、バックボーン・ネットワーク11に接続されたWebサーバや、APに接続された他のSTAとデータ通信を開始する。ブロック225で、接続ユーティリティ155はデバイス・ドライバ151からトラフィックを受け取って所定時間tmごとの平均トラフィックの計算を開始して所定時間tsごとにそれを自らのトラフィック・テーブル157に記憶する。そしてブロック203と同様にSTA45を含めた複数のSTAがアドホック・モードで定期的に通信して相互に共有情報を交換する。
【0065】
これまでは、AP20に対するSTAの現在の接続総数が最大接続可能数以下であれば、STA45は電波強度が大きいAP20に接続していた。その結果、AP20の現在の接続総数が最大接続可能数に到達しているときには、BSS22の他のSTAがBSS32に参加することができる場合であっても、AP20のセルの単独範囲からはBSS22に参加することができなくなっていた。また、STA45の参加によりAP20に対する平均トラフィックの総和がAP20のスループットに近づいたり越えたりして、BSS22を構成するSTAのトラフィックが全体的に低下することになっていた。しかし、上記の手順によれば、現在の接続総数または平均トラフィックの総和に対するAP20の余裕がAP30の余裕に比べて小さいとSTA45が判断した場合は、余裕が大きいAP30に接続するので、上記のような問題は解消する。
【0066】
ブロック209、211は、電波強度の強いAP20の接続条件でブロック219、221は電波強度の弱いAP30の接続条件に相当する。電波強度の強いAP20の2つの接続条件がいずれも満たされたときはSTA45が電波強度の強いAP20に接続する。電波強度の強いAP20の2つの接続条件のいずれかが満たされず、かつ、電波強度の弱いAP30の2つの接続条件がいずれも満たされたときはSTA45が電波強度の弱いAP30に接続する。STA45が一旦電波強度の弱いAP30に接続されたあとに、BSS22の接続総数または平均トラフィックの総和が変化することがある。
【0067】
STA45にとっては、現在の位置から移動しない限りは電波強度の強いAP20に接続したほうが伝送速度は大きくなるので、AP20に余裕がでてきた場合は、それを検知してAP20にローミングすることが望ましい。ブロック225では、ローミング・フラグを設定したSTA45は、自らローミングの対象であることを認識する。そしてSTA45はAP20のローミング受け入れ条件が成立したときには自らがローミングすると決定する。ローミング受け入れ条件は、電波強度の強いAP20の接続総数が接続数閾値以下で、かつ、平均トラフィックの総和がトラフィック閾値以下のときに成立する。
【0068】
ローミング受け入れ条件は、ローミング元の電波強度の弱いAP30の接続総数または平均トラフィックの総和とは無関係である。ローミング受け入れ条件が成立しない場合は、ブロック223に戻ってSTA45はAP30への接続を維持する。ローミング受け入れ条件が成立した場合は、ブロック213に移行してSTA45は接続先のAPをAP30からAP20に変更する。ここでのローミングは、STA45が移動してAP30の電波強度が弱くなったときに発生する通常のローミングとは異なり、STA45が移動していない場合でもローミング先の電波強度の強いAP20の接続総数および平均トラフィックの総和またはいずれか一方の変化により発生する。
【0069】
ここでは、セルの重複範囲が2つのセルで形成される場合を例示して説明したが、上記の手順はセルの重複範囲が3つ以上のセルで形成される場合にも適用することができる。この場合は、STAはトラフィック・テーブル157を参照することで、電波強度の大きなAPから順番にブロック209とブロック211およびブロック219とブロック221の接続条件を判断する手順を繰り返して、接続条件を満たすAPの中で最も電波強度が大きなAPを自らの判断で選択して接続する。
【0070】
また、ブロック209および211またはブロック219および221の接続条件で使用した接続数閾値およびトラフィック閾値とブロック227で使用したローミング受け入れ条件で使用した接続数閾値およびトラフィック閾値は異なる値にすることができる。この場合、ローミングにより双方のAPの性能と負荷に対する余裕の関係が逆転しないように場合によってはローミング受け入れ条件の閾値を接続条件の閾値をよりも小さくして、接続時よりもローミング時の条件を厳しくするなどの工夫をすることが望ましい。
【0071】
[BSSに参加したあとの負荷調整の手順]
セルの重複範囲を共有する複数のBSSにおいては、複数のBSS全体を構成する各STAのトラフィックが全体として最大になることが理想である。また、セルの単独範囲からBSSに参加するSTAが当該APに対する接続総数の制限により接続できないような状態がないように複数のBSS全体で対処できることが望ましい。一方、すでにいずれかのAPに接続しているSTAは、無線通信をしなくても通常はSTAの動作を停止したりセルの範囲外に移動したりする以外は当該APへの接続を切断することはない。また、APに接続された各STAのトラフィックはユーザの作業の変化に応じて時間的に変動し、一方のBSSの負荷が大きく他方のBSSの負荷が小さいといったような負荷のアンバランスが生ずる。本発明にかかるSTAは共有情報を利用して、このような問題を自律的に解決することができる。
【0072】
図1の無線LANシステム10で具体的に説明すると、BSS22とBSS32のセルの重複範囲に存在するSTA41は、AP20の電波強度がAP30よりも強いとすれば、AP20に対する平均トラフィックの総和がスループットに対して十分に小さければAP20に接続したほうが、伝送速度が向上するので好ましいといえる。しかし、AP20に対する平均トラフィックの総和がスループットに近づいてくると、BSS22を構成する各STAの平均トラフィックは全体的に低下する。この場合、もし、AP30の平均トラフィックの総和がスループットに対して十分に小さければ、STA41がAP30にローミングすることでBSS32の各STAのトラフィックの低下を招かないようにしながらBSS22のトラフィックを改善することができる。また、もし、BSS22に30台のSTAが接続されているときにSTA41がAP30にローミングして接続総数が29になれば、新たにSTA45がセルの単独範囲からBSS22に参加することもできる。
【0073】
図8はすでにBSSに参加しているSTAが自らローミングしてAPの負荷調整をする手順を示すフローチャートである。本手順においては一例としてSTA41が現在接続しているAP20と、ローミングが可能なAP30のそれぞれの性能情報と接続情報に基づいて、ローミングするか否かを自ら判断する。通常のローミングはSTA41が移動して現在接続しているAP20の電波強度が低下するときに発生するが、本手順におけるローミングはSTA41の移動とは無関係に、現在のBSS22における平均トラフィックの総和または現在の接続総数に基づいて行われる。ブロック301では、図1に示すように無線LANシステム10にBSS22とBSS32が構築されている。ブロック303では、BSS22とBSS32を構成する各STAが共有情報を定期的に交換してトラフィック・テーブル157に記憶している。
【0074】
ブロック305では、STA41がトラフィック・テーブル157を参照して自らが接続しているAP20に対する平均トラフィックの総和がトラフィック閾値を超えたか否かを判断し、越えた場合はこれ以上AP20に対する平均トラフィックの総和が上昇すると各STAのトラフィックが低下する可能性がでてくるのでブロック309に移行する。
【0075】
平均トラフィックの総和がトラフィック閾値以下の場合は、ブロック307に移行してSTA41は自らが接続しているAPの現在の接続総数が接続数閾値を超えたか否かまたは最大接続可能数に達したか否かを判断し、接続数閾値を超えた場合または最大接続可能数に達した場合はブロック309に移行する。接続数閾値以下の場合または最大接続可能数未満の場合はブロック303に戻って、ブロック305またはブロック307のいずれか一方の条件が成立するまでSTA41はローミングしない。ブロック305とブロック307は、ローミング元のBSS22に関して設定されたローミングの条件で、いずれか一方の条件が満たされるとローミング元のAP20におけるローミング条件が成立する。
【0076】
ブロック309では、STA41はローミングが可能なAPを自ら有しているか否かを判断する。ローミングが可能なAPを保有するSTAはセルの重複範囲に存在して、複数の接続可能なAPのSSIDを検出したSTAである。STA41はローミングが可能なAP30を有するためブロック311に移行する。もし、いずれのSTAもセルの単独範囲に存在してローミング可能なAPを保有しない場合はBSS22およびBSS32からはいずれのSTAもローミングしないで、ブロック303に戻って各STAは共有情報を更新したあとに再度ローミング条件を判断する。
【0077】
図1の無線LANシステム10では、STA41、43がセルの重複範囲に存在しておりローミングが可能であるが、ここではBSS22がローミング元のローミング条件を満たし、BSS32はローミング条件を満たしていないものと想定する。ブロック311では、ローミング条件が成立したAP20に接続されかつローミング可能なAPを保有するSTA41(以下、ローミング可能なSTAという。)が、自ら今回ローミングするSTAであるか否かを判断する。ローミング可能なSTAが1台の場合は、必然的に当該STAが自らローミングするSTAであると判断する。
【0078】
BSS22ではローミング可能なSTAがSTA41の1台だけであるためSTA41は自らローミングの対象であると判断する。ローミング可能なSTAの台数が複数の場合は、各STAの接続ユーティリティ155はトラフィック・テーブル157を参照して自らがローミングの対象であるか否かを独自に判断する。平均トラフィックの総和に関するブロック305のローミング条件が成立している場合は、平均トラフィックの総和を緩和するためにローミング可能な複数のSTAの中で平均トラフィックが最大のSTAが、自らがローミングの対象であると判断するようにしてもよい。
【0079】
あるいは、ローミング可能な複数のSTAの中で平均トラフィックが最も小さい方から順番に数えた所定数までのSTAが、自らがローミングの対象であると判断するようにしてもよい。前者は、当該STAがAPのトラフィックの緩和に最も有効であり、後者は当該STA自身がローミングによるトラフィックの中断の影響が少ないという利点がある。現在の接続総数に関するブロック307のローミング条件が成立している場合は、ローミングするSTAのトラフィックに影響を与えないで接続総数を緩和するためにローミング可能な複数のSTAの中で平均トラフィックが最小のSTAが、自らがローミングの対象であると判断することが望ましい。
【0080】
ローミングすることでAPの負荷調整ができるといえるためには、ローミング先のAPのスループットおよび最大接続可能数に大きな影響がでないようにする必要がある。ブロック313では、自らがローミングの対象であると判断したSTA41がローミング可能なAPのローミング受け入れ条件が成立しているか否かを判断する。ローミング受け入れ条件は、ローミング可能なAP30の現在の接続総数が接続数閾値以下で、かつ、平均トラフィックの総和がトラフィック閾値以下のときに成立する。ローミング受け入れ条件が成立したBSSが存在しない場合は、STA41はローミングしない。
【0081】
ローミング条件とローミング受け入れ条件はともにトラフィック閾値と平均トラフィックの総和の比較および接続数閾値と現在の接続総数の比較により判断する。ここでローミング条件とローミング受け入れ条件は、ローミングによりローミング元とローミング先で性能情報と接続情報の関係、すなわち負荷に対する余裕の関係が逆転することがないように、トラフィック閾値と接続数閾値を異なる値に設定することが望ましい。たとえばローミング元のAPとローミング先のAPの性能が同じ場合は、ローミング先のトラフィック閾値と接続数閾値をローミング元のそれらより小さい値にしておけば、ローミングによりローミング先のAPに対する負荷が増大してもそこに帰属しているSTAに与える影響を軽減することができる。ローミング元のAPとローミング先のAPの性能が異なる場合は、それぞれのAPの性能を考慮してトラフィック閾値と接続数閾値を設定することで負荷に対する余裕の逆転を防止することができる。
【0082】
ブロック315では、ローミング先のAPを決定する。ローミング受け入れ条件が成立したAPが図1のようにAP30の1台だけの場合はAP30をローミング先としてSTA41の接続ユーティリティ155が決定する。ローミング受け入れ条件が成立したAPが複数存在する場合は、接続ユーティリティ155はいずれか1つのAPを選択する必要がある。
【0083】
ローミング元のAPに対して平均トラフィックの総和に関するブロック305のローミング条件が成立してブロック311で平均トラフィックが最大のSTAがローミングの対象になる場合は、電波強度が最大のAP、SN比として測定した通信品質が最良のAP、またはトラフィック閾値と平均トラフィックの総和の差が最大のAPをローミング先のAPとして決定することができる。また、ローミング元のAPに対して現在の接続総数に関するブロック307のローミング条件が成立してブロック311で平均トラフィックが最小のSTAがローミングの対象になる場合は、接続数閾値と現在の接続総数の差が最大のAPをローミング先のAPとして決定することができる。
【0084】
自らローミングすると判断したSTA41がローミング先のAPとしてAP30を選択すると、ブロック317でSTA41の接続ユーティリティ155は、周知の手順で現在のAP20とのセッションを維持しながら無線チャネルの周波数を変更して接続先をAP20からAP30に変更する。ローミングに伴って、AP20のDHCPサーバはそれまでSTA41に付与していたIPアドレスを回収して新規に参加してくる他のSTAに付与するために確保する。また、AP30のDHCPサーバは、STA41に新たなIPアドレスを付与する。
【0085】
STA41はローミングする際に、事前に他のSTAにアドホック・モードで通信して自らがこれからローミングすることを宣言すれば、その後の平均トラフィックの変化により他のSTAが、自らがローミングの対象であると判断してしまうような事態を確実に防止することができる。また、STA41はローミングする直前に、アドホック・モードで他のSTAから取得した最新の共有情報に基づいてローミングの最終判断をするようにしてもよい。STA41がAP20からAP30にローミングした場合は、BSS22の平均トラフィックの総和が下がって、残りの各STAは所定のトラフィックによる通信を維持することができたり、あらたにBSS22にセルの単独範囲から参加するSTAの接続を確保したりすることができるようになる。
【0086】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0087】
10…インフラ・モードの無線LANシステム
20、30…無線基地局(アクセス・ポイント(AP))
20−1、20−3、20−5、30−1、30−3、30−5、41、43、45、
100…無線端末装置(STA)
22、32…基本サービス・セット(BSS)
50…アドホック・モードの無線LANシステム
51、53…アドホック・ネットワーク

【特許請求の範囲】
【請求項1】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置がセルの重複範囲を有しそれぞれ複数の無線端末装置が接続された複数の無線基地局のいずれかに接続するために前記無線端末装置に、
前記セルの重複範囲を形成する複数の無線基地局の性能を示す性能情報を取得するステップと、
前記セルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置と前記アドホック・モードで通信して前記他の無線端末装置の無線基地局に対する接続状態を示す接続情報を受信するステップと、
前記性能情報と前記接続情報に基づいて接続する無線基地局を決定するステップと、
前記決定した無線基地局に接続するステップと
を有する処理を実行させるコンピュータ・プログラム。
【請求項2】
前記性能情報と自らの前記接続情報と前記他の無線端末装置の前記接続情報を記憶するトラフィック・テーブルを提供するステップと、
前記自らの接続情報と前記他の無線端末装置の接続情報を定期的に前記トラフィック・テーブルに記憶するステップと
を有する請求項1に記載のコンピュータ・プログラム。
【請求項3】
前記接続情報が無線基地局に対する各無線端末装置のトラフィックを含み、前記決定するステップが前記性能情報と特定の無線基地局に対する各無線端末装置のトラフィックの総和に基づいて決定するステップを含む請求項1または請求項2に記載のコンピュータ・プログラム。
【請求項4】
前記接続情報が無線端末装置の識別子を含み、前記決定するステップが前記性能情報と特定の無線基地局に接続された無線端末装置の総数に基づいて決定するステップを含む請求項1から請求項3のいずれかに記載のコンピュータ・プログラム。
【請求項5】
前記性能情報を取得するステップが、各無線基地局からマネージメント・フレームを通じて取得するステップを含む請求項1から請求項4のいずれかに記載のコンピュータ・プログラム。
【請求項6】
前記性能情報を取得するステップが、前記セルの重複範囲においていずれかの無線基地局に接続する前に他の無線端末装置と前記アドホック・モードで通信して取得するステップを含む請求項1から請求項5のいずれかに記載のコンピュータ・プログラム。
【請求項7】
前記アドホック・モードの通信が前記インフラストラクチャ・モードのセッションを維持した状態で行われる請求項1から請求項6のいずれかに記載のコンピュータ・プログラム。
【請求項8】
前記無線端末装置が前記性能情報と前記接続情報に基づいて前記複数の無線基地局の中で電波強度の弱い無線基地局に接続されたときに、
定期的に電波強度の強い無線基地局に接続された他の無線端末装置と前記アドホック・モードで通信して前記他の無線端末装置の接続情報を取得するステップと、
前記電波強度の強い無線基地局の性能情報と前記電波強度の強い無線基地局に接続された各無線端末装置の接続情報に基づいてローミング受け入れ条件が成立したか否かを判断するステップと、
前記ローミング受け入れ条件が成立したときに前記電波強度の強い無線基地局にローミングするステップと
を有する請求項1から請求項7のいずれかに記載のコンピュータ・プログラム。
【請求項9】
それぞれインフラストラクチャ・モードとアドホック・モードで通信することが可能な複数の無線端末装置がセルの重複範囲を有する複数の無線基地局のいずれかに接続されているときに前記無線端末装置に、
各無線基地局の性能を示す性能情報を取得するステップと、
他の無線端末装置と定期的に前記アドホック・モードで通信して無線基地局に対する自らの接続状態を示す接続情報を送信するステップと、
他の無線端末装置と定期的に前記アドホック・モードで通信して無線基地局に対する前記他の無線端末装置の接続情報を受信するステップと、
前記自らが接続する無線基地局の性能情報と前記自らが接続する無線基地局に接続された各無線端末装置の前記接続情報に基づいてローミング条件が成立するか否かを判断するステップと、
ローミング条件が成立すると判断したときに自らがローミングの対象であるか否かを決定するステップと
を含む処理を実行させるコンピュータ・プログラム。
【請求項10】
前記ローミング条件が、自らが接続する無線基地局に対する各無線端末装置のトラフィックの総和が所定値を越えたときに成立する請求項9に記載のコンピュータ・プログラム。
【請求項11】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが最大の無線端末装置が自らローミングの対象であると決定するステップを含む請求項10に記載のコンピュータ・プログラム。
【請求項12】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが小さい方から順番に選択した所定数の無線端末装置がそれぞれ自らローミングの対象であると決定するステップを含む請求項10に記載のコンピュータ・プログラム。
【請求項13】
前記ローミング条件が、自らが接続する無線基地局に接続されている無線端末装置の総数が所定値を越えたときに成立する請求項9から請求項12のいずれかに記載のコンピュータ・プログラム。
【請求項14】
前記決定するステップが、前記セルの重複範囲に存在しかつ同一の無線基地局に接続された複数の無線端末装置の中でトラフィックが最小の無線端末装置が自らローミングの対象であると決定するステップを含む請求項13に記載のコンピュータ・プログラム。
【請求項15】
前記自らがローミングの対象であると決定した無線端末装置は、前記自らが接続する無線基地局とは異なる無線基地局の性能情報と前記異なる無線基地局に接続された各無線端末装置の前記接続情報に基づいて前記異なる無線基地局のローミング受け入れ条件が成立するか否かを判断するステップを有する請求項9から請求項14に記載のコンピュータ・プログラム。
【請求項16】
前記自らがローミングの対象であると決定した無線端末装置は、ローミング先の無線基地局が複数存在する場合に、各無線基地局に対する各無線端末装置のトラフィックの総和、無線端末装置の接続総数、および通信品質のいずれか1つの要素または複数の要素の組み合わせに基づいてローミング先の無線基地局を決定するステップを有する請求項9から請求項15のいずれかに記載のコンピュータ・プログラム。
【請求項17】
プロセッサと、
メイン・メモリと、
無線コントローラと、
前請求項1から請求項16のいずれかに記載されたコンピュータ・プログラムを格納する不揮発性の記憶装置と
を有する無線端末装置。
【請求項18】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置であって、
無線基地局の性能を示す性能情報を取得する手段と、
無線基地局に対する接続状態を示す接続情報を前記アドホック・モードで通信して他の無線端末装置と相互に交換する手段と、
複数の無線基地局が形成するセルの重複範囲に存在する間に各無線基地局の前記性能情報と各無線基地局に接続された各無線端末装置の前記接続情報に基づいて接続先の無線基地局を決定する手段と、
決定した前記無線基地局に接続する手段と
を有する無線端末装置。
【請求項19】
インフラストラクチャ・モードとアドホック・モードで通信することが可能な無線端末装置であって、
無線基地局の性能を示す性能情報を取得する手段と、
無線基地局に対する接続状態を示す接続情報を前記アドホック・モードで通信して他の無線端末装置と相互に交換する手段と、
複数の無線基地局が形成するセルの重複範囲に存在する間に各無線基地局の前記性能情報と各無線基地局に接続された各無線端末装置の前記接続情報に基づいてローミングするか否かを決定する手段と
を有する無線端末装置。
【請求項20】
それぞれ複数の無線端末装置が接続された複数の無線基地局の負荷を各無線端末装置が調整する方法であって、
各無線端末装置が各無線基地局の負荷に対する性能を示す性能情報を取得するステップと、
前記無線端末装置がいずれかの無線基地局に接続する前に他の無線端末装置と直接無線通信をして無線基地局に対する負荷状態を示す負荷情報を取得するステップと、
接続可能な複数の無線基地局を検出した前記無線端末装置が、前記性能情報と前記負荷情報に基づいて接続する無線基地局を決定するステップと、
前記決定した無線基地局に接続するステップと
を有する方法。
【請求項21】
それぞれ複数の無線端末装置が接続された複数の無線基地局の負荷を各無線端末装置が調整する方法であって、
各無線端末装置が前記複数の無線基地局の負荷に対する性能を示す性能情報を取得するステップと、
無線基地局に対する負荷状態を示す負荷情報を定期的に取得するステップと、
他の無線端末装置と直接無線通信をして無線基地局に対する負荷状態を示す負荷情報を定期的に交換するステップと、
前記無線基地局の性能情報と各無線端末装置の前記負荷情報に基づいてローミング条件が成立するか否かを自ら判断するステップと、
ローミング条件が成立すると判断した前記無線端末装置がローミングするステップと
を有する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−223178(P2011−223178A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−88300(P2010−88300)
【出願日】平成22年4月7日(2010.4.7)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
【復代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
【Fターム(参考)】