以下に図面を参照して、本発明にかかる接続制御装置、無線通信システムおよび接続制御プログラムの実施の形態を詳細に説明する。
(実施の形態)
(実施の形態にかかる無線通信システム)
図1は、実施の形態にかかる無線通信システムの一例を示す図である。図1に示すように、実施の形態にかかる無線通信システム100は、アクセスポイント110と、ノード121~123と、接続制御装置130と、を含む。
アクセスポイント110は、アクセスポイント110の周辺に位置する各ノード(たとえばノード121~123)との間で無線通信が可能な基地局装置である。この無線通信は、たとえばWLANによる無線通信である。WLANはWireless Local Area Network(無線構内通信網)の略語である。
ノード121~123は、アクセスポイント110の周辺に位置し、アクセスポイント110との間で無線通信が可能な通信装置である。たとえば、ノード121~123のそれぞれは、自ノードが位置する場所における温度、湿度、圧力、光、音などの物理情報の検出を行うセンサを有する。そして、ノード121~123のそれぞれは、センサによる検出結果を示すセンシングデータを無線信号によりアクセスポイント110へ送信する。ただし、ノード121~123はセンサノードに限らず、アクセスポイント110との間で無線通信が可能な各種の通信装置とすることができる。
接続制御装置130は、アクセスポイント110とノード121~123との間の接続を制御する。図1に示すように、接続制御装置130は、たとえばアクセスポイント110と異なる装置であってアクセスポイント110と通信可能な装置である。ただし、接続制御装置130およびアクセスポイント110が一体の装置により実現されてもよい。たとえば、アクセスポイント110の一部の機能として接続制御装置130が実現されてもよい。
つぎに、アクセスポイント110とノード121~123との間の接続について説明する。接続とは、装置間でデータを送受信可能な状態になることである。アクセスポイント110とノード121~123との間の接続は、たとえば、アクセスポイント110の識別子を事前にノード121~123に設定しておくアクティブスキャン方式により行われる。この識別子は、たとえばSSIDやESSIDである。SSIDはService Set Identifierの略語である。ESSIDはExtended Service Set Identifierの略語である。
すなわち、ノード121~123のそれぞれは、アクセスポイント110に対して接続していない場合に、アクセスポイント110を探すためのスキャン(アクティブスキャン)を行う。たとえば、ノード121~123のそれぞれは、事前に設定されたアクセスポイント110の識別子を含むプローブ要求(Probe Request)をブロードキャストする。また、ノード121~123のそれぞれは、そのプローブ要求に対するプローブ応答(Probe Response)の受信処理を行う。
アクセスポイント110は、アクセスポイント110の識別子を含むプローブ要求を受信すると、受信したプローブ要求に対するプローブ応答を送信する。ノード121~123のそれぞれは、自ノードがブロードキャストしたプローブ要求に対するプローブ応答を受信すると、アクセスポイント110との間で認証処理を行ってアクセスポイント110へ接続することができる。
つぎに、アクセスポイント110の再起動(リスタート)について説明する。アクセスポイント110の再起動は、たとえば、アクセスポイント110をシャットダウンし、その後にアクセスポイント110を起動することである。アクセスポイント110の再起動は、接続制御装置130の制御によって行われる。たとえば、接続制御装置130は、予め設定された所定のタイミング(たとえば夜間の時刻)や、再起動の実行指示を管理者から受け付けたタイミングなどにアクセスポイント110の再起動を実行する。
つぎに、アクセスポイント110とノード121~123との間の接続の切断について説明する。ノード121~123のそれぞれは、たとえば、アクセスポイント110から送信されるビーコンが検出されなくなった場合にアクセスポイント110と自ノードとの間の接続を切断する。したがって、アクセスポイント110にノード121~123が接続している状態で上述の再起動を行うと、アクセスポイント110は再起動中にビーコンを送信しないため、ノード121~123はアクセスポイント110との間の接続を切断する。
また、アクセスポイント110は、自装置に接続中のノードへ切断フレームを送信可能である。切断フレームは、アクセスポイント110との間の接続の切断を指示する制御情報である。一例としては、切断フレームはDisassociation(アソシエーション解除コマンド)である。たとえばノード121~123のそれぞれは、アクセスポイント110から切断フレームを受信すると、アクセスポイント110と自ノードとの間の接続を切断する。
また、ノード121~123のそれぞれは、アクセスポイント110と自ノードとの間の接続を切断した場合に、その切断からスキャン開始待機時間tsが経過すると、スキャン周期tcで上述のアクセスポイント110のスキャンを繰り返し行う。そして、ノード121~123のそれぞれは、アクセスポイント110のスキャンにおいてアクセスポイント110からのプローブ応答を受信すると、アクセスポイント110に再度接続する。
図1に示す例では、ノード121~123のそれぞれにおけるスキャン開始待機時間tsは同一の長さである。また、ノード121~123のそれぞれにおけるスキャン周期tcは同一の長さである。
したがって、仮に、アクセスポイント110にノード121~123が接続している状態で上述の再起動を行うと、ノード121~123はアクセスポイント110との間の接続を同時に切断し、同一タイミングかつ同一周期で上述のスキャンを行うことになる。このため、アクセスポイント110は、再起動が完了すると、ノード121~123から同時に送信されるプローブ要求を受信することになる。
その結果、アクセスポイント110におけるプローブ要求の受信が失敗したり、ノード121~123についての後述の認証サーバとのやりとりが時間的に重複したりして、ノード121~123の接続が失敗する可能性が高くなる。このため、ノード121~123がアクセスポイント110に再度接続するまでにかかる時間が長くなる。
これに対して、接続制御装置130は、アクセスポイント110の再起動を行う場合に、その再起動の前に、アクセスポイント110からノード121~123へ切断コマンドを送信させる。切断コマンドは、たとえばWLANにおいて一般的に用いられる、アクセスポイントからノードに対して切断を要求するコマンドである。そして、アクセスポイント110からノード121~123へ切断コマンドを送信させる各タイミングを制御することにより、ノード121~123が切断後にスキャンを行うタイミングを制御する。
これにより、アクセスポイント110が再起動した後に、ノード121~123がそれぞれ異なるタイミングでスキャンを行い、アクセスポイント110におけるプローブ要求の受信が失敗する可能性を低くすることができる。このため、ノード121~123がアクセスポイント110に再度接続するまでにかかる時間を短くすることができる。また、たとえば一般的なWLANのアクセスポイントやノードが対応する切断コマンドを利用することで、アクセスポイントおよびノードに新たなコマンドを追加しなくてもよい。したがって、たとえば市販のアクセスポイントやノードを利用することが可能である。
図1に示す例では、時刻t0において、アクセスポイント110が通信動作状態であり、ノード121~123のそれぞれが接続状態であるとする。アクセスポイント110の通信動作状態は、アクセスポイント110に対するノードの接続が可能な状態である。アクセスポイント110は、通信動作状態である場合に、上述の切断フレームの送信や、受信したプローブ要求に対するプローブ応答の送信が可能である。
ノード121の接続状態は、ノード121がアクセスポイント110に接続している状態である。ノード121がセンサノードである場合、ノード121は、接続状態において、たとえば自ノードのセンシングデータをアクセスポイント110に繰り返し送信する。ノード122,123の接続状態についてもノード121の接続状態と同様である。
たとえば、時刻t4においてアクセスポイント110の再起動を開始し、時刻t4から再起動時間T2の経過後の時刻t5においてアクセスポイント110の再起動が完了するとする。この場合、接続制御装置130は、時刻t5の直後にノード121~123の各スキャンが所定の時間差(スキャンシフト時間Δt)を有して行われるように、ノード121~123へ切断フレームを送信する各タイミングを決定する。
図1に示す例では、接続制御装置130は、ノード121~123へ切断フレームを送信する各タイミングをそれぞれ時刻t1,t2,t3に決定したとする。この場合、接続制御装置130は、それぞれ時刻t1,t2,t3においてノード121~123へ切断フレームを送信するようにアクセスポイント110を制御する。
スキャン121a~121cは、時刻t1からスキャン開始待機時間tsが経過した時点で開始される、スキャン周期tcで行われるノード121による各スキャンである。スキャン122a~122cは、時刻t2からスキャン開始待機時間tsが経過した時点で開始される、スキャン周期tcで行われるノード122による各スキャンである。スキャン123a~123cは、時刻t3からスキャン開始待機時間tsが経過した時点で開始される、スキャン周期tcで行われるノード123による各スキャンである。
ノード121によるスキャン121a~121cのうち、アクセスポイント110の再起動が完了する時刻t5の直後のスキャンは、時刻t6におけるスキャン121cである。ノード122によるスキャン122a~122cのうち時刻t5の直後のスキャンは、時刻t7におけるスキャン122cである。
ノード123によるスキャン123a~123cのうち時刻t5の直後のスキャンは、時刻t8におけるスキャン123cである。時刻t6,t7,t8は、それぞれ上述のスキャンシフト時間Δtずつずれた時間である。ここで、Δtにノード121の数nを乗じたΔt×n=Δt×3を設定時間T1とする。
また、接続制御装置130は、アクセスポイント110の再起動を開始するまでは、切断フレームを送信したノードからのプローブ要求に対するプローブ応答を送信しないようにアクセスポイント110を制御してもよい。
これにより、たとえばノード121に切断フレームが送信されてからアクセスポイント110の再起動が開始されるまでに行われるスキャン121aにより送信されるプローブ要求に対してアクセスポイント110がプローブ応答を送信することを回避できる。このため、アクセスポイント110の再起動が開始されるまでにノード121がアクセスポイント110に再度接続することを回避することができる。
また、ノード122に切断フレームが送信されてからアクセスポイント110の再起動が開始されるまでに行われるスキャン122aにより送信されるプローブ要求に対してアクセスポイント110がプローブ応答を送信することを回避できる。このため、アクセスポイント110の再起動が開始されるまでにノード122がアクセスポイント110に再度接続することを回避することができる。
アクセスポイント110の再起動が開始されるまでにノード121,122がアクセスポイント110に再度接続することを回避することにより、アクセスポイント110の再起動によりノード121,122が同時に切断されることを回避できる。これにより、ノード121,122へそれぞれ切断フレームを送信したにも拘らずノード121,122による各スキャンが同一タイミングかつ同一周期となることを回避することができる。
つぎに、ノード121~123のアクセスポイント110に対する接続の優先度について説明する。たとえば、ノード121~123のそれぞれには、アクセスポイント110に対する接続の優先度が設定されている。優先度は、ノード121~123を使用する目的に応じて設定される。
アクセスポイント110に対する接続の優先度が高いノードの例としては、常時接続が望ましい監視カメラやにおいセンサ、あるいははんだ付けなどの熱処理に用いる温度センサなどを挙げることができる。アクセスポイント110に対する接続の優先度が低いノードの例としては、工場全体における室温や騒音等を測定するセンサを挙げることができる。また、各ノードは、たとえば温度と騒音など、複数の物理量を測定する混在種のセンサであってもよい。また、各ノードの優先度は、各ノードの測定対象などの機能が同一であっても、配置される場所によって異なっていてもよい。たとえば、はんだ付けなどの熱処理に用いる温度センサの優先度は、工場全体における室温を測定する温度センサの優先度より高く設定される。図1に示す例では、ノード121は、ノード122,123よりも優先度が高優先度のノードであるとする。
この場合に、接続制御装置130は、アクセスポイント110の再起動が完了する時刻t5の直後に、ノード121が最初にスキャンを実行するように、アクセスポイント110からノード121~123への切断フレームの各送信タイミングを制御する。図1に示す例では、時刻t5の直後に、ノード121、ノード122、ノード123の順にスキャンを実行するように、アクセスポイント110からノード121~123への切断フレームの各送信タイミングが制御されている。これにより、アクセスポイント110の再起動後に、ノード121~123を、ノード121~123の各優先度に応じた順序によりアクセスポイント110に接続させることができる。
このように、接続制御装置130は、アクセスポイント110の再起動を行う場合に、その再起動の前にアクセスポイント110からノード121~123へ切断フレームを送信させる制御を行う。そして、接続制御装置130は、アクセスポイント110からノード121~123への切断フレームの各送信タイミングを制御することにより、アクセスポイント110の再起動の完了直後におけるノード121~123のスキャンの各タイミングを制御する。
これにより、アクセスポイント110の再起動の完了直後においてノード121~123がスキャンを行う各タイミングをずらし、ノード121~123のそれぞれの接続の成功率を向上させることができる。このため、アクセスポイント110の再起動後のアクセスポイント110へのノード121~123への再接続を短時間で行うことができる。
また、アクセスポイント110の再起動の完了直後においてノード121~123がスキャンを行う順番を制御し、ノード121~123のうちの優先度が高いノードを先にアクセスポイント110に接続させることができる。
(実施の形態にかかる無線通信システムを適用したセンサネットワーク)
図2は、実施の形態にかかる無線通信システムを適用したセンサネットワークの一例を示す図である。図1に示した無線通信システム100は、たとえば図2に示すセンサネットワーク200に適用することができる。センサネットワーク200は、センサノード201~204,…と、AP211と、L2スイッチ221と、L3スイッチ230と、GW241と、WLC242と、業務サーバ250と、を含む。APはAccess Point(アクセスポイント)の略語である。GWはGatewayの略語である。WLCはWireless LAN Controllerの略語である。
たとえば、センサネットワーク200は、工場などにおいて、温度、におい、騒音などの各種の物理量の測定および管理を行うために設けられる。この場合に、センサノード201~204,…は、工場の各位置に設けられ各種の物理量を測定するセンサノードである。センサノード201~204,…は、AP211の周辺に位置し、AP211との間で無線通信が可能である。また、センサノード201~204,…のそれぞれは、センサによる検出結果を示すセンシングデータを無線信号によりAP211へ送信する。
AP211は、自装置の周辺に位置するセンサノード201~204,…との間でWLANによる無線通信が可能である。AP211は、L2スイッチ221およびL3スイッチ230を介してWLC242と接続されており、WLC242によって制御される。また、AP211は、L2スイッチ221およびL3スイッチ230を介してGW241と接続されており、GW241を介して業務サーバ250との間で通信を行う。
L2スイッチ221およびL3スイッチ230は、AP211と、GW241およびWLC242と、の間のネットワークにおける各スイッチである。なお、L2スイッチ221には、AP211に加えて他のAP等が接続されていてもよい。また、L3スイッチ230には、L2スイッチ221に加えて他のL2スイッチ等が接続されていてもよい。
GW241は、L3スイッチ230と業務サーバ250との間に設けられたゲートウェイである。WLC242は、L2スイッチ221およびL3スイッチ230を介してAP211に接続されており、AP211を制御する。ただし、WLC242はGW241に含まれてもよい。すなわち、GW241およびWLC242は1個の通信装置により実現されてもよい。
業務サーバ250は、AP211、L2スイッチ221、L3スイッチ230およびGW241を介してセンサノード201~204,…からの各センシングデータを受信し、受信したセンシングデータに基づく処理を行う。また、業務サーバ250は、AP211、L2スイッチ221、L3スイッチ230およびGW241を介して、センサノード201~204,…による検出(センシング)の制御を行ってもよい。
図1に示したアクセスポイント110は、たとえばAP211に適用することができる。この場合に、図1に示したノード121~123は、たとえばセンサノード201~204,…に含まれる。図1に示した接続制御装置130は、たとえばWLC242により実現することができる。ただし、上述のようにWLC242はGW241に含まれてもよく、この場合、接続制御装置130はGW241により実現することができる。以下、WLC242がGW241に含まれる場合を例として説明する。
たとえば、センサノード201~204,…は、工場等に設けられた多数のセンサノードである。この場合に、センサノード201~204,…には、上述のスキャン開始待機時間tsやスキャン周期tcが同じものが含まれることが多い。したがって、仮にAP211が再起動することによりセンサノード201~204,…が一斉に圏外になると、同じタイミングのスキャンが発生し、センサノード201~204,…がAP211に再接続するまでに時間がかかる。
これに対して、GW241は、AP211の再起動後の直前に、センサノード201~204,…をそれぞれの切断タイミングにより切断することにより、センサノード201~204,…がAP211に再接続するまでの時間を短縮する。また、GW241は、センサノード201~204,…のうち優先度が高い順に、AP211の再起動後にスキャンを行うように各ノードの切断タイミングを決定する。
(実施の形態にかかる各装置における構成)
図3は、実施の形態にかかる各装置における構成の一例を示す図である。図3に示すネットワーク301は、たとえば図2に示したL2スイッチ221やL3スイッチ230により実現されるネットワークである。図3に示すデータベース302は、たとえばGW241がネットワーク301を介してアクセス可能な記憶部である。たとえば、データベース302には、センサノード201~204,…に関する後述の各情報が記憶される。
図3に示すように、たとえばセンサノード201は、検出部311と、無線通信部312と、制御部313と、を備える。検出部311は、センサノード201が位置する場所における温度、湿度、圧力、光、音などの物理情報の検出を行う。そして、検出部311は、物理情報の検出結果を示すセンシングデータを制御部313へ出力する。無線通信部312は、AP211との間でWLANによる無線通信を行う。
制御部313は、検出部311による上述の物理情報の検出や、無線通信部312による無線通信を制御する。たとえば、制御部313は、検出部311に対して上述の物理情報の検出を所定タイミングで(一例としては周期的に)実行させる。また、制御部313は、センサノード201がAP211に接続している状態において、検出部311から出力されたセンシングデータを無線通信部312からAP211へ送信させる。
また、制御部313は、センサノード201とAP211との間の接続に関する制御を行う。たとえば、制御部313は、センサノード201がAP211に接続していない場合に、AP211のスキャンを行うように無線通信部312を制御する。そして、AP211のスキャンによりAP211を検出した場合は、センサノード201がAP211に接続するための処理を行う。
また、制御部313は、センサノード201がAP211に接続している場合に、AP211から切断フレームを受信すると、センサノード201のAP211への接続を切断する処理を行う。そして、制御部313は、センサノード201のAP211への接続を切断してから上述のスキャン開始待機時間tsが経過してから、スキャン周期tcでのAP211のスキャンを開始する。
センサノード201の構成について説明したが、センサノード202~204,…の構成についてもセンサノード201の構成と同様である。
図3に示すように、AP211は、無線通信部321と、ネットワーク通信部322と、制御部323と、を備える。無線通信部321は、センサノード201~204,…との間でWLANによる無線通信を行う。ネットワーク通信部322は、ネットワーク301を介してGW241との間で通信を行う。
制御部323は、無線通信部321およびネットワーク通信部322による各通信を制御する。たとえば、制御部323は、無線通信部321により受信したセンサノード201~204,…からの各センシングデータを、ネットワーク通信部322によりネットワーク301を介してGW241へ送信する。GW241へ送信された各センシングデータは、たとえばGW241から図2に示した業務サーバ250へ送信される。
また、制御部323は、GW241からネットワーク301を介して送信されネットワーク通信部322により受信した各コマンドに基づく処理を行う。GW241からの各コマンドに基づく処理については後述する。
図3に示すように、GW241は、ネットワーク通信部331と、制御部332と、切断スケジュール記憶部333と、を備える。ネットワーク通信部331は、ネットワーク301を介してデータベース302やAP211との間で通信を行う。制御部332は、ネットワーク通信部331による通信を制御する。
たとえば、制御部332は、ネットワーク通信部331によりネットワーク301を介してデータベース302にアクセスすることにより、センサノード201~204,…に関する後述の各情報(たとえば図7参照)を取得する。また、制御部332は、取得した各情報に基づいて、AP211の再起動を行う場合におけるセンサノード201~204,…の各切断タイミングを決定する。そして、制御部332は、センサノード201~204,…の各切断タイミングの決定結果を示す切断スケジュール情報(たとえば図10,図11参照)を生成して切断スケジュール記憶部333に記憶させる。
また、制御部332は、ネットワーク通信部331によりネットワーク301を介してAP211へ各コマンドを送信することによりAP211を制御する。たとえば、制御部332は、AP211の再起動を行う場合に、切断スケジュール記憶部333に記憶された切断スケジュール情報を取得する。そして、制御部332は、取得した切断スケジュール情報に基づいてAP211へ各コマンドを送信する。切断スケジュール情報に基づく各コマンドの送信については後述する。
(実施の形態にかかるセンサノードのハードウェア構成)
図4は、実施の形態にかかるセンサノードのハードウェア構成の一例を示す図である。図2,図3に示したセンサノード201~204,…のそれぞれは、たとえば図4に示すコンピュータ400により実現することができる。コンピュータ400は、プロセッサ401と、メモリ402と、無線通信インタフェース403と、センサ404と、を備える。プロセッサ401、メモリ402、無線通信インタフェース403およびセンサ404は、たとえばバス409によって接続される。
プロセッサ401は、信号処理を行う回路であり、たとえばコンピュータ400の全体の制御を司るCPU(Central Processing Unit)である。メモリ402には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAM(Random Access Memory)である。メインメモリは、プロセッサ401のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、コンピュータ400を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ401によって実行される。
無線通信インタフェース403は、コンピュータ400の外部(たとえばAP211)との間で無線通信を行う通信インタフェースである。無線通信インタフェース403は、プロセッサ401によって制御される。
センサ404は、コンピュータ400が位置する場所における温度、湿度、圧力、光、音などの物理情報の検出を行い、物理情報の検出結果を示すセンシングデータを生成する。センサ404は、プロセッサ401によって制御される。
図3に示した検出部311は、たとえば図4に示すセンサ404により実現される。図3に示した無線通信部312は、たとえば図4に示す無線通信インタフェース403により実現される。図3に示した制御部313は、たとえば図4に示すプロセッサ401およびメモリ402により実現される。
(実施の形態にかかるAPのハードウェア構成)
図5は、実施の形態にかかるAPのハードウェア構成の一例を示す図である。図2,図3に示したAP211は、たとえば図5に示すコンピュータ500により実現することができる。コンピュータ500は、プロセッサ501と、メモリ502と、無線通信インタフェース503と、有線通信インタフェース504と、を備える。プロセッサ501、メモリ502、ユーザインタフェース505および無線通信インタフェース503は、たとえばバス509によって接続される。
プロセッサ501は、信号処理を行う回路であり、たとえばコンピュータ500の全体の制御を司るCPUである。メモリ502には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、プロセッサ501のワークエリアとして使用される。
補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、コンピュータ500を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ501によって実行される。また、補助メモリは、コンピュータ500から取り外し可能な可搬型のメモリを含んでもよい。可搬型のメモリには、USBフラッシュドライブやSDメモリカードなどのメモリカードや、外付けハードディスクドライブなどがある。USBはUniversal Serial Busの略語である。SDはたとえばSecure Digitalの略語である。
また、プロセッサ501やメモリ502は、FPGA(Field Programmable Gate Array)やDSP(Digital Signal Processor)などのデジタル回路により実現されてもよい。
無線通信インタフェース503は、コンピュータ500の外部(たとえばセンサノード201~204,…)との間で無線通信を行う通信インタフェースである。無線通信インタフェース503は、プロセッサ501によって制御される。
有線通信インタフェース504は、コンピュータ500の外部(たとえばセンサネットワーク200)との間で有線通信を行う通信インタフェースである。有線通信インタフェース504は、プロセッサ501によって制御される。
図3に示した無線通信部321は、たとえば図5に示す無線通信インタフェース503により実現される。図3に示したネットワーク通信部322は、たとえば図5に示す有線通信インタフェース504により実現される。図3に示した制御部323は、たとえば図5に示すプロセッサ501およびメモリ502により実現される。
(実施の形態にかかるGWのハードウェア構成)
図6は、実施の形態にかかるGWのハードウェア構成の一例を示す図である。図2,図3に示したGW241は、たとえば図6に示すコンピュータ600により実現することができる。コンピュータ600は、プロセッサ601と、メモリ602と、有線通信インタフェース603と、を備える。プロセッサ601、メモリ602および有線通信インタフェース603は、たとえばバス609によって接続される。
プロセッサ601は、信号処理を行う回路であり、たとえばコンピュータ600の全体の制御を司るCPUである。メモリ602には、たとえばメインメモリおよび補助メモリが含まれる。メインメモリは、たとえばRAMである。メインメモリは、プロセッサ601のワークエリアとして使用される。補助メモリは、たとえば磁気ディスク、光ディスク、フラッシュメモリなどの不揮発性メモリである。補助メモリには、コンピュータ600を動作させる各種のプログラムが記憶されている。補助メモリに記憶されたプログラムは、メインメモリにロードされてプロセッサ601によって実行される。
また、補助メモリは、コンピュータ600から取り外し可能な可搬型のメモリを含んでもよい。可搬型のメモリには、USBフラッシュドライブやSDメモリカードなどのメモリカードや、外付けハードディスクドライブなどがある。また、プロセッサ601やメモリ602は、FPGAやDSPなどのデジタル回路により実現されてもよい。
有線通信インタフェース603は、コンピュータ600の外部(たとえばネットワーク301)との間で有線通信を行う通信インタフェースである。有線通信インタフェース603は、プロセッサ601によって制御される。
図3に示したネットワーク通信部331は、たとえば図6に示す有線通信インタフェース603により実現される。図3に示した制御部332は、たとえば図6に示すプロセッサ601およびメモリ602により実現される。図3に示した切断スケジュール記憶部333は、たとえば図6に示すメモリ602のメインメモリまたは補助メモリにより実現される。
(実施の形態にかかるAPに接続する各ノードに関する各情報)
図7は、実施の形態にかかるAPに接続する各ノードに関する各情報の一例を示す図である。ここではAP211に対して20台のノード(ノード#1~#20)が接続する場合について説明する。この場合に、図3に示したデータベース302には、AP211に接続する各ノードについての各情報として、たとえば図7に示すノード情報700が記憶される。GW241は、ネットワーク301を介してデータベース302からノード情報700を取得する。ノード情報700は、AP211に接続するノード#1~#20のそれぞれについて、優先順位と、スキャン開始待機時間ts[s]と、スキャン周期tc[s]と、を示している。
ノード情報700の優先順位は、対象のノードの優先度を示す情報であり、優先順位の値が小さいほど対象のノードの優先度が高いことを示す。図7に示す例では、ノード#8の優先順位が1であり、ノード#15の優先順位が2であり、それ以外のノードには優先順位がない。これは、ノード#8の優先度が最も高く、ノード#15の優先度が2番目に高く、それ以外のノードについては優先度がノード#8,#15より低いことを示している。ただし、すべてのノードについて優先順位が設定されていてもよい。また、複数のノードについて同じ優先順位(優先度)が設定されていてもよい。
ノード情報700のスキャン開始待機時間tsは、対象のノードが、AP211から切断フレームを受信してAP211との間の接続を切断してからAP211のスキャンを開始するまで待機する時間である。あるノードのスキャン開始待機時間tsは、たとえばそのノードのメーカや型式によって異なる。図7に示す例では、ノード#1~#20のすべてのスキャン開始待機時間tsが3[s]である。
ノード情報700のスキャン周期tcは、対象のノードが、AP211のスキャンを行う周期である。あるノードのスキャン周期tcは、たとえばそのノードのメーカや型式によって異なる。図7に示す例では、ノード#1~#7のスキャン周期tcが10[s]であり、ノード#8~#14のスキャン周期tcが20[s]であり、ノード#15~#20のスキャン周期tcが25[s]である。
また、AP211が再起動に要する再起動時間T2(たとえば図1に示した再起動時間T2)は50[s]であるとする。再起動時間T2は、AP211の仕様として定められたものであってもよいし、AP211に設定されたものであってもよいし、AP211を再起動して実測されたものであってもよい。再起動時間T2についても、たとえば、ノード情報700と同様に、データベース302に記憶されており、GW241がデータベース302から取得する。上述の各ノードスキャン周期tcは、AP211の再起動時間T2に依存せず設定することができ、AP211の再起動時には、各ノードがそれぞれの各ノードスキャン周期tcでスキャンを開始し、AP211の再起動後に、スキャンタイミングとなったノードから順次、AP211にプローブ要求を送信する。
また、スキャンシフト時間Δt(たとえば図1に示したスキャンシフト時間Δt)は0.5[s]であるとする。スキャンシフト時間Δtは、たとえば複数のノードがスキャンシフト時間Δtの間隔でAP211のスキャンを行った場合に、各スキャンによる接続の成功率が所定の基準以上になるように決定される。スキャンシフト時間Δtについても、たとえば、ノード情報700と同様に、データベース302に記憶されており、GW241がデータベース302から取得する。
たとえば、あるノードが上述のスキャンにおいてGW241へのプローブ要求を送信し、AP211がプローブ要求に対するプローブ応答を送信すると、そのノードの認証に関する処理(たとえば後述のAP接続の処理)が行われる。このAP接続の処理は、そのノードとAP211との間の通信と、AP211とGW241(認証サーバ)との間の無線通信と、を含む。そして、AP接続の処理には、たとえば124[ms]程度かかる。
ここで、2つのノードがそれぞれスキャンを行った場合に接続に失敗するのは、たとえば、2つのノードの各AP接続の処理に重複が生じ、AP接続の処理におけるAP211とGW241との間における無線通信でエラーが生じる場合である。したがって、2つのノードの各スキャンタイミングを124[ms]以上ずらせば(すなわちスキャンシフト時間Δtを124[ms]以上とすれば)、接続の成功率を高くすることができる。ここでは、余裕も含めてスキャンシフト時間Δtを0.5[s]とする。
(実施の形態にかかるGWが算出する各ノードのスキャンタイミング)
図8は、実施の形態にかかるGWが算出する各ノードのスキャンタイミングの一例を示す図である。GW241は、図7に示したノード情報700に基づいて、たとえば図8に示す中間テーブル800を生成する。中間テーブル800は、図7に示したノード情報700の各情報に加えて、ノード#1~#20のそれぞれについて、切断タイミング[s]および各スキャンタイミング[s]を含む。
中間テーブル800の切断タイミングは、対象のノードへ切断フレームを送信することにより対象のノードとAP211との間の接続を切断するタイミングを、所定の基準タイミングからの経過時間によって表している。所定の基準タイミングは、たとえば優先順位が1のノード#8へ切断フレームを送信するタイミングである。この時点において、GW241は、各ノードについての切断タイミングを0.0[s]に仮設定する。
中間テーブル800の各スキャンタイミングは、対象のノードへ切断フレームを送信してから、そのノードがAP211のスキャンを行う各タイミングを、上述の基準タイミングからの経過時間によって表している。あるノードについての各スキャンタイミングは、そのノードについての切断タイミング、スキャン開始待機時間tsおよびスキャン周期tcに基づいて算出することができる。すなわち、あるノードについての各スキャンタイミングは、(切断タイミング)+(スキャン開始待機時間ts)+(スキャン周期tc)×m(mは1,2,3,…)により算出することができる。
たとえば、ノード#1については、この時点における仮の切断タイミングが0.0[s]であり、スキャン開始待機時間tsが3[s]であり、スキャン周期tcが10[s]である。このため、ノード#1についての各スキャンタイミングは、3.0[s]、13.0[s]、23.0[s]、33.0[s]、…となる。これは、仮にノード#1に対して基準タイミングに切断フレームを送信すると、ノード#1は基準タイミングから3.0秒後、13.0秒後、23.0秒後、33.0秒後、…のそれぞれにおいてAP211のスキャン(プローブ要求の送信)を行うことを意味する。
GW241は、ノード#2~#20についてもノード#1と同様に各スキャンタイミングを算出する。これにより、図8に示す中間テーブル800を生成することができる。そして、GW241は、ノード#1~#20のそれぞれについて、基準タイミングから所定時間後の最初のスキャンタイミングを特定する。
この所定時間は、基準タイミングから、その後にAP211が再起動を行ってAP211が再度上述の通信動作状態となるまでの期間の時間である。この期間は、基準タイミングから各ノードへの切断フレームの送信完了までの期間と、切断フレームの送信完了からAP211の再起動開始までの期間と、AP211の再起動開始からAP211が再度上述の通信動作状態となるまでの期間と、に分けられる。
基準タイミングから各ノードへの切断フレームの送信完了までの期間の時間長は、たとえば、ノード#1~#20の各スキャンに要する時間(上述の設定時間T1)とすることができる。この設定時間T1は、一例としては、スキャンシフト時間Δt=0.5[s]およびノード数n=20を用いて、Δt×n=0.5×20=10[s]となる。
切断フレームの送信完了からAP211の再起動開始までの期間の時間長は、所定の調整時間T3とすることができ、一例としては2.0[s]である。AP211の再起動開始からAP211が再度上述の通信動作状態となるまでの期間の時間長は、上述の再起動時間T2であり、一例としては50[s]である。したがって、上述の所定時間は、一例としてはT1+T2+T3=10+50+2.0=62[s]である。
図8に示す例では、ノード#1~#6については、基準タイミングから所定時間=62[s]後の最初のスキャンタイミングとして、7回目のスキャンタイミング(63.0[s])が特定される。また、ノード#7~#14については、基準タイミングから所定時間=62[s]後の最初のスキャンタイミングとして、4回目のスキャンタイミング(63.0[s])が特定される。また、ノード#15~#20については、基準タイミングから所定時間=62[s]後の最初のスキャンタイミングとして、4回目のスキャンタイミング(78.0[s])が特定される。
ノード#1~#20について特定したこれらのスキャンタイミングは、ノード#1~#20の切断タイミングを基準タイミングとした場合に、アクセスポイント110の再起動が完了した直後にノード#1~#20により行われる各スキャンのタイミングである。ノード#1~#20について特定したこれらのスキャンタイミングを、それぞれノード#1~#20についての再起動直後のスキャンタイミングと称する。GW241は、ノード#1~#20についての再起動直後のスキャンタイミングをそれぞれずらすように、ノード#1~#20の切断タイミングを調整する。
(実施の形態にかかるGWが設定する各ノードの切断タイミング)
図9は、実施の形態にかかるGWが設定する各ノードの切断タイミングの一例を示す図である。まず、GW241は、優先順位が1であるノード#8の切断タイミングを0.0[s]に設定する(図8の仮設定と同じ。)。したがって、ノード#8についての各スキャンタイミングは、図8の状態と同様に、3.0[s]、23.0[s]、43.0[s]、63.0[s]、…となる。この場合に、ノード#8についてのAP211の再起動(62[s])直後のスキャンタイミングは63[s]となる。
つぎに、GW241は、優先順位が2であるノード#15の切断タイミングを設定する。たとえば、GW241は、ノード#15についての再起動直後のスキャンタイミングの目標値を、ノード#1についての再起動直後のスキャンタイミング=63.0[s]からΔt=0.5[s]だけ後にシフトさせた63.5[s]に設定する。そして、GW241は、ノード#15についての再起動直後のスキャンタイミングが設定した目標値となるようにノード#15の切断タイミングを設定する。
たとえば、GW241は、(切断タイミング)+(スキャン開始待機時間ts)+(スキャン周期tc)×(M-1)=(目標値)を満たす切断タイミングを設定する。ここで、ノード#15について、スキャン開始待機時間ts=3[s]であり、スキャン周期tc=25[s]であり、目標値は63.5[s]である。Mは、ノード#15について上述のように特定した再起動直後のスキャンタイミングの回数(4回目)であり、M=4である。したがって、GW241は、63.5-25×(4-1)-3=-14.5により、ノード#15の切断タイミングを-14.5[s]に設定する。この場合に、ノード#15についての各スキャンタイミングは、-11.5[s]、13.5[s]、38.5[s]、63.5[s]、…となる。
つぎに、GW241は、優先順位が設定された各ノード(ノード#8,#15)の各切断タイミングの設定が完了したため、優先順位が設定されていないノード#1~#7,#9~#14,#16~#20の各切断タイミングの設定を行う。このとき、GW241は、たとえばスキャン周期tcが長い順に切断タイミングの設定を行う。また、GW241は、スキャン周期tcが同じ各ノードについては、たとえばノード番号が小さい順に切断タイミングの設定を行う。
たとえば、GW241は、ノード#16~#20,#9~#14,#1~#7の順に切断タイミングの設定を行う。このとき、GW241は、切断タイミングの設定を行う順に、再起動直後のスキャンタイミングがΔtずつ後にシフトするように各ノードの切断タイミングを設定する。これらのノードについての切断タイミングの設定方法は、たとえば上述のノード#15についての切断タイミングの設定方法と同様である。
たとえば、ノード#15の次のノード#16について、GW241は、再起動直後のスキャンタイミングの目標値を、ノード#15についての再起動直後のスキャンタイミング=63.5[s]からΔt=0.5[s]だけシフトさせた64.0[s]に設定する。そして、GW241は、ノード#16についての再起動直後のスキャンタイミングが設定した目標値となるようにノード#16の切断タイミングを設定する。図9に示す例では、GW241は、ノード#16の切断タイミングを-14.0[s]に設定する。この場合に、ノード#16についての各スキャンタイミングは、-11.0[s]、14.0[s]、39.0[s]、64.0[s]、…となる。
ただし、このように各ノードの切断タイミングを設定していくと、最後の2つのノードであるノード#6,#7について、上述のように特定した7回目のスキャンタイミングがそれぞれ72.0[s]および72.5[s]となる。したがって、ノード#6,#7についての6回目のスキャンタイミングはそれぞれ62.0[s]および62.5[s]となる。すなわち、ノード#6,#7についての6回目のスキャンタイミングが、AP211の再起動(62[s])の後であり、かつノード#8の切断タイミング=63.0[s]より早くなってしまい、ノード#8のAP211への接続を阻害する場合がある。
そのため、GW241は、ノード#6,#7についての再起動直後のスキャンタイミングを、直前のノード#5についての再起動直後のスキャンタイミング(71.5[s])と同じにする。この場合に、図9に示す例では、ノード#5~#7のスキャン開始待機時間tsおよびスキャン周期tcはそれぞれ3[s]および10[s]で同じであるため、ノード#5~#7の切断タイミングも同じ8.5[s]になる。
これにより、ノード#6,#7のスキャンによりノード#8のAP211への接続が阻害されることを抑制することができる。また、ノード#5~#7はスキャン周期が比較的短いため、ノード#5~#7についての再起動直後のスキャンタイミングが同じであっても、ノード#5~#7は短い周期により繰り返しAP211への接続を試み、短時間でAP211へ接続することができる。
(実施の形態にかかる切断スケジュール情報)
図10は、実施の形態にかかる切断スケジュール情報の一例を示す図である。GW241は、図9に示した中間テーブル800に基づいて、図10に示す切断スケジュール情報1000を生成する。切断スケジュール情報1000は、図9に示した中間テーブル800から、ノード#1~#20についての各切断タイミングを抽出したものである。
GW241は、生成した切断スケジュール情報1000を、たとえば図3に示した切断スケジュール記憶部333に記憶する。そして、GW241は、AP211の再起動を行う場合に、記憶した切断スケジュール情報1000に基づいてAP211に対して切断コマンドを発行することにより、AP211による各ノードへの切断フレームの送信タイミングを制御する。
(実施の形態にかかる切断スケジュール情報に基づく各ノードへの切断フレームの送信タイミング)
図11は、実施の形態にかかる切断スケジュール情報に基づく各ノードへの切断フレームの送信タイミングの一例を示す図である。図11に示す正規化テーブル1100は、図10に示した切断スケジュール情報1000にて、最も早いノード#15の切断タイミングが0.0[s]となるように各ノードの切断タイミングに14.5を加算し、切断タイミングが早い順にソートしたものである。
GW241は、たとえば、AP211の再起動を行う場合に、記憶した切断スケジュール情報1000に基づいて、正規化テーブル1100が示す順に各ノードへAP211から切断フレームを送信させる。たとえば、GW241は、まず切断タイミングが最も早いノード#15に対してAP211から切断フレームを送信させる。このタイミングを切断開始タイミングと称する。
つぎに、GW241は、切断タイミングが2番目に早いノード#16に対して、切断開始タイミングから0.5[s]後にAP211から切断フレームを送信させる。つぎに、GW241は、切断タイミングが3番目に早いノード#17に対して、切断開始タイミングから1.0[s]後にAP211から切断フレームを送信させる。その他のノードに対しても同様に、GW241は、正規化テーブル1100が示す順にAP211から切断フレームを送信させる。
また、GW241は、優先順位が1のノード#8へ切断フレームを送信されたタイミング(上述の基準タイミング)から上述の設定時間T1=10[s]および調整時間T3=2[s]が経過したタイミングにおいて、AP211に再起動を開始させる。すなわち、GW241は、切断開始タイミングから14.5+10+2=26.5[s]後にAP211に再起動を開始させる。なお、切断タイミングが最後のノード#5~#7へ切断フレームが送信されるのは切断開始タイミングから23.0[s]後であるため、AP211が再起動を開始するのは各ノードへの切断フレームの送信が完了した後である。
GW241が図10に示した切断スケジュール情報1000を用いてAP211による切断フレームの送信タイミングを制御する処理について説明したが、このような処理に限らない。たとえば、GW241は、図10に示した切断スケジュール情報1000に基づいて、図11に示した正規化テーブル1100を切断スケジュール情報として生成して記憶してもよい。この場合に、GW241は、正規化テーブル1100を切断スケジュール情報として用いてAP211による切断フレームの送信タイミングを制御する。
(実施の形態にかかる切断スケジュール情報に基づく各装置の動作タイミング)
図12は、実施の形態にかかる切断スケジュール情報に基づく各装置の動作タイミングの一例を示す図である。図12において、横方向は時間を示す。図12においては、ノード#1~#20のうちノード#1,#5~#8,#14,#15,#20の各動作タイミングを示している。なお、図12は主に各動作の順序を図示するものであり、各動作の間の時間長について正確に図示するものではない。
優先順位が1であるノード#8へ切断フレームが送信されるタイミングが上述の基準タイミングである。基準タイミングにおいて、GW241がAP211に対してノード#8についての切断コマンドを発行することにより、AP211がノード#8へ切断フレームを送信する。これにより、ノード#8とAP211との間の接続が切断され、ノード#8はこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=20[s]でAP211のスキャンを開始する。
ノード#15の切断タイミングは、図10に示したように基準タイミングの14.5[s]前(-14.5[s])である。したがって、基準タイミングの14.5[s]前において、GW241がAP211に対してノード#15についての切断コマンドを発行することにより、AP211がノード#15へ切断フレームを送信する。これにより、ノード#15とAP211との間の接続が切断され、ノード#15はこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=25[s]でAP211のスキャンを開始する。
ノード#20の切断タイミングは、図10に示したように基準タイミングの12.0[s]前(-12.0[s])である。したがって、基準タイミングの12.0[s]前において、GW241がAP211に対してノード#20についての切断コマンドを発行することにより、AP211がノード#20へ切断フレームを送信する。これにより、ノード#20とAP211との間の接続が切断され、ノード#20はこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=25[s]でAP211のスキャンを開始する。
ノード#14の切断タイミングは、図10に示したように基準タイミングの6.0[s]後である。したがって、基準タイミングの6.0[s]後において、GW241がAP211に対してノード#14についての切断コマンドを発行することにより、AP211がノード#14へ切断フレームを送信する。これにより、ノード#14とAP211との間の接続が切断され、ノード#14はこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=20[s]でAP211のスキャンを開始する。
ノード#1の切断タイミングは、図10に示したように基準タイミングの6.5[s]後である。したがって、基準タイミングの6.5[s]後において、GW241がAP211に対してノード#1についての切断コマンドを発行することにより、AP211がノード#1へ切断フレームを送信する。これにより、ノード#1とAP211との間の接続が切断され、ノード#1はこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=10[s]でAP211のスキャンを開始する。
ノード#5~#7の切断タイミングは、図10に示したように基準タイミングの8.5[s]後である。したがって、基準タイミングの8.5[s]後において、GW241がAP211に対してノード#5~#7についての切断コマンドを発行することにより、AP211がノード#5~#7へそれぞれ切断フレームを送信する。これにより、ノード#5~#7とAP211との間の各接続が切断され、ノード#5~#7のそれぞれはこの時点からスキャン開始待機時間ts=3[s]後にスキャン周期tc=10[s]でAP211のスキャンを開始する。
また、基準タイミングから設定時間T1=10[s]および調整時間T3=2[s]が経過したタイミングにおいてGW241がAP211に対して再起動コマンドを発行し、AP211が再起動を開始する。そして、AP211が再起動を開始してから再起動時間T2=50[s]が経過したタイミングにおいて、AP211の再起動が完了し、AP211が通信動作状態になる。すなわち、基準タイミングから(設定時間T1)+(調整時間T3)+(再起動時間T2)=62.0[s]が経過したタイミングにおいて、AP211が通信動作状態になる。
そして、AP211が通信動作状態になってから、ノード#8,#15~#20,#9~#14,#1~#7の順にスキャンを行うように各ノードの切断タイミングが設定されている。たとえば、優先順位が1番目のノード#8は、基準タイミングから63.0[s]が経過後、すなわちAP211が通信動作状態になってから1.0[s]後にAP211のスキャンを行い、接続状態になる。
優先順位が2番目のノード#15は、基準タイミングから63.5[s]が経過後、すなわちAP211が通信動作状態になった直後にノード#8がスキャンを行ってからスキャンシフト時間Δt=0.5[s]後にスキャンを行い、接続状態になる。
また、ノード#5~#7は、基準タイミングから71.5[s]が経過後に7回目のスキャンを行い、接続状態となる。また、ノード#5~#7における6回目のスキャンは、AP211が通信動作状態になる前に行われる。
(実施の形態にかかるセンサネットワークにおける処理)
図13は、実施の形態にかかるセンサネットワークにおける処理の一例を示すシーケンス図である。GW241は、AP211の再起動を行うと判断すると、まず、切断スケジュール記憶部333から切断スケジュール情報を読み出す(ステップS1301)。
また、GW241は、AP211に対して、プローブ要求に応答しない状態へ移行することを指示する再起動準備コマンドを送信する(ステップS1302)。プローブ要求に応答しない状態は、たとえば、AP211がフィルタリング処理によりプローブ要求を破棄することにより実現される。AP211は、GW241から再起動準備コマンドを受信すると、ノード#1~#20からのプローブ要求に応答しない状態へ移行する(ステップS1303)。
つぎに、GW241は、ステップS1301により読み出した切断スケジュール情報に基づくノード#15の切断タイミングにおいて、ノード#15についての切断コマンドをAP211に発行する(ステップS1304)。つぎに、AP211が、切断フレームをノード#15へ送信する(ステップS1305)。
つぎに、ノード#15が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1306)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#15へ送信しない。このため、AP211の再起動の開始前にノード#15がAP211に再度接続してしまうことを回避することができる。
また、GW241は、ステップS1301により読み出した切断スケジュール情報に基づくノード#8の切断タイミングにおいて、ノード#8についての切断コマンドをAP211に発行する(ステップS1307)。つぎに、AP211が、切断フレームをノード#8へ送信する(ステップS1308)。
つぎに、ノード#8が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1309)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#8へ送信しない。このため、AP211の再起動の開始前にノード#8がAP211に再度接続してしまうことを回避することができる。
また、GW241は、ステップS1301により読み出した切断スケジュール情報に基づくノード#7の切断タイミングにおいて、ノード#7についての切断コマンドをAP211に発行する(ステップS1310)。つぎに、AP211が、切断フレームをノード#7へ送信する(ステップS1311)。
つぎに、ノード#7が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1312)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#7へ送信しない。このため、AP211の再起動の開始前にノード#7がAP211に再度接続してしまうことを回避することができる。
また、GW241は、ノード#1~#20のうちノード#7,#8,#15以外の各ノードについても同様に、ステップS1301により読み出した切断スケジュール情報に基づくタイミングにおいてAP211との間の接続を切断する処理を行う。
つぎに、GW241は、ステップS1301により読み出した切断スケジュール情報に基づくタイミングにおいて、再起動を指示する再起動コマンドをAP211へ送信する(ステップS1313)。たとえば、GW241は、ノード#8についての切断コマンドを発行したステップS1307のタイミング(上述の基準タイミング)から、(設定時間T1)+(調整時間T3)=12.0[s]が経過したタイミングにおいて再起動コマンドを送信する。
つぎに、AP211が再起動を開始する(ステップS1314)。そして、ステップS1314から再起動時間T2が経過後にAP211の再起動が完了する。この再起動の過程においては、たとえば、AP211とGW241との間で接続や認証に関する通信が行われる。AP211は、再起動が完了した後、ノード#1~#20からのプローブ要求に応答する状態となる。
ここで、上述のように、各ノードのうちAP211の再起動が完了した直後にスキャンを行うノードがノード#8となるように各ノードの切断タイミングが設定されている。したがって、AP211は、再起動の完了直後に、ノード#8の周期的なスキャンにより送信されたプローブ要求を受信する(ステップS1315)。つぎに、AP211は、受信したプローブ要求に対するプローブ応答をノード#8へ送信する(ステップS1316)。つぎに、ノード#8およびAP211の間と、AP211およびGW241の間と、のそれぞれにおいて、ノード#8とAP211との接続を行うためのAP接続の処理を行う(ステップS1317)。AP接続の処理にはノードの認証が含まれる。これにより、ノード#8がAP211に接続した状態となる。
つぎに、AP211は、ノード#15の周期的なスキャンにより送信されたプローブ要求を受信する(ステップS1318)。つぎに、AP211は、受信したプローブ要求に対するプローブ応答をノード#15へ送信する(ステップS1319)。つぎに、ノード#15およびAP211の間と、AP211およびGW241の間と、のそれぞれにおいて、ノード#15とAP211との接続を行うためのAP接続の処理を行う(ステップS1320)。これにより、ノード#15がAP211に接続した状態となる。
その後、AP211は、他の各ノードについても同様に接続させる処理を行う。ここでは、ノード#1~#20のうち最後に接続したノードがノード#7であったとする。ノード#7の接続について説明すると、AP211は、ノード#7の周期的なスキャンにより送信されたプローブ要求を受信する(ステップS1321)。
つぎに、AP211は、受信したプローブ要求に対するプローブ応答をノード#7へ送信する(ステップS1322)。つぎに、ノード#7およびAP211の間と、AP211およびGW241の間と、のそれぞれにおいて、ノード#7とAP211との接続を行うためのAP接続の処理を行う(ステップS1323)。これにより、ノード#7がAP211に接続した状態となる。以上により、AP211が再起動を行った後に、ノード#1~#20のすべてを短時間でAP211に接続させることができる。
なお、図13に示した例では、AP211が再起動を開始するまでの期間において、AP211がノードから送信されるプローブ要求に応答しない状態となる処理について説明したが、このような処理に限らない。たとえば、AP211が再起動を開始するまでの期間においてプローブ要求が送信された場合に、そのプローブ要求を送信したノードが認証されないように制御してもよい。この認証は、GW241や、GW241とは異なる認証サーバなどにより行われる。これにより、AP211の再起動の開始前に、接続を切断したノードがAP211に再度接続してしまうことを回避することができる。
(実施の形態にかかるGWによる切断スケジュール情報の生成処理)
図14は、実施の形態にかかるGWによる切断スケジュール情報の生成処理の一例を示すフローチャートである。GW241は、AP211についての切断スケジュール情報の生成処理として、たとえば図14に示す処理を繰り返し実行する。
まず、GW241は、AP211の配下のノードが変更されたか否かを判断し(ステップS1401)、AP211の配下のノードが変更されるまで待つ(ステップS1401:Noのループ)。AP211の配下のノードとは、たとえばAP211に接続が可能なノードとして登録されたノードである。たとえば、図2に示したデータベース302には、AP211の配下の各ノードを示す情報が記憶されており、ステップS1401はこのデータベース302の情報を参照することにより行うことができる。
ステップS1401において、AP211の配下のノードが変更されると(ステップS1401:Yes)、GW241は、AP211の配下の各ノードの情報を取得する(ステップS1402)。たとえば、GW241は、図3に示したデータベース302から図7に示したノード情報700を取得する。また、このとき、GW241は、データベース302からさらに上述の再起動時間T2、調整時間T3、スキャンシフト時間Δtなどの各情報を取得してもよい。
つぎに、GW241は、ステップS1402により取得した情報に含まれる各ノードの優先順位およびスキャン周期tcに基づいて、AP211の配下の各ノードの接続順を決定する(ステップS1403)。接続順は、AP211が再起動した直後にAP211のスキャンを行う順番である。たとえば、GW241は、上述のように、優先順位(優先度)が高いほど早い順番となり、優先順位が同じノード間や優先順位が設定されていないノード間についてはスキャン周期tcが長いほど早い順番となるように接続順を決定する。
また、GW241は、AP211の再起動が完了するタイミングを上述の基準タイミングからの経過時間で表す再起動完了タイミングを算出する(ステップS1404)。たとえば、GW241は、上述の設定時間T1、再起動時間T2および調整時間T3の和(T1+T2+T3)を再起動完了タイミングとして算出する。ここで、設定時間T1は、たとえば、上述のスキャンシフト時間Δtと、AP211の配下の各ノードの台数nと、に基づいてΔt×nにより算出することができる。再起動時間T2および調整時間T3は、ステップS1402により取得した情報に含まれる。
つぎに、GW241は、AP211の配下の各ノードについて、上述の基準タイミングにおいて切断フレームを送信する場合の各スキャンタイミングを算出する(ステップS1405)。これにより、たとえば図8に示した中間テーブル800が得られる。
つぎに、GW241は、ステップS1403により決定した接続順が1番目のノードの切断タイミングを0.0[s]に設定する(ステップS1406)。切断タイミングは、上述の基準タイミングからの経過時間により表される。
また、GW241は、ステップS1403により決定した接続順が1番目のノードにおける、ステップS1405により算出した各スキャンタイミングのうち上述の再起動完了タイミングの直後のスキャンタイミングを特定する(ステップS1407)。ステップS1407により特定されたスキャンタイミングをスキャンタイミングAとする。
つぎに、GW241は、Nを2に設定する(ステップS1408)。Nは、切断タイミングを決定するノードの接続順を示す情報であり、たとえば図6に示したメモリ602のメインメモリに記憶される。
つぎに、GW241は、ステップS1403により決定した接続順がN番目のノードの切断タイミングを算出する(ステップS1409)。このとき、GW241は、接続順がN番目のノードにおける、上述の再起動完了タイミングの直後(再起動直後)のスキャンタイミングが、接続順がN-1番目のノードにおける再起動直後のノードのスキャンタイミング+Δtとなるよう切断タイミングを算出する。
つぎに、GW241は、ステップS1409により算出した切断タイミングを用いた場合のN番目のノードにおける再起動直前のスキャンタイミングが、上述のスキャンタイミングAよりも調整時間T3以前であるか否かを判断する(ステップS1410)。再起動直前とは、上述した再起動完了タイミングの直前である。
ステップS1410において、再起動直前のスキャンタイミングがスキャンタイミングAよりも調整時間T3以前である場合(ステップS1410:Yes)は、GW241は、ステップS1411へ移行する。すなわち、GW241は、接続順がN番目のノードの切断タイミングを、ステップS1409により算出した切断タイミングに設定する(ステップS1411)。
つぎに、GW241は、現在のNが、AP211の配下のノードの台数と等しいか否かを判断する(ステップS1412)。Nがノードの台数と等しくない場合(ステップS1412:No)は、切断タイミングを設定していないノードが存在すると判断することができる。この場合に、GW241は、Nをインクリメントし(ステップS1413)、ステップS1409へ戻る。
ステップS1412において、Nがノードの台数と等しい場合(ステップS1412:Yes)は、AP211の配下のノードのすべてについて切断タイミングを設定したと判断することができる。この場合に、GW241は、ステップS1415へ移行する。
ステップS1410において、再起動直前のスキャンタイミングがスキャンタイミングAよりも調整時間T3以前でない場合(ステップS1410:No)は、ステップS1414へ移行する。すなわち、GW241は、接続順がN番目以降の各ノードについて、再起動直前のスキャンタイミングがスキャンタイミングAよりも調整時間T3以前となるように切断タイミングを設定する(ステップS1414)。たとえば、GW241は、接続順がN番目以降の各ノードの切断タイミングを、接続順がN-1番目のノードについて設定済みの切断タイミングと同じにする。
つぎに、GW241は、AP211の配下の各ノードについて、ステップS1411,S1414により設定した切断タイミングを示す切断スケジュール情報を生成し(ステップS1415)、一連の切断スケジュール情報の生成処理を終了する。ステップS1415により、たとえば上述の切断スケジュール情報1000が生成される。GW241は、ステップS1415により生成した切断スケジュール情報を切断スケジュール記憶部333に記憶する。
なお、図14に示した例においては、GW241がAP211の配下の各ノードが変更されるごとに切断スケジュール情報を生成する処理について説明したが、このような処理に限らない。たとえば、GW241は、AP211の再起動を行うと判断した場合に、その時点におけるAP211の配下の各ノードについて切断スケジュール情報を生成してもよい。
(実施の形態にかかるGWによるAPの再起動の制御処理)
図15は、実施の形態にかかるGWによるAPの再起動の制御処理の一例を示すフローチャートである。GW241は、AP211の再起動の制御処理として、たとえば図15に示す処理を繰り返し実行する。
まず、GW241は、AP211の再起動を実行するか否かを判断し(ステップS1501)、AP211の再起動を実行すると判断するまで待つ(ステップS1501:Noのループ)。ステップS1501の判断は、たとえば、現在時刻が予め設定された所定のタイミング(たとえば夜間の時刻)になったか否かや、再起動の実行指示を管理者から受け付けたか否かなどに行うことができる。
ステップS1501において、AP211の再起動を実行すると判断すると(ステップS1501:Yes)、GW241は、図14の生成処理により生成して切断スケジュール記憶部333に記憶した切断スケジュール情報を読み出す(ステップS1502)。
つぎに、GW241は、上述の再起動準備コマンドをAP211へ発行する(ステップS1503)。つぎに、GW241は、ステップS1502により読み出した切断スケジュール情報に基づいて、AP211への切断コマンドの発行を開始する(ステップS1504)。
つぎに、GW241は、AP211の配下のすべてのノードについての切断コマンドの発行が完了したか否かを判断し(ステップS1505)、すべてのノードについての切断コマンドの発行が完了するまで待つ(ステップS1505:Noのループ)。すべてのノードについての切断コマンドの発行が完了すると(ステップS1505:Yes)、GW241は、ステップS1506へ移行する。
すなわち、GW241は、現在時刻がAP211の再起動の開始タイミングになったか否かを判断し(ステップS1506)、現在時刻がAP211の再起動の開始タイミングになるまで待つ(ステップS1506:Noのループ)。AP211の再起動の開始タイミングは、上述の基準タイミングから設定時間T1および調整時間T3が経過したタイミングである。
ステップS1506において、現在時刻がAP211の再起動の開始タイミングになると(ステップS1506:Yes)、GW241は、上述の再起動コマンドをAP211へ発行し(ステップS1507)、一連の制御処理を終了する。
(実施の形態にかかるAPによる処理)
図16は、実施の形態にかかるAPによる処理の一例を示すフローチャートである。AP211は、たとえば図16に示す処理を繰り返し実行する。まず、AP211は、上述の再起動準備コマンドをGW241から受信したか否かを判断し(ステップS1601)、再起動準備コマンドをGW241から受信するまで待つ(ステップS1601:Noのループ)。
ステップS1601において、再起動準備コマンドをGW241から受信すると(ステップS1601:Yes)、AP211は、AP211の配下のノードからのプローブ要求に対して応答しない状態へ移行する(ステップS1602)。
つぎに、AP211は、上述の再起動コマンドをGW241から受信したか否かを判断する(ステップS1603)。再起動コマンドを受信していない場合(ステップS1603:No)は、AP211は、上述の切断コマンドをGW241から受信したか否かを判断する(ステップS1604)。切断コマンドを受信していない場合(ステップS1604:No)は、AP211は、ステップS1603へ戻る。
ステップS1604において、切断コマンドを受信した場合(ステップS1604:Yes)は、AP211は、受信した切断コマンドにより切断が指示されたノードへ切断フレームを送信し(ステップS1605)、ステップS1603へ戻る。ステップS1603において、再起動コマンドを受信した場合(ステップS1603:Yes)は、AP211は、再起動を開始し(ステップS1606)、一連の処理を終了する。
(実施の形態にかかる各装置における構成の他の例)
図17は、実施の形態にかかる各装置における構成の他の一例を示す図である。図17において、図3に示した部分と同様の部分については同一の符号を付して説明を省略する。図3に示した切断スケジュール記憶部333をAP211に設けてもよい。この場合に、GW241の制御部332は、たとえば図14に示した生成処理により生成した切断スケジュール情報を、ネットワーク通信部331によりネットワーク301を介してAP211へ送信する。
AP211は、GW241から送信された切断スケジュール情報をネットワーク通信部322により受信し、受信した切断スケジュール情報を切断スケジュール記憶部333に記憶しておく。この場合に、制御部323は、AP211の再起動を行う場合に、切断スケジュール記憶部333に記憶された切断スケジュール情報を取得する。そして、制御部323は、取得した切断スケジュール情報に基づいて、センサノード201~204,…への切断フレームの送信と、AP211の再起動を行う。
(実施の形態にかかるセンサネットワークにおける処理の他の例)
図18は、実施の形態にかかるセンサネットワークにおける処理の他の一例を示すシーケンス図である。図17に示した例のセンサネットワーク200においては、たとえば図18に示す処理が実行される。GW241は、生成した切断スケジュール情報をAP211へ送信する(ステップS1801)。
つぎに、GW241は、AP211の再起動を行うと判断すると、上述の再起動コマンドをAP211へ送信する(ステップS1802)。つぎに、AP211が、ノード#1~#20からのプローブ要求に応答しない状態へ移行する(ステップS1803)。
つぎに、AP211は、ステップS1801により受信した切断スケジュール情報に基づくノード#15の切断タイミングにおいて、切断フレームをノード#15へ送信する(ステップS1804)。つぎに、ノード#15が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1805)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#15へ送信しない。
また、AP211は、ステップS1801により受信した切断スケジュール情報に基づくノード#8の切断タイミングにおいて、切断フレームをノード#8へ送信する(ステップS1806)。つぎに、ノード#8が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1807)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#8へ送信しない。
また、AP211は、ステップS1801により受信した切断スケジュール情報に基づくノード#7の切断タイミングにおいて、切断フレームをノード#7へ送信する(ステップS1808)。つぎに、ノード#7が、AP211との間の接続を切断し、プローブ要求を送信することによるAP211の周期的なスキャンを開始する(ステップS1809)。ただし、この時点において、AP211はプローブ要求に応答しない状態であるため、AP211はプローブ応答をノード#7へ送信しない。
また、AP211は、ノード#1~#20のうちノード#7,#8,#15以外の各ノードについても同様に、ステップS1801により受信した切断スケジュール情報に基づくタイミングにおいて切断フレームを送信する。
つぎに、AP211は、ステップS1801により受信した切断スケジュール情報に基づくタイミングにおいて再起動を開始する(ステップS1810)。たとえば、GW241は、ノード#8についての切断フレームを送信したステップS1806のタイミング(上述の基準タイミング)から、(設定時間T1)+(調整時間T3)=12.0[s]が経過したタイミングにおいて再起動を開始する。
以降のステップS1811~S1819は、それぞれ図13に示したステップS1315~S1323と同様である。図13に示したように、切断スケジュール情報に基づく各制御をAP211が行うようにしてもよい。
なお、図18に示した例では、GW241がAP211の再起動を行うと判断する前に切断スケジュール情報をAP211へ送信する処理について説明したが、このような処理に限らない。たとえば、GW241は、生成した切断スケジュール情報を記憶しておき、AP211の再起動を行うと判断した後、再起動コマンドをAP211へ送信する前に、記憶しておいた切断スケジュール情報をAP211へ送信してもよい。
(実施の形態にかかるGWによるAPの再起動の制御処理の他の例)
図19は、実施の形態にかかるGWによるAPの再起動の制御処理の他の一例を示すフローチャートである。図17,図18に示した例において、GW241は、AP211の再起動の制御処理として、たとえば図19に示す処理を繰り返し実行する。図19のステップS1901は、図15に示したステップS1501と同様である。
ステップS1901において、AP211の再起動を実行すると判断すると(ステップS1901:Yes)、GW241は、ステップS1901へ移行する。すなわち、GW241は、図14の生成処理により生成して切断スケジュール記憶部333に記憶した切断スケジュール情報をAP211へ送信する(ステップS1902)。つぎに、GW241は、上述の再起動コマンドをAP211へ発行し(ステップS1903)、一連の制御処理を終了する。
ただし、上述のように、GW241は、AP211の再起動を実行すると判断する前に切断スケジュール情報をAP211へ送信しておいてもよい。
(実施の形態にかかるAPによる処理の他の例)
図20は、実施の形態にかかるAPによる処理の他の一例を示すフローチャートである。図17,図18に示した例において、AP211は、たとえば図20に示す処理を繰り返し実行する。まず、AP211は、上述の切断スケジュール情報をGW241から受信したか否かを判断し(ステップS2001)、切断スケジュール情報をGW241から受信するまで待つ(ステップS2001:Noのループ)。
ステップS2001において、切断スケジュール情報をGW241から受信すると(ステップS2001:Yes)、AP211は、ステップS2002へ移行する。すなわち、AP211は、上述の再起動コマンドをGW241から受信したか否かを判断し(ステップS2002)、再起動コマンドをGW241から受信するまで待つ(ステップS2002:Noのループ)。
ステップS2002において、再起動コマンドをGW241から受信すると(ステップS2002:Yes)、AP211は、AP211の配下のノードからのプローブ要求に対して応答しない状態へ移行する(ステップS2003)。つぎに、AP211は、ステップS2001により受信した切断スケジュール情報に基づいて、AP211への切断フレームの送信を開始する(ステップS2004)。
つぎに、AP211は、AP211の配下のすべてのノードについての切断フレームの送信が完了したか否かを判断し(ステップS2005)、すべてのノードについての切断フレームの送信が完了するまで待つ(ステップS2005:Noのループ)。すべてのノードについての切断フレームの送信が完了すると(ステップS2005:Yes)、AP211は、ステップS2006へ移行する。
すなわち、AP211は、現在時刻がAP211の再起動の開始タイミングになったか否かを判断し(ステップS2006)、現在時刻がAP211の再起動の開始タイミングになるまで待つ(ステップS2006:Noのループ)。現在時刻がAP211の再起動の開始タイミングになると(ステップS2006:Yes)、再起動を開始し(ステップS2007)、一連の処理を終了する。
図17~図20において、GW241が生成した切断スケジュール情報をAP211に送信し、AP211が切断スケジュール情報に基づく各制御を行う処理について説明したが、このような処理に限らない。たとえば、AP211が、ノード情報700などの各情報に基づいて切断スケジュール情報を生成し、生成した切断スケジュール情報に基づいて、自装置の再起動の直前に各ノードへ切断フレームを送信する処理としてもよい。
このように、実施の形態にかかる接続制御装置130は、アクセスポイント110の再起動を行う場合、その再起動の前に、ノード121~123のそれぞれについて、切断を指示する制御信号をノードへ送信させる制御を行う。これにより、アクセスポイント110の再起動の完了直後におけるノード121~123のスキャンの各タイミングを制御することができる。したがって、アクセスポイント110の再起動の完了直後においてノード121~123がスキャンを行う各タイミングをずらし、ノード121~123のそれぞれの接続の成功率を向上させることができる。このため、アクセスポイント110の再起動後のアクセスポイント110へのノード121~123への再接続を短時間で行うことができる。
また、接続制御装置130は、ノード121~123のアクセスポイント110への接続の優先度に基づいて決定された、各ノードとアクセスポイント110との間の接続の切断タイミングにおいて、上述の制御信号をノードへ送信させる。これにより、アクセスポイント110の再起動の完了直後においてノード121~123がスキャンを行う順番を制御し、ノード121~123のうちの優先度が高いノードを先にアクセスポイント110に接続させることができる。
また、ノード121~123のそれぞれについての切断タイミングは、たとえば、ノードにおける、アクセスポイント110との間の接続を切断してから接続の処理を最初に開始するまでの時間と、接続の処理の周期と、に基づいて決定される。アクセスポイント110との間の接続を切断してから接続の処理を最初に開始するまでの時間は、たとえば上述の再起動時間T2である。接続の処理の周期は、たとえば上述の設定時間T1である。これにより、各ノードについて、切断タイミングと、切断後における接続の処理の各タイミングと、を特定できるため、アクセスポイント110の再起動の完了直後におけるノード121~123のスキャンの各タイミングを制御することができる。
また、ノード121~123のそれぞれの切断タイミングは、上述の優先度に加えて、ノードがアクセスポイント110との間の接続を切断した後に行う、アクセスポイント110への接続の処理(たとえばスキャン)の周期の長さに基づいて決定されてもよい。たとえば、上述のように優先度が高いノードほどアクセスポイント110の再起動の完了直後において先に上述の接続の処理を行うように各ノードの切断タイミングが決定される。そして、優先度が同じノード間では、上述の接続の処理の周期が長いノードほどアクセスポイント110の再起動の完了直後において先に上述の接続の処理を行うように各ノードの切断タイミングが決定される。
これにより、接続の処理の繰り返し周期が長くアクセスポイント110への接続機会が少ないノードを、接続の処理の繰り返し周期が短くアクセスポイント110への接続機会が多いノードよりも先にアクセスポイント110に接続させることができる。このため、アクセスポイント110の再起動後にノード121~123を再起動するまでの時間を短くすることができる。たとえば、アクセスポイント110の再起動の完了直後において接続の処理を行う順番が最後の1以上のノード(たとえばノード#5~#7)については、アクセスポイント110の再起動の完了直後において接続の処理を行うタイミングが同じになる場合がある。この場合、これらの各ノードにおける接続の処理の失敗率が高くなるが、これらのノードにおける接続の処理の繰り返し周期は短いため、接続の処理に失敗しても短時間で再度接続の処理を行うことができる。
また、接続制御装置130は、上述の制御信号によりアクセスポイント110との間の接続を切断させたノードが、再起動の前にアクセスポイント110に接続しないように制御してもよい。たとえば、接続制御装置130は、少なくともアクセスポイント110との間の接続を切断させたノードについて、アクセスポイント110の再起動を行うまでは、そのノードからの接続要求(プローブ要求)に応答しないようにアクセスポイント110を制御する。または、接続制御装置130は、そのノードについての認証を行わないように認証サーバを制御してもよい。
これにより、アクセスポイント110との間の接続を切断させたノードが再起動の前にアクセスポイント110に接続し、アクセスポイント110の再起動によってそのノードとアクセスポイント110との間の接続が切断されることを回避することができる。このため、アクセスポイント110の再起動の完了直後におけるノード121~123のスキャンの各タイミングを、上述の切断タイミングにより制御することができる。
以上説明したように、接続制御装置、無線通信システムおよび接続制御プログラムによれば、アクセスポイントの再起動の後に、優先度の高いノードから先にアクセスポイントに接続させることができる。
なお、本実施の形態で説明した接続制御方法は、たとえば、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。CD-ROMはCompact Disc-Read Only Memoryの略である。MOはMagneto Optical diskの略である。DVDはDigital Versatile Discの略である。またこのプログラムは、インターネット等のネットワークを介して配布されてもよい。
上述した各実施の形態に関し、さらに以下の付記を開示する。
(付記1)アクセスポイントの再起動を行う場合に、前記アクセスポイントに接続しているノードのそれぞれについて、前記ノードの前記アクセスポイントへの接続の優先度に基づいて決定された、前記ノードと前記アクセスポイントとの間の接続の切断タイミングを示す情報を取得する取得部と、
前記再起動の前に、前記アクセスポイントに接続しているノードのそれぞれについて、前記取得部によって取得された前記情報が示す前記切断タイミングにより、前記アクセスポイントと前記ノードとの間の接続の切断を指示する制御信号を前記アクセスポイントから前記ノードへ送信させる制御を行うことにより、前記アクセスポイントに接続しているノードのそれぞれに対して、前記アクセスポイントとの間の接続を切断させた後、前記アクセスポイントへの接続の処理を周期的に行わせる制御部と、
を備え、前記切断タイミングは、前記優先度が高いノードほど前記再起動の完了直後において先に前記接続の処理を行うように決定される、
ことを特徴とする接続制御装置。
(付記2)前記アクセスポイントに接続しているノードのそれぞれは、前記アクセスポイントから前記制御信号を受信すると、前記アクセスポイントとの間の接続を切断した後、前記アクセスポイントへの接続の処理を周期的に行い、
前記切断タイミングは、前記アクセスポイントに接続しているノードのそれぞれについて、前記優先度と前記ノードにおける前記接続の処理の周期とに基づいて決定される、
ことを特徴とする付記1に記載の接続制御装置。
(付記3)前記切断タイミングは、前記優先度が高いノードほど前記再起動の完了直後において先に前記接続の処理を行うように決定され、前記優先度が同じノード間では前記接続の処理の周期が長いノードほど前記再起動の完了直後において先に前記接続の処理を行うように決定されることを特徴とする付記2に記載の接続制御装置。
(付記4)前記切断タイミングは、前記アクセスポイントに接続しているノードのそれぞれについて、前記ノードにおける、前記制御信号により前記アクセスポイントとの間の接続を切断してから前記接続の処理を最初に開始するまでの時間と、前記接続の処理の周期と、に基づいて決定されることを特徴とする付記1~3のいずれか一つに記載の接続制御装置。
(付記5)前記切断タイミングは、前記アクセスポイントに接続しているノードのうち少なくとも前記優先度が最も高いノードが前記再起動の完了直後において他のノードと異なるタイミングで前記接続の処理を行うように決定されることを特徴とする付記1~4のいずれか一つに記載の接続制御装置。
(付記6)前記制御部は、前記制御信号により前記アクセスポイントとの間の接続を切断させたノードからの接続要求に対して応答しない状態に前記アクセスポイントを移行させる制御を行うことを特徴とする付記1~5のいずれか一つに記載の接続制御装置。
(付記7)アクセスポイントに接続可能なノードと、
前記アクセスポイントの再起動を行う場合、前記再起動の前に、前記アクセスポイントに接続しているノードのそれぞれについて、前記ノードの前記アクセスポイントへの接続の優先度に基づいて決定された、前記ノードと前記アクセスポイントとの間の接続の切断タイミングにより、前記アクセスポイントと前記ノードとの間の接続の切断を指示する制御信号を前記アクセスポイントから前記ノードへ送信させる制御を行う接続制御装置と、
を含むことを特徴とする無線通信システム。
(付記8)アクセスポイントの再起動を行う場合に、前記アクセスポイントに接続しているノードのそれぞれについて、前記ノードの前記アクセスポイントへの接続の優先度に基づいて決定された、前記ノードと前記アクセスポイントとの間の接続の切断タイミングを示す情報を取得し、
前記再起動の前に、前記アクセスポイントに接続しているノードのそれぞれについて、取得した前記情報が示す前記切断タイミングにより、前記アクセスポイントと前記ノードとの間の接続の切断を指示する制御信号を前記アクセスポイントから前記ノードへ送信させる制御を行う、
処理をコンピュータに実行させることを特徴とする接続制御プログラム。