以下、実施の形態について、図面を参照しながら具体的に説明する。
以下で説明する実施の形態は、いずれも本発明の好ましい一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、より好ましい形態を構成する任意の構成要素として説明される。なお、同一の構成要素には同一の符号を付し、説明を省略する場合がある。
(第1の実施の形態)
第1の実施の形態において、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する制御装置などについて説明する。
図1は、第1の実施の形態に係る制御装置10及び通信システム1を示す模式図である。
図1に示される複数の通信装置(以下、基地局ともいう)A1、A2、A3、A4、A5及びA6(「A1等」ともいう)のそれぞれは、無線端末と無線通信により通信可能に接続され得る無線通信IF(インタフェース)を備える基地局装置である。利用される無線通信規格は、例えば、IEEE802.11a,b,g,nに準拠する無線LAN(Local Area Network)であるがこれに限定されない。また、複数の基地局A1等のそれぞれは、他の基地局A1等と無線通信により通信可能に接続され得る無線通信IFを備える。利用される無線通信規格は上記と同様である。なお、上記2つの無線通信IFは、1つの無線通信モジュールによって実現されてもよい。
複数の基地局A1等は、他の基地局A1等と接続されることで無線メッシュネットワーク(単にメッシュネットワーク、又は、ネットワークともいう)を構成している。メッシュネットワークでは、ダイナミックルーティング又はスタティックルーティングによって、各基地局が経路表を参照しながら通信パケット(単にパケットともいう)を転送する。ここで、図15(a)は経路表を示す一例であり、各基地局は、メッシュネットワークを構成する他の基地局との通信経路についてのホップ数を経路表により把握している。ホップ数とは、無線通信によるメッシュネットワークを構築している当該他の基地局との間に経路上で、到達先も含めノードをいくつ経由するかを示す値であり、隣接している基地局間のホップ数は「1」である。
複数の基地局A1等のそれぞれは、当該基地局の無線通信などの設定情報を保持しており、保持している設定情報を起動時などに読み込んで、設定情報に基づいて動作する。設定情報は、無線チャネル、SSID及びIPアドレスなどを含む。
なお、複数の基地局A1等同士の通信、及び、複数の基地局A1等それぞれと端末との通信は、無線通信に限定されず、その一部又は全部が有線通信であってもよい。
制御装置10は、複数の基地局A1等の動作を制御する制御装置である。制御装置10は、複数の基地局A1等のそれぞれの設定情報を保有している。そして、その設定情報を複数の基地局A1等のそれぞれに無線通信によって配布し、その後、配布した設定情報に基づいて、複数の基地局A1等のそれぞれが動作するように制御する。
制御装置10は、設定情報に基づいて基地局A1等が動作している状態から、上記設定情報とは異なる新たな設定情報(以降、単に「新たな設定情報」ともいう)で動作している状態に遷移させるための所定のコマンドを、複数の基地局A1等のそれぞれにネットワークを介して送信する場合がある。
ここで、複数の基地局A1等それぞれの設定情報を更新する順序によっては、複数の基地局A1等すべてを新しい状態に遷移させることができなくなる。例えば、図1において、基地局A1より先に、制御装置10から基地局A1への通信経路上に位置している基地局A4を、新たな設定情報に基づく動作を開始させると、基地局A4と基地局A1とを接続している通信リンクが断絶し、通信できなくなることがある。その結果、基地局A1は上記所定のコマンドを受信できず、基地局A1が新たな設定情報に基づく動作を開始できなくなる。
そこで、制御装置10は、上記所定のコマンドを基地局A1等に送信する順番を適切にすることで、すべての基地局A1等に所定のコマンドを受信させ、新たな設定情報に基づく動作をさせるために、上記所定のコマンドを基地局A1等に送信する順番を適切に設定する必要がある。
図2は、第1の実施の形態に係る制御装置10の機能ブロックを示すブロック図である。
図2に示されるように、制御装置10は、通信IF11と、取得部12と、決定部13と、送信部14とを備える。制御装置10の各機能は、プロセッサがメモリ等を用いて所定のプログラムを実行することで実現され得る。
通信IF11は、基地局A4と通信可能に接続される無線通信インタフェース装置である。無線IF11は、基地局A4を介して複数の基地局A1等と通信可能に接続されている。無線IF11の通信規格は、例えば、IEEE802.11a,b,g,nに準拠する無線LAN(Local Area Network)であるがこれに限定されない。なお、制御装置10は、無線IF11の代わりに、有線の通信インタフェースを備えてもよい。その場合、通信規格は、IEEE802.3などに準拠する有線LANなどであるがこれに限定されない。なお、通信IF11と基地局A4との間には、1以上の通信装置が介在してもよく、また、複数の無線通信リンク及び有線通信リンクが介在してもよい。
取得部12は、複数の基地局A1などへの通信経路のホップ数を取得する処理部である。取得部12は、制御装置10から、複数の基地局A1等それぞれに至る通信経路のホップ数を取得する。
具体的には、取得部12は、制御装置10から複数の基地局A1等に至る通信経路上において制御装置10に最も近い基地局を探索する。ここで、制御装置10から複数の基地局A1等に至る通信経路上において制御装置10に最も近い基地局を、最寄り基地局、又は、第一通信装置ともいう。そして、取得部12は、最寄り基地局から、複数の基地局A1等のうちの最寄り基地局を除く基地局それぞれへのホップ数を用いて、制御装置10から複数の基地局A1等それぞれに至る通信経路のホップ数を取得する。複数の基地局のうち最寄り基地局を除く基地局を第二通信装置ともいう。
なお、最寄り基地局の探索は、複数の基地局A1等との通信パケットの送受信によってなされてもよい。通信パケットの送受信による最寄り基地局の探索方法については後で詳しく説明する。
決定部13は、複数の基地局A1等が新たな設定情報に基づいて動作を開始する順序を決定する処理部である。決定部13は、複数の基地局A1等の順序であって、各基地局の順番が、制御装置10から当該基地局へのホップ数が大きいほど早い順番になる順序を決定する。
送信部14は、複数の基地局A1等それぞれの動作に関する新たな設定情報を、複数の基地局A1等それぞれに送信する処理部である。また、送信部14は、新たな設定情報に基づく動作を開始させるコマンドを、決定部13が決定した順序に従って順次に複数の基地局A1等それぞれにネットワークを介して送信する。送信部14が送信する新たな設定情報は、基地局A1などの無線通信の設定情報を含む。
なお、新たな設定情報に基づく動作を開始させるコマンドは、当該コマンドが送信される対象である通信装置を再起動させるコマンド、通信装置の無線通信モジュールのデバイスドライバをリロードさせるコマンド、又は、個別の設定項目を設定するコマンドなどを採用し得る。
図3は、第1の実施の形態に係る制御装置10による、最寄り基地局の探索方法の第一例を示すシーケンス図である。
図3における当初の時点では、制御装置10は、最寄り基地局がどの基地局であるかはわからない状態である。図3には、制御装置10から基地局A1へ要求パケットが送信されてから、その要求パケットに対する応答である応答パケットが基地局A1から制御装置10に送信されるまでの一連の通信が示されている。図3に示した例では、要求パケットはユニキャストとし、その送信先は基地局A1であるが、基地局A1に限定されず任意である。あるいはブロードキャストも可能である。ただし、網羅的に最寄り基地局を探索するためには、後に図9を用いて説明する様に、すべての基地局に向けてユニキャストするのが好ましい。要求パケットの送信先によって、最寄り基地局が変わり得るからである。
ここで、要求パケットとは、当該要求パケットの宛先アドレスフィールドに設定された通信装置に、当該要求パケットに対する応答を示す応答パケットを送信させる通信パケットである。
まず、制御装置10の取得部12は、宛先アドレスフィールドに基地局A1のアドレスを設定した要求パケットを生成し、パケットP1として通信IF11により送信する。制御装置10が送信したパケットP1は基地局A4に受信される。
基地局A4は、パケットP1を受信したら、パケットP1の宛先アドレスフィールドを参照し、宛先が基地局A1であることを取得する。また、基地局A4は、自装置が保有する経路表を参照して、基地局A1へ向かう通信経路を有していること、及び、基地局A1へ向かう通信経路のネクストホップが基地局A2であることを取得する。そして、基地局A4は、パケットP1を、ネクストホップである基地局A2にパケットP2として送信(転送)する。パケットP2は、基地局A2によって受信される。ここでネクストホップとは、宛先の通信装置に至る通信経路上の次の隣接装置である。
基地局A2は、受信したパケットP2を、上記基地局A4における処理と同様の処理によって、基地局A1にパケットP3として送信する。パケットP3は、基地局A1によって受信される。
基地局A1は、受信したパケットP3の宛先アドレスフィールドを参照し、宛先が自装置であることを認識して、パケットP3である要求パケットの応答を示す応答パケットを生成する。応答パケットであるパケットP4の宛先アドレスは、受信したパケットP3の送信元である制御装置10とする。基地局A1は、自装置が保有する経路表を参照して制御装置10へ向かう通信経路のネクストホップが基地局A2であることを取得し、生成したパケットP4を基地局A2に送信する。パケットP4は、基地局A2によって受信される。
基地局A2は、受信したパケットP4を、上記基地局A4における処理と同様の処理によって、基地局A4にパケットP5として送信する。パケットP5は、基地局A4によって受信される。
基地局A4は、受信したパケットP5の宛先アドレスフィールドを参照し、宛先が、自装置に接続された制御装置10であることを認識する。基地局A4は、受信したパケットP5を、制御装置10にパケットP6として送信する。パケットP6は、制御装置10によって受信される。
制御装置10は、パケットP6を受信した場合、パケットP6の物理ヘッダに含まれる送信元アドレスを参照して、パケットP6を送信した基地局、つまり、基地局A4が最寄り基地局であることを取得する。
図4は、第1の実施の形態に係る制御装置10による、最寄り基地局の探索方法の第二例を示すシーケンス図である。図4には、複数の基地局A1等が代理応答機能を有する場合の最寄り基地局の探索方法を示したものである。
ここで、代理応答機能とは、ネットワークの外部から複数の基地局A1等のいずれかを宛先とする要求パケットを基地局が受信した場合に、その要求パケットを受信した基地局が要求パケットに対する応答を示す応答パケットを送信する機能をいう。この機能は、複数の基地局A1などが正常に動作していることが既知であるときに、要求パケットの宛先とは異なる基地局が、その宛先である基地局に代理して、要求パケットに対する応答を返す機能であるといえる。この機能によれば、複数の基地局A1等間で送受信される通信パケットの数が削減されることにより、ネットワークにおける通信量が削減される。
図4において、まず、基地局A1、A2及びA4等の間で通信が可能であることが確かめられているとする。
まず、制御装置10の取得部12は、図3と同様のパケットP1を通信IF11により送信する。制御装置10が送信したパケットP1は基地局A4に受信される。
基地局A4は、パケットP1を受信したら、パケットP1の宛先アドレスフィールドを参照し、宛先が基地局A1であることを取得する。基地局A4は、すでに基地局A1との通信が可能であることを確認していることに基づいて、受信したパケットP1に対する応答パケットであるパケットP6を生成する。パケットP6の宛先は、パケットP1の送信元である制御装置10とする。基地局A4は、生成したパケットP6を、制御装置10に送信する。パケットP6は、制御装置10によって受信される。
制御装置10は、代理応答機能によって送信されたパケットP6を受信した場合、図3における場合と同様に、基地局A4が最寄り基地局であることを取得する。
図5は、第1の実施の形態に係る、基地局間のホップ数を示す情報の説明図である。図5に示されるホップ数を示す情報は、各基地局が保有している経路表に基づいて定まる情報である。
制御装置10の取得部12は、複数の基地局A1などのそれぞれから経路表を取得する。そして、取得部12は、取得した経路表を参照して、基地局間の接続の有無に基づいてネットワークトポロジを把握し、基地局間のホップ数を示す情報を生成する(図5参照)。
例えば、図5では、基地局A1から基地局A2にパケットを送信する通信経路は1ホップであり、基地局A1から基地局A4にパケットを送信する通信経路は2ホップであることが示されている。また、基地局A4から基地局A1にパケットを送信する通信経路は2ホップであり、基地局A4から基地局A5にパケットを送信する通信経路は1ホップであることが示されている。
その他の基地局についても図5に示されるとおりである。なお、図5に表される情報は、基地局A1等のそれぞれから経路表を取得して生成するのでなく、基地局A1等はそれぞれ経路表を交換しているので、図3または図4による方法を用いて特定した最近接の基地局(第一基地局)であるA4のみから図5のごとき経路表を取得し生成することが望ましい。これにより、取得のためのパケット数を抑制できる。
図6は、第1の実施の形態に係る、制御装置10から基地局A1等それぞれへのホップ数を示す情報の説明図である。図6に示される基地局A1等それぞれへのホップ数は、図5に示される基地局間のホップ数に基づいて導出される。
具体的には、制御装置10の取得部12は、複数の基地局A1等のうちの最寄り基地局から、最寄り基地局を除く基地局A1等のそれぞれへのホップ数を、図5に示される情報から取得する。そして、制御装置10から最寄り基地局までのホップ数を加算することで、制御装置10から基地局A1等それぞれへのホップ数を取得する。
例えば、図1に示されるネットワークの場合、制御装置10の取得部12は、図3および図4を用いて説明した方法により、制御装置10の最寄り基地局が基地局A4であることを知る。また、制御装置10から基地局A4までのホップ数は1である。よって、取得部12は、図5に示される情報から基地局A4に関する行を抜き出し、各ホップ数に1を加算して、制御装置10から基地局A1等それぞれへのホップ数を示す情報を得る(図6)。
この場合、決定部13は、通信経路のホップ数が3である基地局A1、通信経路のホップ数が2である基地局A2、A3、A5及びA6、並びに、通信経路のホップ数が1である基地局A4、という順序を決定する。なお、ホップ数が同じ複数の基地局の順序は任意に決定され得る。
以上のように構成された制御装置10の処理について説明する。
図7は、第1の実施の形態に係る制御装置10の処理を示すフロー図である。図8は、弟1の実施の形態に係る制御装置及び基地局の通信の流れを示すシーケンス図である。なお、図7及び図8で、同じ処理には同じ符号を付している。
ステップS101において、取得部12は、最寄り基地局を探索する。最寄り基地局の探索には、要求パケットの送信と、送信した要求パケットに対する応答を示す応答パケットの受信とを用いる方法が用いられ得る(図3又は図4参照)。
ステップS102において、取得部12は、複数の基地局A1等それぞれに至る通信経路のホップ数を取得する。ホップ数の取得には、前述のとおり、複数の基地局A1等それぞれから取得し得る経路表が用いられ得るが、最寄りの基地局に格納された、図5に示す包括的な経路表を取得することも可能である。
ステップS103において、決定部13は、複数の基地局A1などが新たなコマンドに基づいて動作を開始する順序を決定する。この順序は、各基地局の順番が、最寄り基地局から当該基地局に至る通信経路のホップ数が大きいほど早い順番になる順序である(図6参照)。
ステップS104において、送信部14は、複数の基地局A1等それぞれの動作に関する新たな設定情報を、複数の基地局A1等それぞれに送信する。
ステップS105において、送信部14は、複数の基地局A1等それぞれに対して、ステップS104で送信した新たな設定情報に基づく動作を開始させるコマンド(例えば再起動コマンドなど)を送信する。送信の順序は、ステップS103で決定した順序に従う。そのため、通信経路のホップ数が最大である2である基地局A1が、最初に、新たな設定情報に基づく動作を開始するための処理20を行い、その後に新たな設定情報に基づく動作をする。次に、通信経路のホップ数が1である基地局A2、A3、A5及びA6が処理20を行い、その後に新たな設定情報に基づく動作を開始し、最後に、基地局A4が処理20を行い、その後に新たな設定情報に基づく動作を開始する(図8参照)。ここで、各基地局は、独立に処理20を実行できる、つまり、各基地局が同時並行的に処理20を実行することができるので、他の基地局の処理20の実行完了を待つ必要がない。よって、基地局の1つ1つが順次に処理20を実行する場合よりも、すべての基地局が新たな設定情報に基づく動作を開始するのに要する時間を削減できるという利点がある。
このようにすることで、制御装置10は、ネットワークを構成する複数の通信装置(基地局)が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。また、ネットワークを構成する基地局の新たな設定情報に基づく動作を、より短い時間で開始させるという効果も奏し得る。
図9は、第1の実施の形態に係る制御装置10の別の適用例として、通信システム2に適用する例を示す模式図である。
図9に示される複数の基地局A1等のそれぞれは、図1における複数の基地局A1等と同様の構成を有し、さらに、基地局A1と基地局A2とが有線ネットワーク30に接続されている。また、制御装置10は、有線ネットワーク30に接続されており、有線ネットワーク30を介して2つの基地局A1及びA2に接続されている。
図10は、第1の実施の形態に係る別の適用例における、制御装置10から各基地局に至る通信経路における最寄り基地局を示す説明図である。
図10に示されるように、制御装置10から各基地局に至る通信経路における最寄り基地局は、ネットワークトポロジに応じて基地局A1及びA2のいずれかになり得る。例えば、基地局A3に至る通信経路における最寄り基地局は基地局A1であり、基地局A4に至る通信経路における最寄り基地局は基地局A2である。
図11は、第1の実施の形態に係る制御装置10を通信システム2に適用する例における制御装置10から各基地局へのホップ数を示す情報の説明図である。
図9に示される適用例の場合、取得部12は、基地局A1等それぞれについて図10に示される最寄り基地局を用いて、制御装置10から基地局A1等それぞれに至る通信経路のホップ数を取得する。ホップ数を取得する方法は、図3又は図4における方法と同様である。
例えば、取得部12は、制御装置10から基地局A3までの通信経路のホップ数を以下のように求める。制御装置10から基地局A3へ至る通信経路における最寄り基地局は基地局A1である。よって、制御装置10から基地局A3までのホップ数は、基地局A1から基地局A3までの通信経路のホップ数である1に、制御装置10から基地局A1までの通信経路のホップ数である1を加算して、2となる。
また、取得部12は、制御装置10から基地局A4までの通信経路のホップ数を以下のように求める。制御装置10から基地局A4へ至る通信経路による最寄り基地局は基地局A2である。よって、制御装置10から基地局A4までのホップ数は、基地局A2から基地局A4までの通信経路のホップ数である1に、制御装置10から基地局A2までの通信経路のホップ数である1を加算して、2となる。
この後、決定部13及び送信部14による処理により、制御装置10は、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制することができる。また、基地局A1等それぞれの新たな設定情報に基づく動作を、より短い時間で開始させることができるという効果も奏し得る。
第1の実施の形態では、制御装置が基地局からの経路表を取得するとともに、図3または図4に示した方法により最寄りの基地局を特定し、制御装置から各基地局までのホップ数を得る方法を説明したが、必ずしもこれに限定されるものではない。
(第2の実施形態)
第2の実施の形態では、制御装置からの各基地局までのホップ数をそれぞれの基地局が取得する方法について説明する。第2の実施形態における通信システムおよび制御装置の機能ブロックは第1の実施形態における図1および図2と同様であり、重複を避けて説明を割愛する。
図12は、第2の実施の形態にかかる基地局(通信装置)の機能ブロック図である。
図12に示されるように、複数の基地局A1等は、通信IF41と、取得部42と、更新部43と、送信部44、接続先管理テーブル45、受信部46および実行部47とを備える。
通信IF41は、制御装置10および他の複数の基地局A1等のそれぞれとの通信処理を行う。通信IF41は、CPU、ROM、RAM、記憶装置、WNIC、NICなどにより実現される。
取得部42は、隣接した基地局経由でシステム内のすべての基地局の経路表(後述するように、第1の実施の形態における経路表と異なり、基地局同士間のみならず制御装置との間のホップ数などの情報をも含む。以降、接続先管理情報ともいう。)を通信IF41経由で取得し、その都度、接続先管理テーブル45を更新するように更新部43に通知する。
また、取得部42は、通信システム1において、自装置以外の複数の基地局A1等の各々すべてから接続先管理情報を取得したか否かを判断し、取得した場合にはその旨を送信部44に通知する。取得部42は、CPU、ROM、RAM、記憶装置などにより実現される。
更新部43は、制御装置10からの情報収集パケットを受信したことにより、自装置と制御装置10とのホップ数を接続先管理テーブル45に追加し、自装置の接続先管理テーブル45の接続先管理情報を更新する。例えば、制御装置10に隣接する基地局A4の接続先管理情報には、制御装置10とのホップ数「1」が追加される。ここで、情報収集パケットとは、システム内の複数の基地局A1等の接続先管理情報を取得するために、制御装置10が複数の基地局A1等に向けて送信するパケットである。
また、更新部43は、取得部42の通知をもとに接続先管理テーブル45の接続先管理情報を更新する。例えば、隣接した他の基地局経由でシステム内のすべての基地局の接続先管理テーブル45の接続先管理情報を更新する。更新部43は、CPU、ROM、RAM、記憶装置などにより実現される。
送信部44は、更新部43で更新された接続先管理テーブル45の接続先管理情報を、通信システム1にメッシュネットワークを構築している自装置以外の複数の基地局A1等(以後、自装置以外の複数の基地局A1等)に向けて、それぞれ送信する。
また送信部44は、制御装置10に向けて、自装置が保持する最新の接続先管理情報を送信する。送信部44は、CPU、ROM、RAM、記憶装置などにより実現される。
接続先管理テーブル45は「接続先」および「ホップ数」を含む構成の接続先管理情報を格納するテーブルである。
接続先管理テーブル45は、自装置が無線通信によるメッシュネットワークを構築している他の基地局との間の接続先管理情報を備える。接続先管理テーブル45は、CPU、ROM、RAM、記憶装置などにより実現される。
受信部46は、制御装置10から情報収集パケットを受信したか否かを判断し、受信した場合には、更新部43にその旨を通知する。
また、受信部46は、制御装置10から制御コマンドを受信したか否かを判断し、受信した場合には、その旨を実行部47に通知する。受信部46は、CPU、ROM、RAM、記憶装置などにより実現される。
実行部47は、受信部46の判断をもとに自装置に対する制御コマンドを実行する。実行部47は、CPU、ROM、RAM、記憶装置などにより実現される。
図13は、実施の形態にかかる制御装置10がユーザから制御コマンド送信の指示を受けて制御コマンドを送信するまでのフロー図である。この処理は、制御装置10が、複数の基地局A1等のそれぞれに向けて、制御コマンドを送信する処理である。なお、制御装置10は、既に複数の基地局A1等と相互に無線通信できる状況であることとする。
ユーザから、新たな設定情報および制御コマンド送信の指示を受けると、ステップS51において、制御装置10の取得部12は、通信システム1の複数の基地局A1等の全ての通信装置に対し、情報収集パケットを無線IF31経由で送信する。ここで、制御装置10からの情報収集パケットはブロードキャスト送信されてもよいし、通信装置のIPアドレス宛にユニキャスト送信されてもよい。
ステップS52において、取得部12は、ステップS51にて送信した情報収集パケットに対する各通信装置からの応答(接続先管理情報)を取得し、接続先管理情報をもとに制御装置の接続先管理テーブル(不図示)に格納する。
ステップS53において、取得部12は、情報収集パケットを送信した全ての基地局から応答を取得したか否かを判断する。取得部12は、全ての基地局から応答を取得できた場合は、ステップS54に遷移する。一方、取得できなかった場合は、ステップS53を繰り返し、全ての基地局から応答を取得するために待機する。
ステップS54において、決定部13は、ステップS52で取得部32により取得された接続先管理情報をもとに、制御装置の接続先管理テーブルから制御コマンドを送信したい基地局A1等のうち最も経路上遠方に位置する(つまり制御装置10からホップ数が最も多い)基地局から順にコマンド送信順序を決定する。
ステップS55において、送信部14は、制御コマンド実行順序に基づいて複数の通信装置B1に向けて設定情報および制御コマンドを順に送信する。なお、第1の実施の形態の説明では、新たな設定情報の送信と、これに基づく動作を開始させるコマンドの送信とを別のステップとして説明したが、本実施の形態の説明においては、簡単のため同時に送信するとして説明する。
図14は、第2の実施の形態にかかる基地局が、接続先監理情報を最新状態に更新したうえで、制御装置から送信される制御コマンドを実行するまでのフロー図である。この処理は、通信システム1において、複数の基地局A1等のそれぞれが互いに無線接続を行い、無線メッシュネットワークを構築してのち、制御装置10により送信される制御コマンドを受信し、各基地局がコマンドを実行する処理である。なお、制御装置10が、複数の基地局A1等のうちのいずれかの基地局と相互に無線通信できる状況になるまでの無線接続プロセスは既存技術のため省略する。また、図14の説明では、第1の実施の形態におけると同じく、図1に示す通信システム1を参照し、制御装置10に隣接する基地局をA4として説明するが、通信システム1における制御装置および複数の基地局の構成如何によって隣接する通信装置は異なる。つまり、制御装置10に隣接する基地局が基地局A1などであってもよい。
ステップS61において、基地局の取得部42は隣接した他の基地局から経路表を通信IF41経由で取得し、更新部43は接続先管理テーブル45を更新する(更新処理については後述する)。これにより、複数の基地局A1等は、互いの基地局の接続先管理情報を共有することになる。
ステップS62において、受信部46は、制御装置10から情報収集パケットを受信したか否かを判断する。受信部46は、受信した場合には、ステップS63に遷移する。一方、受信していない場合には、ステップS62を繰り返し、待機する。
ステップS63において、更新部43は、制御装置10からの情報収集パケットを受信(ステップS62のYes)したことにより、自装置と制御装置10とのホップ数を接続先管理テーブル45に追加し(詳細は図15の説明で行う)、接続先管理情報を更新する。
ステップS64において、送信部44は、ステップS63で更新された接続先管理テーブル45の接続先管理情報を、通信システム1においてメッシュネットワークを構築している自装置以外の複数の基地局A1等(以後、自装置以外の複数の基地局A1等)に向けて、それぞれ送信する。
ステップS65において、取得部42は、自装置以外の複数の基地局A1等から、接続先管理情報を通信IF41を介して取得し、その都度、接続先管理テーブル45を更新する。
ステップS66において、取得部42は、通信システム1において、自装置以外の複数の基地局A1等の各々すべてから接続先管理情報を取得したか否かを判断する。取得部42は、取得した場合にはステップS67に遷移する。一方、受信していない場合には、ステップS66を繰り返し待機する。
ステップS67において、送信部44は、制御装置10に向けて、自装置が保持する最新の接続先管理情報を送信する。
ステップS68において、受信部46は、制御装置10から新たな設定情報および制御コマンドを受信したか否かを判断する。受信部46は、受信した場合には、ステップS69に遷移する。一方、受信していない場合には、ステップS68を繰り返し待機する。
ステップS69において、実行部47は、受信部46の判断をもとに(ステップS68のYes)、自装置に対する制御コマンドを実行する。
図15は、実施の形態にかかる通信装置が備える接続先管理テーブルの一例を説明する図表である。
図15(a)〜(d)を用いて、基地局における、接続先管理テーブル45への情報追加および更新処理を詳細に説明する。
図15に示す接続先管理テーブル45は、少なくとも「接続先」および「ホップ数」で構成されている。「接続先」は、無線通信によるメッシュネットワークを構築している他の基地局であり、「ホップ数」は、前述のとおり無線通信によるメッシュネットワークを構築している当該他の基地局との間に経路上でノードをいくつ経由するかを示す値であって、隣接する基地局間のホップ数は「1」である。
ここから、図15(a)および(b)を用いて、通信システム1において、複数の基地局A1等のそれぞれが無線接続を行い、無線通信によるメッシュネットワークを構築してから制御装置10からの情報収集パケットを受信(図14のステップS62のYes)したときの接続先管理テーブル45の情報追加および更新処理を図12も参照しながら説明する。
図15(a)は、通信装置A4において、隣接した基地局(A2、A3、A5およびA6)から接続先管理情報を通信IF41経由で取得し、更新部43により更新された接続先管理情報(経路表)である。無線通信によるメッシュネットワークを構築した後、通信装置A4の更新部43は、取得部42の通知をもとに、隣接する基地局A2、A3、A5およびA6から、接続先管理情報である自装置と隣接した基地局との間のホップ数「1」を随時取得し、図15(a)の接続先管理情報を更新する。
ここで、取得部42が、他の基地局A2、A3、A5およびA6から接続先管理情報を取得する際に、各々の基地局の接続先管理テーブル45に格納された、これらに隣接する基地局に対するホップ数を取得し、更新部43は、当該取得したホップ数をもとに、図15(a)の接続先管理テーブル45を作成してもよい。より具体的には、図1を参照すると、基地局A2、A3、A5およびA6は基地局A4とホップ数「1」であり、基地局A1は基地局A2ないしA3とホップ数「1」であることから、基地局A4は基地局A1とホップ数「2」であることが、それぞれの接続先管理テーブル45の接続先管理情報をもとに導き出せる。
その後、基地局A4は、制御装置10からの情報収集パケットを受信すると、自装置と制御装置10とのホップ数「1」を図15(b)に示すとおり接続先管理情報に追加し、接続先管理テーブル45の接続先管理情報を更新する。第1の実施の形態では、接続管理情報(経路表)は基地局どうしの情報のみであったが、第2の実施の形態では、これに制御情報に関するものも含まれる点が異なる。
このように、まず、制御装置に隣接し、情報収集パケットを受信した基地局は、接続先管理テーブル45を更新し、制御装置とのホップ数の情報を加えた最新の接続先管理情報を保持する。
次に、制御装置10に隣接し情報収集パケットを受信した基地局からの接続先管理情報をもとに、この基地局に隣接する基地局は、自装置が保持している接続先管理テーブル45に、制御装置10までのホップ数を加えた最新の接続先管理情報に更新する処理を説明する。具体的には、例えば基地局A2の取得部42は、隣接する基地局A4(制御装置10に隣接)から、上述した最新の接続先管理情報(図15(b))を取得する。そして、基地局A2の更新部43は、当該情報(図15(b))をもとに自装置の接続先管理テーブル45を、図15(c)から図15(d)の内容に更新し最新の接続先管理テーブル45として保持する。このとき、基地局A2の更新部43は、隣接する基地局A4の接続先管理テーブル45(図7(b))の接続先A4のホップ数「1」と接続先10のホップ数「1」から基地局A2と制御装置10との間のホップ数「2」を算出し、図15(d)に示すとおり接続先管理テーブル45に追加し、当該接続先管理テーブル45を最新の接続先管理情報として保持する。
この後(ステップS66のYes)、複数の基地局A1等すべてにおいて、自身の接続先管理テーブル45を上記したと同じ様に制御装置10に関する情報を追加して最新の接続先管理情報として更新して保持することにより、制御装置10から基地局(自装置)までのホップ数を各基地局が情報共有できる(例えば、図15(e))。図15(e)は、第1の実施の形態における図5に類似するが、各基地局と制御装置間のホップ数の情報が含まれている点が異なる。そして、制御装置10は、各基地局から返ってくる情報収集パケットの応答により自装置(制御装置10)から各基地局までのホップ数を知ることとなる。なお、複数の基地局A1等それぞれの接続先管理テーブル45には、図15(e)のようにメッシュネットワーク内のすべての基地局の接続先管理情報を保持していてもよいし、基地局A1〜A6は、各々自装置のみに関する接続先管理情報を保持していてもよい(例えば、通信装置A4は、図15(e)のA4に関する行だけを保持するなど)。
図16は、実施の形態にかかる通信システムにおける通信処理の一例を説明したシーケンス図である。
図16に示すシーケンス図を用いて、第2の実施の形態にかかる通信システム1において、複数の基地局A1等のそれぞれが無線接続を行い、無線通信によるメッシュネットワークを構築した状態を前提として、各通信装置が接続先管理情報を互いに共有したのち、制御装置10が複数の基地局A1等に向けて情報収集パケットを送信し、その応答を受信後、各通信装置が当該コマンドを順次実行するまでのデータ処理を、順をおって説明する。また、同じ符号で記載する処理は、処理対象装置が異なるだけであるため、詳細な説明を省く。なお、図3および図12も適宜、参照しながら説明する。
ステップS80において、複数の基地局A1等は、それぞれ隣接した通信装置から相互に接続先管理情報を取得し、図15に示す接続先管理テーブル45を更新する。これにより、複数の基地局A1等は、互いの通信装置の接続先管理情報を共有する。
ステップS81において、制御装置10の取得部12は、複数の基地局A1等全ての基地局に対し、情報収集パケットを無線IF31経由で送信する。
ステップS82において、複数の基地局A1等は、それぞれ制御装置10から情報収集パケットを受信すると、自装置と制御装置10とのホップ数を接続先管理テーブル45に追加し、接続先管理情報を更新する。そして、複数の基地局A1等は、更新された接続先管理テーブル45の接続先管理情報を、自装置以外の複数の基地局A1等に向けて、互いに送信することで、それぞれの基地局の接続先管理テーブル45の接続先管理情報が更新される。
ステップS85において、複数の基地局A1等は、ステップS82で受信した情報収集パケットの応答として、ステップS82で更新された、それぞれ基地局の接続先管理情報を制御装置10に向けて送信する。
ステップS86において、制御装置10の決定部13は、ステップS85で取得された接続先管理情報をもとに、制御コマンドを送信したい基地局A1等のうち最も経路上遠方に位置する通信装置を決定する。例えば、制御装置10と複数の基地局A1等それぞれとの間のホップ数が最も経路上遠方に位置するA1(図15(e)参照)が決定される。次いで決定部13は、ステップS85で取得された接続先管理情報をもとに、ホップ数の多い順に制御コマンドを送信したい基地局A1等への制御コマンドを送信する順序を決定する。
以下、コマンドを送信する順序が決定された後は、第1の実施形態で説明した図8と同様であるが以下説明する。
ステップS87において、制御装置10の決定部13が算出した最も経路上遠方に位置する基地局A1に向けて、送信部104は新たな設定情報および制御コマンドを送信する。そして、基地局A1は新たな設定情報に基づく動作を開始させる制御コマンドを実行する。
ステップS87以後、ステップS88から91において、制御装置は、ステップS86で決定した制御コマンドを送信する順序に従って、経路上遠方に位置する基地局から順(基地局A1、次にA2/A3/A5/A6、最後にA4)に、送信部34は新たな設定情報および制御コマンドを送信する。そして、経路上遠方に位置する通信装置から順に制御コマンドを実行する。(ステップS88から91)。なお、基地局A2,A3,A5,A5は、制御装置とのホップ数が同じ「2」であり、4つの基地局の順序は問わない。
上述したとおり、第2の実施の形態にかかる通信システムでは、通信装置は、制御装置−各通信装置間のホップ数を取得し、これを制御装置に通知したうえで、制御装置からの制御コマンド指示に基づいて、複数の通信装置のうち、制御装置から最も遠方に位置する通信装置から順に、それぞれ新しい制御情報(例えば、親機からの無線設定の更新および再起動処理など)を基に動作を開始する制御コマンドを実行できる。このようにして、本発明の実施にかかる通信システムは、制御装置とネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始した場合に、通信経路上の通信装置との通信が断絶することを抑制できる。
(第3の実施の形態)
図17は、第3の実施の形態にかかる通信システムにおける通信処理を説明したシーケンス図である。第3の実施の形態にかかるシステムおよびその構成要素である制御装置、基地局は、おおむね第1および第2の実施の形態におけるものと同じである。第3の実施の形態において、第1よび第2の実施の形態と異なる点のみを説明する。
図17におけるステップS80は、図16に説明した第2の実施の形態におけるものと同じであり、詳細な説明を省く。なお、図3および図12も適宜、参照しながら説明する。以後、ステップS95から98まで、順を追って詳細に説明する。
第3の実施の形態では、制御装置10がすべての基地局のホップ数を把握し、コマンド送信順序を制御するのではなく、この役割の全部または一部を、特定の基地局に肩代わりさせる。特定の基地局は、制御装置10から送信される制御コマンド実行リスト1000に従って、制御コマンドを他の対象基地局に送信する。
ステップS95において、制御装置10の決定部13は、後述する図18に示す制御コマンド実行リスト1000を作成する。送信部14は、複数の基地局A1等のうち特定の基地局(例えば、基地局A4)に向けて、制御コマンド実行リスト1000を送信する。
ステップS96において、特定の基地局(例えば、基地局A4)は、受信した制御コマンド実行リスト1000に格納された情報と自装置が備える接続先管理テーブル45に格納された接続先管理情報を照合し、経路上遠方に位置する基地局を決定する。そして、特定の基地局は、制御コマンド実行リスト1000に基づいて、ホップ数の多い順に制御コマンドの送信順序を決定し(例えば、基地局A1のあと、基地局A2など)、送信部44が制御コマンドを送信する。続いて、特定の通信装置から制御コマンドを受信した基地局は、制御コマンドを実行する(ステップS97、ステップS98)。
このように、第3の実施の形態においても、制御コマンドの実行は、特定の通信装置から経路上最も遠方に位置する通信装置から順に実行されることとなり、通信システムは、各通信装置で実行される制御コマンドによって、システム内の通信が断絶することを防ぐことができる。
図17における第3の実施の形態では、複数の基地局A1等は、それぞれ接続先管理テーブル45に格納された互いの装置間のホップ数を制御装置10に通知する必要はなく、自装置が制御コマンド実行リストを受信した場合、当該リストおよび自装置の接続先管理情報に従って制御コマンドを送信することとなる。送信先への送信は、自装置が備える接続先管理テーブルに格納された接続先管理情報に従い、もっともホップ数の多い通信装置から順に行われる。
図18は、第3の実施の形態にかかる通信システムにおいて、基地局が制御装置10から受信する制御コマンド実行リストの一例である。
図18に示す制御コマンド実行リスト1000は、少なくとも、コマンドの種類および制御先装置を備えている。ここで、コマンドとは、各装置がソフトウェアやハードウェアの機能を実行するための命令のことである。
コマンドの種類には、制御装置から特定の基地局に向けて送信されるコマンドの種類が格納されている。コマンドの種類として、例えば、再起動、切断要求などである。制御コマンドを受信した基地局は、そのコマンドを自装置の図12に示す実行部47により実行させる。
制御先装置には、制御装置がコマンドを実行させたい制御先装置を示す情報(基地局A1、A2)が格納されている。より具体的には、例えば基地局A1、A2のMACアドレス等である。
上述したとおり、本発明の別の実施の形態では、通信システムを構成する複数の基地局は、制御装置からの直接な指示でなく、制御装置から指定された特定の基地局からの指示に従って制御コマンドを実行する。特定の基地局は、制御装置から制御コマンド実行リストを受信すると、制御装置に代わって、自機が備える接続先管理テーブルに従い、ホップ数の多い順に対象の基地局(制御先装置)にコマンドを送信し実行させる。
(まとめ)
以上のように、本発明の実施の形態に係るシステムでは、制御装置から各基地局(通信装置)へ至る通信経路において、遠い方の通信装置から、近い方の通信装置へという順に、順次に新たな設定情報での動作を開始させる様な仕組みを設ける。仮に通信経路の途上に位置する通信装置が、当該通信経路の先に位置する通信装置より先に新たな設定情報に基づく動作を開始すると、その通信経路が断絶され、当該通信経路の先に位置する通信装置が新たな設定情報に基づく動作を開始することができなくなる。そこで、上記のように制御装置から遠い方から近い方へという順に、通信装置に新たな設定情報での動作を開始させる。これにより、すべての通信装置が新たな設定情報での動作を開始させることで、ネットワーク全体を新たな設定情報で動作させることができる。言い換えれば、制御装置は、新たな設定情報での動作を開始しないで、古い設定情報での動作を維持したままの通信装置が残存することによって通信が断絶することを回避できる。このように、本発明に係るシステムでは、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
なお、通信装置は、新たな設定情報で動作を開始するまでに所定の処理を実行する必要があり、この処理の実行には所定の時間を要する。上記の順序で通信装置にコマンドが送信されると、遠い方から近い方へという順に、前の通信装置の処理の完了を待たずに次の通信装置の処理を実行できる。これにより、制御装置は、ネットワークを構成する通信装置の新たな設定情報に基づく動作を、より短い時間で開始させるという効果も奏し得る。
また、通信装置が無線通信により接続されることで構成されるネットワークを対象として、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
また、本発明の一形態における制御装置は、通信パケットの送受信によって第一通信装置(制御装置に最近接する通信装置)を探索する。よって、制御装置は、他の方法による探索、又は、何らかの装置から情報を取得することなく、第一通信装置が複数の通信装置のうちのどれであるかを知ることができる。そして、制御装置は、探索により知り得た第一通信装置を用いた制御により、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
また、制御装置は、代理応答機能を有する通信装置により構成されるネットワークを対象として、ネットワークにおける通信量を削減しながら、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
また、制御装置は、通信装置が保有している、ネットワークにおける通信パケットの転送のための経路表を用いて各通信装置へ至る通信経路のホップ数を得る。これにより、制御装置は、通信装置が保有している経路表を利用した制御により、より容易に、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
また、制御装置は、通信装置を再起動させることによって、通信装置に新たな設定情報での動作を開始させる。通信装置の再起動を行うことで、新たな設定情報の反映漏れなどが起こることを容易に回避できる。よって、制御装置は、再起動コマンドを用いることにより、より容易に、ネットワークを構成する複数の通信装置が、それぞれ新しい設定情報を基に動作を開始しても、通信経路上の通信装置との通信が断絶することを抑制する。
以上、本発明の制御装置等について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本発明の実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。