通信制御装置、ネットワークシステム、通信制御方法、およびプログラム
【課題】ネットワークにおけるチャンネルを変更する場合に全てのノードに対して確実にチャンネル変更を指示可能な通信制御装置を得る。
【解決手段】通信制御装置であるゲートウェイ1001は、ルータとの間の通信エラーが発生したことに基づき、ルータから予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を受信する。ゲートウェイは、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定する。ゲートウェイは、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。ゲートウェイは、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【解決手段】通信制御装置であるゲートウェイ1001は、ルータとの間の通信エラーが発生したことに基づき、ルータから予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を受信する。ゲートウェイは、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定する。ゲートウェイは、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。ゲートウェイは、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の通信制御装置、ネットワークシステム、通信制御方法、およびプログラムに関する。本発明は、特に、ルータおよびエンドデバイスを管理する通信制御装置、ルータとエンドデバイスと通信制御装置とを備えるネットワークシステム、通信制御装置における通信制御方法、通信制御装置を制御するためのプログラム。
【背景技術】
【0002】
(1)従来、パーソナルネットワークとして、たとえば、ZigBee(登録商標)を用いたネットワークが知られている。非特許文献1には、ZigBee(登録商標)の機能の概要が説明されている。特に、非特許文献1(A.5 Frequency Agility)には、チャンネルを変更する機能である周波数アジリティ(Frequency Agility)の概要が説明されている。
【0003】
非特許文献2には、ZigBee(登録商標)の仕様が開示されている。非特許文献2には、たとえば、ZigBee(登録商標)で用いられるコマンド等が開示されている。
以下、コーディネータ、ルータ、エンドデバイスという用語は、それぞれZigBee(登録商標)における論理デバイスの種別を表すものとする。それぞれの意味については後述する。また、ネットワークマネージャという用語は、周波数アジリティにおいてネットワークの管理を行なうZigBee(登録商標)ノードを意味する。通常はコーディネータがその役割を持つが、必ずしもそれには限らない。ネットワークマネージャは、ZigBee(登録商標)ネットワーク内に1台だけ存在する。
【0004】
ZigBee(登録商標)を用いたネットワークにおけるコーディネータは、当該ネットワークを開始するに先立ち、予め設定されたチャンネルリスト(デフォルト・チャンネルリスト)におけるチャンネルの全てをスキャンする。コーディネータは、全てのチャンネルのうちで一番空いてそうなチャンネル(つまり、エネルギレベルの低いチャンネル)を選択する。コーディネータは、選択したチャンネルを用いてネットワークを開始する。いったんネットワークが開始されると、基本的には、チャンネルは変更されない。
【0005】
ところで、ZigBee(登録商標)におけるコーディネータがネットワークを開始した後に、たとえば以下の理由によって、チャンネルの状況が悪化する場合がある。ZigBee(登録商標)が利用する電波の周波数帯は、2.4GHz帯である。2.4GHz帯は、無線LAN、Bluetooth(登録商標)、電子レンジ、無線キーボードといった各種機器も使用する周波数帯域でもある。このため、当初はチャンネルの状況がよくても、上記のような各種機器が開始されることなどにより、チャンネルの状況が悪化する場合がある。より詳しく説明すると、以下の通りである。
【0006】
図23は、ZigBee(登録商標)でのチャンネルの構成と、無線LAN(IEEE802.11b)でのチャンネルの構成とを説明するための図である。図23を参照して、無線LANでは、周波数が異なる4個のチャンネル1ch,6ch,11ch,14chが主に用いられる。また、ZigBee(登録商標)では、周波数が異なる16個のチャンネル11ch〜26chのいずれかのチャンネルが用いられる。たとえば無線LANが上記4個のチャンネルのうちあるチャンネルの使用を開始した場合、ZigBee(登録商標)における16個のチャンネルのいずれかのチャネルとの間で電波干渉が生じる可能性がある。このため、上述したように、ZigBee(登録商標)のコーディネータがネットワークを開始した時点では、空いていたチャンネルであっても、その後無線LANの使用開始により、そのチャンネルの状況が悪化する場合がある。
【0007】
このような状況に対処するための機能として、周波数アジリティ(Frequency Agility)が知られている。周波数アジリティは、電波が干渉して、通信エラーが多くなった場合に、ネットワークマネージャがZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)に対してチャンネル変更の指示を出し、干渉しないチャンネルへ移動させることで、ネットワークの効率と安定性を高める機能である。非特許文献1における“Appendix A”の項目“A.5”(P.396-398)には、上記周波数アジリティについての記載がなされている。以下、周波数アジリティについて、具体的に説明する。
【0008】
ルータは、通信の失敗カウントを記録する。ルータは、失敗カウントがしきい値を超えたら(メッセージ数が20以上あって、25%のメッセージが失敗)、予め設定されている全てのチャンネルをスキャンし、各チャンネルのエネルギレベルを取得する。ルータは、ネットワークマネージャに取得したエネルギレベルを通知する。ルータは、ネットワークをあふれさせることがないようにするため、1時間に最大4回まで通知するよう制限する。
【0009】
ネットワークマネージャは、ルータからエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受信する。ネットワークマネージャは、当該エネルギレベルの通知に基づき、チャンネルを変更すべきか否かを決定する。また、ネットワークマネージャは、必要ならば、他のZigBee(登録商標)ノードに対して、エネルギレベルの通知を行うよう要求(Mgmt_NWK_UPdate_req)を出すこともできる。
【0010】
さらに、ネットワークマネージャは、チャンネルを変更すべきであると判断した場合には、どのチャンネルに変更すべきかについても決定する。チャンネル変更の決定については、ネットワークマネージャが自動で決定する場合もあるし、ネットワーク管理者(人間)の決定による場合もある。ネットワークマネージャは、チャンネルを変更するためのチャンネル変更コマンド(Mgmt_NWK_UPdate_req)を、ブロードキャストで送信する。
【0011】
このブロードキャストの宛先アドレスは0xFFFDである。これは、RxOnWhenIdle = TRUE のノード(アイドル状態でも受信可能であるノード、つまり起きているノード)に対して届くという意味である。従って、チャンネル変更コマンドはZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)に対して届く。
【0012】
上記ブロードキャストによりチャンネル変更コマンドを受信したノード(ルータおよび起きているエンドデバイス)は、当該チャンネル変更コマンドを、再ブロードキャストする。このようなブロードキャストの連続により、ネットワーク内の起きているノード(ウェイクフル・ノード)に、チャンネル変更コマンドが伝わる。
【0013】
ここで、スリープ状態に入るエンドデバイス(以下、「スリーピー・エンドデバイス(Sleepy end device)」と称する)は、起き上がっている間を除き、ブロードキャストによるチャンネル変更コマンドを受信できない。スリープ状態の期間に比べて起きている状態の期間は短いため、原則的には、スリーピー・エンドデバイスは(ブロードキャストで送信される)チャンネル変更コマンドを受信できない。それゆえ、スリーピー・エンドデバイスは、親(ルータまたはコーディネータ)がチャンネルを変えると当該親と通信できなくなる。したがって、スリーピー・エンドデバイスは、親と通信できなくなった場合に、他のチャンネルをサーチしなければならない。はじめは予め設定されているチャンネルリストをサーチする。この中に以前と同じネットワークを見つけられなければ、全チャンネルをサーチする。周波数アジリティを有効にした場合、このような仕様をスリーピー・エンドデバイス側に盛り込まなければならない(非特許文献2に記載されている)。
【0014】
また、ウェイクフル・ノードであっても、チャンネル変更コマンドを受信できない場合がある。ウェイクフル・ノードは、失敗カウントがしきい値を超えて、ネットワークマネージャと一定期間通信できなければ、現行チャンネル上で通信するには干渉状態が悪化しすぎたと判断して、他のチャンネルをサーチしなければならない。
【0015】
チャンネル変更コマンドは、ZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)が次々に再ブロードキャストしていきネットワーク全体のウェイクフル・ノードに伝わる。うまくいけばかなり高速にネットワーク全体のウェイクフル・ノードに伝わる。しかし、そもそもネットワークのチャンネル状況が悪化しているため、通信が失敗することも多い。また、チャンネル変更コマンドはブロードキャストで送信されるため、ブロードキャストの通信が失敗する場合も多い。ブロードキャストはユニキャストと異なり、ACKを確認していないためである。
【0016】
また、非特許文献2の575頁(“ANNEX E”)には、チャンネル変更コマンドである“Mgmt_NWK_Updat_req”を受信したの後の動作が規定されている。具体的に説明すると、チャンネル変更コマンドを受信したノードは、タイマを予め定められた時間(nwkNetworkBroadcastDeliveryTime)に設定し、当該タイマが切れた後にチャンネルを変更する。この時間はブロードキャスト送信にかかる時間を見積もったものであり、固定値である。ある実装によると3000msであった。このように、チャンネル変更コマンドには、チャンネルを変更するタイミングについての具体的な指示はない。どのタイミングでチャンネルを変更するかはそれぞれのノード(ウェイクフル・ノード)に委ねられている。
【0017】
(2)また、従来、無線LAN(Local Area Network)においても、空いているチャンネルを自動で検出し、当該無線LANで利用するチャンネルを当該検出したチャンネルに設定する機能(以下、「AUTOチャンネル機能」と称する)が知られている。
【0018】
たとえば、非特許文献3には、AUTOチャンネル機能として、簡易設定機能であるAOSS(登録商標)(AirStation One-Touch Secure System)の設定時または電源オン時に自動で全チャンネルをスキャンし、空いているチャンネルに自動でチャンネルを設定するアクセスポイントが開示されている。
【0019】
また、非特許文献4にも同様に、AUTOチャンネル機能として、装置の起動時、チャンネル設定変更時、および無線機能設定変更時において、他の無線アクセスポイントが周囲に存在する環境であっても、空いているチャンネルを自動で検出し、電波状態のよいチャンネルを自動選択するアクセスポイントが開示されている。
【0020】
このように、無線LANにおけるAUTOチャンネル機能は、チャンネル設定変更時、装置の起動時、無線機能設定変更時のときだけ、自動的に空いているチャンネルを検出し、無線ALNで利用するチャンネルを選択する。また、AUTOチャンネル機能では、アクセスポイントの子ノードを引き連れた状態で、チャンネルを他のチャンネルに変更することはない。
【先行技術文献】
【非特許文献】
【0021】
【非特許文献1】Drew Gislason著「ZIGBEE WIRELESS NETWORKING」(米国)、Newnes、2008年9月4日、p.396-398
【非特許文献2】ZigBee Alliance「ZIGBEE SPECIFICATION ZigBee Document053474r17」、ZigBee Standards Organization、2008年1月17日
【非特許文献3】Buffalo、“AUTOチャンネル設定機能”、[online]、[平成23年7月26日検索]、インターネット<URL:http://buffalo.jp/products/catalog/item/w/wzr-hp-g54_p/>
【非特許文献4】NEC、“オートチャネルセレクト”、[online]、[平成23年7月26日検索]、インターネット<URL:http://121ware.com/product/atermstation/product/warpstar/wr8400n/feature2.html>
【発明の概要】
【発明が解決しようとする課題】
【0022】
上述した周波数アジリティによってチャンネルを変更する場合、以下のような問題点がある。すなわち、チャンネル変更のコマンドはブロードキャストで送信されるため、大抵の期間スリープ状態にあるスリーピー・エンドデバイスはこのコマンドを原則的に受信することができない。
【0023】
参考までに、宛先アドレスが0xFFFFであるブロードキャストもある。これはスリープ状態に入るエンドデバイスを含めて全てのノードに対して届けられる。ただし、スリープ状態に入るエンドデバイスにも届けるためには、送信側がパケットを相当の期間保持しなければならず、ZigBee(登録商標)の通常コマンドでは一般的に用いられていない。
【0024】
また、ブロードキャストでの送信は信頼性が低い。特に、周波数アジリティを実行しようとする場合には、ネットワークにおける伝送路状況は悪化しているはずである。このため、起きているノード(ルータ、ウェイクフル・エンドデバイス)であっても当該チャンネル変更コマンドを受信できる可能性は低い。
【0025】
上記のように、スリーピー・エンドデバイスは原則的にチャンネル変更コマンドを受信できないため、スリーピー・エンドデバイスは親との通信できなくなると、親がチャンネルを変更したと推定して、他のチャンネルをサーチしなければならない。周波数アジリティを有効に設定した場合、スリーピー・エンドデバイス側にこの仕様を盛り込まなければならない。
【0026】
実際には、電子レンジなどによって、チャンネル状況が一般的に悪化して親と通信ができなくなる事はよくあることである。そのたびに他のチャンネルをサーチしなければならないのは、スリーピー・エンドデバイスにとって余計な負荷がかかることになる。親がチャンネルを変更していない場合であっても、スリーピー・エンドデバイスは他のチャンネルをサーチするので、リジョインするまでに時間がかかる要因となっている。
【0027】
また、ウェイクフル・ノード(ルータ、または、ウェイクフル・エンドデバイス)であっても当該チャンネル変更コマンドを受信できない場合もある。よって、ウェイクフル・ノードもネットワークマネージャと通信できなくなったとき、他のチャンネルをサーチしなければならない。周波数アジリティを有効に設定した場合、ウェイクフル・ノード側にこの仕様を盛り込まなければならない。
【0028】
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示することが可能な通信制御装置、ネットワークシステム、通信制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0029】
本発明のある局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。通信手段は、記チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0030】
本発明の他の局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、予め定められた複数のチャンネルの1つを用いてルータと通信する通信手段と、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0031】
本発明のさらに他の局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報をディスプレイに表示させる表示制御手段と、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0032】
好ましくは、通信制御装置は、チャンネル情報の通信に要した時間を測定する測定手段と、測定された時間に基づき、ルータとエンドデバイスとについての各々の変更タイミングを決定するタイミング決定手段とをさらに備える。
【0033】
好ましくは、通信制御装置は、タイミング情報を送信する順序を表した順序情報と、ルータと、エンドデバイスとについての各々の変更タイミングを予め記憶した記憶手段をさらに備える。通信手段は、記憶された変更タイミングに基づくタイミング情報を、順序情報に示された順序で、ルータとエンドデバイスとに送信する。
【0034】
好ましくは、記憶手段は、通信制御装置とルータと間のユニキャストに対して予め設定された第1の時間を表す第1の時間情報と、通信制御装置とエンドデバイスとの間のユニキャストに対して予め設定された第2の時間を表す第2の時間情報とをさらに記憶している。通信制御装置は、ルータとエンドデバイスとの台数と、順序情報と、第1の時間情報と、第2の時間情報とに基づき、ルータとエンドデバイスとについての各々の変更タイミングを決定するタイミング決定手段をさらに備える。タイミング決定手段は、決定した各変更タイミングを、ルータとエンドデバイスとについての各々の変更タイミングとして、記憶手段に記憶させる。
【0035】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。ルータは、通信制御装置との間の通信エラーが発生したことに基づき、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて、通信制御装置に送信する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、変更指令に基づき、通信制御装置とのチャンネルを、変更前のチャンネルから決定されたチャンネルに変更する。通信制御装置は、変更指令を送信した後、ルータおよびエンドデバイスとのチャンネルを、エネルギレベル情報を受信したチャンネルから決定されたチャンネルに変更する。
【0036】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。通信制御装置は、予め定められた複数のチャンネルの1つを用いてルータと通信する通信手段と、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、チャンネル情報とタイミング情報とを受信する。ルータおよびエンドデバイスは、通信制御装置とのチャンネルを、変更前のチャンネルから、タイミング情報に示された変更タイミングでチャンネル情報に示されたチャンネルに変更する。通信制御装置は、タイミング情報を送信した後、ルータおよびエンドデバイスとのチャンネルを、変更前のチャンネルから指定されたチャンネルに変更する。
【0037】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報をディスプレイに表示させる表示制御手段と、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、変更指令に基づき、通信制御装置とのチャンネルを、変更前のチャンネルから決定されたチャンネルに変更する。通信制御装置は、変更指令を送信した後、ルータおよびエンドデバイスとのチャンネルを、エネルギレベル情報を受信したチャンネルから指定されたチャンネルに変更する。
【0038】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、通信制御装置が、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0039】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、予め定められた複数のチャンネルの1つを用いてルータと通信するステップと、通信制御装置が、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0040】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、通信制御装置が、エネルギレベル情報をディスプレイに表示させるステップと、通信制御装置が、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0041】
本発明のさらに他の局面に従うと、プログラムは、上記の通信制御方法を通信制御装置に実行させる。
【発明の効果】
【0042】
本発明によれば、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示できる。すなわち、スリーピー・エンドデバイスなどは、親と通信できなくなった場合に、他のチャンネルをサーチするという仕様を盛り込まなくてよい。
【図面の簡単な説明】
【0043】
【図1】本発明の実施の形態に係るネットワークの概略構成を示した図である。
【図2】ネットワークの通信経路を含んだ概略構成を示した図である。
【図3】コーディネータと、ルータと、エンドデバイスとの機能をまとめた対比図である。
【図4】ゲートウェイのブロック図である。
【図5】エアコンのブロック図である。
【図6】消費電力測定器のハードウェア構成を表した図である。
【図7】ゲートウェイによるチャンネル情報の送信処理を説明するための図である。
【図8】ゲートウェイによるタイミング情報の送信処理を説明するための図である。
【図9】設定されたタイマの設定時間の一例を説明するための図である。
【図10】ゲートウェイの処理のフローを表したフローチャートである。
【図11】他のゲートウェイの処理のフローを表したフローチャートである。
【図12】ゲートウェイにおける設定ツールを表示させるための選択画面を表した図である。
【図13】ローカルノードについての設定画面を表した図である。
【図14】リモートノードについての設定画面を表した図である。
【図15】チャンネル自動切替モードにおける、ネットワーク全体についての設定画面を表した図である。
【図16】チャンネル手動切替モードにおける、ネットワーク全体についての設定画面332を表した図である。
【図17】ゲートウェイの機能ブロック図である。
【図18】ゲートウェイがエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受取ったときのログを表した図である。
【図19】ゲートウェイにおける実装方法を説明するための図である。
【図20】他の実施の形態のゲートウェイ1001の処理のフローを表したフローチャートである。
【図21】ネットワーク全体についての設定画面を表した図である。
【図22】ゲートウェイの機能ブロック図である。
【図23】ZigBee(登録商標)でのチャンネルの構成と、無線LAN(IEEE802.11b)でのチャンネルの構成とを説明するための図である。
【発明を実施するための形態】
【0044】
以下、図面を参照しつつ、本発明の実施の形態に係るネットワークについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0045】
〔実施の形態1〕
<A.ネットワークの概要>
図1は、本発明の実施の形態に係るネットワークの概略構成を示した図である。図1を参照して、ネットワークZは、低速無線通信ネットワーク(主にZigBee(登録商標)を想定)を示す。ネットワークEは、高速通信ネットワーク(主に、Ethernet(登録商標)やWiFi(登録商標)を想定)を示す。ネットワークZは、ゲートウェイ(通信制御装置)1001と、ブロードバンドルータ1002と、複数の消費電力測定器1004と、複数の家電機器(エアコン1005,冷蔵庫1006,洗濯乾燥機1007など)と、複数の各種センサ(温湿度センサや照度センサ、人感センサなど)1008とを備える。
【0046】
ゲートウェイ1001と、複数の消費電力測定器1004と、複数の家電機器1005,1006,1007と、複数の各種センサ1008とは、それぞれ、低速無線通信モジュールCM(以下、「無線モジュール」とも称する)を備える。図1では、低速無線通信モジュールCMのアンテナが外部アンテナのように図示されているが、アンテナはそれぞれの機器に内蔵されていてもよい。
【0047】
また、ゲートウェイ1001と、複数の消費電力測定器1004と、複数の家電機器1005〜1007と、各種センサ1008とにより、ネットワークZを構成する。
【0048】
ゲートウェイ1001は、低速無線通信モジュールCMを備えた情報処理端末である。ゲートウェイ1001は、入力手段と表示手段とを備える。以下では、一例として、ゲートウェイ1001がタッチパネル付きディスプレイを備える構成であるとして説明する。
【0049】
ゲートウェイ1001は、高速通信ネットワークによりブロードバンドルータ1002に接続されている。ゲートウェイ1001は、複数の消費電力測定器1004との間で低速度の無線通信を行なう。図1に消費電力測定器1004は1つしか描かれていないが実際には複数台存在するものとする。また、ゲートウェイ1001は、家電機器1005〜1007および各種センサ1008との間においても、低速度の無線通信を行なう。
【0050】
以下では、詳細については後述するが、消費電力測定器1004はルータまたはエンドデバイスとして動作している。また、家電機器1005,1006,1007および各種センサ1008についても、ルータまたはエンドデバイスとして動作している。
【0051】
図2は、ネットワークZの通信経路を含んだ概略構成を示した図である。以下では、ネットワークZとして、家電向けの短距離無線通信規格の一つであるZigBee(登録商
標)を用いた例について説明する。なお、ZigBee(登録商標)は、Blootooth(登録商標)よりも低速かつ伝送距離も短いが、省電力かつ低コストという利点がある。
【0052】
図2を参照して、ネットワークZは、ゲートウェイ1001と、ゲートウェイ1001との間で通信を行なう複数の通信機器11〜16とを備えている。なお、ゲートウェイ1001は、コーディネータとして機能する。各通信機器11〜16は、ルータまたはエンドデバイスのいずれかとして機能している。なお、通信機器は、6個に限定されるものではなく、ネットワークZに含まれるルータおよびエンドデバイスの数だけ存在する。また、図1の複数の消費電力測定器1004と、複数の家電機器1005,1006,1007と、複数の各種センサ1008とにおける各機器が、通信機器のいずれかに相当する。
【0053】
通信機器11,14は、ルータとして機能している。通信機器12,13,15,16は、エンドデバイスとして機能している。つまり、通信機器12,13,15,16は、データの中継を行なわない。
【0054】
通信機器11は、通信機器12,13の親機である。つまり、通信機器12,13は、通信機器11を介してコーディネータであるゲートウェイ1001と通信する。また、通信機器14は、通信機器15の親機である。つまり、通信機器15は、通信機器14を介してゲートウェイ1001と通信する。通信機器16は、ルータを介さず、ゲートウェイ1001と通信する。
【0055】
図2における丸印で囲まれた数字1〜6は、ゲートウェイ1001が通信を行なう順序を表している。詳しくは後述するが、ゲートウェイ1001は、数字で指定された順序通り(つまり、1,2,3,4,5,6…の順)に、各通信機器11〜16とユニキャストを行なう(図7〜図9)。なお、ゲートウェイ1001は、当該順序を表した順序情報を予め格納している。
【0056】
以下では、ネットワークZの詳細な説明を行なう前に、まず、ZigBee(登録商標)で使用されるデバイスについて説明する。ZigBee(登録商標)で使用されるデバイスは、物理デバイスと論理デバイスとの観点から区分される。
【0057】
物理デバイスの観点から、ZigBee(登録商標)で使用されるデバイスは、IEEE802.15.4の規格に応じて、フル機能を備えたFFD(Full-Function Device
)と、一部の機能を省略したRFD(Reduced-Function Device)とに分類できる。FFDは、ルーティング機能が備わっている。このため、FFDは、データを中継することができる。一方、RFDは、ルーティング機能が備わっていない。このため、RFDは、データを中継することができない。
【0058】
論理デバイスの観点から、ZigBee(登録商標)で使用されるデバイスは、コーディネータと、ルータと、エンドデバイスとに分類できる。コーディネータは、ネットワークに必ず1つだけ存在する。ルータは、ネットワーク内に複数存在することが可能である。ルータによって、データがノードを次々に渡っていくマルチホップネットワークを実現できる。
【0059】
コーディネータおよびルータは、ルーティング機能が備わるFFDでなければならい。エンドデバイスは、FFDであってもRFDであってもよい。
【0060】
図3は、コーディネータと、ルータと、エンドデバイスとの機能をまとめた対比図である。図3を参照して、エンドデバイスには、スリーピー・エンドデバイスと、ウェイクフル・エンドデバイス(Wakeful end device)とがある。スリーピー・エンドデバイスとウェイクフル・エンドデバイスとの相違点については、後述する。
【0061】
コーディネータ(つまり、ゲートウェイ1001)は、上述したようにネットワークの立ち上げ機能を有するが、ルータおよびエンドデバイスは、ネットワークの立ち上げ機能を有していない。また、コーディネータおよびルータは、中継機能を有するが、エンドデバイスは中継機能を有していない。
【0062】
コーディネータおよびルータは、スリープ不可である。スリーピー・エンドデバイスは、スリープできる。より詳しくは、スリーピー・エンドデバイスは、定期的にスリープ状態から起き上がる。一方、ウェイクフル・エンドデバイスは、スリープせずに起きている。
【0063】
スリーピー・エンドデバイスがスリープできる理由は、常に受信する必要がないためである。従って、一般的に言えばコーディネータとルータの消費電力は高くなる。スリーピー・エンドデバイスの消費電力は低くなる。ウェイクフル・エンドデバイスの消費電力は、常時起きているため、スリーピー・エンドデバイスの消費電力よりも高くなる。なお、参考までに、ある消費電力測定器をルータとして動作させた場合の消費電力の実測値は約0.4Wであり、スリーピー・エンドデバイスとして動作させた場合の消費電力の実測値は約0.1Wであった。
【0064】
以下では、ネットワークZには、エンドデバイスは、全てスリーピー・エンドデバイスであるとして説明を行なう。つまり、ネットワークZには、ウェイクフル・エンドデバイスは含まれていないものとして説明する。
【0065】
<B.ゲートウェイの構成>
図4は、ゲートウェイ1001のブロック図である。図4を参照して、ゲートウェイ1001は、制御部1101と、操作部1102と、表示部1103と、高速通信インターフェイス部1104と、電源部1105と、無線RF(Radio Freaquency)内蔵通信コントローラ部1106と、アンテナ1107と、設定ボタン1108とを備える。
【0066】
無線RF内蔵通信コントローラ部1106は、CPU(Central Processing Unit)1161と、ROM(Read Only Memory)1162と、RAMRandom Access Memory)1163と、GPIO(General Purpose Input/Output)1164と、無線RF部1165と、UART(Universal Asynchronous Receiver Transmitter)1166とを含む。なお、無線RF内蔵通信コントローラ部1106が、ZigBee(登録商標)コーディネータ部に該当する。また、ROM1162と、RAM1163と、UART1166と、GPIO1164と、無線RF部1165とは、それぞれ、CPU1161に接続されている。
【0067】
無線RF内蔵通信コントローラ部1106は、アンテナ1107と接続されている。無線RF内蔵通信コントローラ部1106は、ネットワークZ上に存在する通信機器との間の通信を制御する。
【0068】
制御部1101のOS(Operating System)は、たとえばLinux(登録商標)を用いることができる。制御部1101は、CPU1161に比べて高性能なCPUを備えており、またメモリも豊富である。当該構成によって、ゲートウェイ1001は、高度な情報処理を実現できる。
【0069】
操作部1102は、スイッチおよびタッチパネル等の入力デバイスである。表示部1103は、画像を表示するためのディスプレイ(たとえば、液晶ディスプレイ)である。
【0070】
高速通信インターフェイス部1104は、ブロードバンドルータ1002との間でEthernet(登録商標)またはWiFi(登録商標)を用いた通信を行なうためのインターフェイスである。電源部1105は、制御部1101と無線RF内蔵通信コントローラ部1106とに電力を供給する。
【0071】
制御部1101は、操作部1102、表示部1103と、高速通信インターフェイス部1104と、電源部1105と、無線RF内蔵通信コントローラ部1106とに接続されている。制御部1101は、ゲートウェイ1001の全体的な動作を制御する。制御部1101は、操作部1102からの入力を受け付ける。また、制御部1101は、表示部1103に出力指示を出す。
【0072】
<C.家電機器の構成>
図5は、エアコン1005(図1参照)のブロック図である。なお、他の家電機器1006,1007も類似のブロックを有するため、ここでは説明を繰り返さない。
【0073】
図5を参照して、エアコン1005は、制御部1501と、操作部1502と、表示部1503と、センサ部1504と、電源部1505と、低速無線通信モジュール1506と、アンテナ1507と、制御対象1508とを備える。
【0074】
操作部1502は、スイッチ等の入力デバイスである。表示部1503は、LED等の
出力デバイスである。センサ部1504は、たとえば、温度センサ、湿度センサである。電源部1505は、制御部1501と低速無線通信モジュール1506とに電力を供給する。
【0075】
制御部1501は、操作部1502、表示部1503と、センサ部1504と、電源部1505と、低速無線通信モジュール1506とに接続されている。制御部1501は、エアコン1005の全体的な動作を制御する。制御部1501は、一般的に組込みマイコンで実現される。
【0076】
制御部1501は、操作部1502からの入力を受け付ける。また、制御部1501は、表示部1503に出力指示を出す。また、制御部1501は、センサ部1504による入力を受け付ける。制御部1501は、コンプレッサ等の制御対象1508を制御する。
【0077】
より詳しくは、制御部1501は、CPUと、RAMと、ROMと、UARTと、GPIOと、ADC(Analog Digital Converter)とで構成される。RAMと、ROMと、UARTと、GPIOとは、それぞれ、CPUに接続されている。ADCは、センサ部1504に接続される。
【0078】
低速無線通信モジュール1506は、アンテナ1507と接続されている。低速無線通信モジュール1506は、ネットワークZ上に存在するゲートウェイ1001や通信機器との間の通信を制御する。低速無線通信モジュール1506は、CPUと、RAMと、ROMと、UARTと、GPIOと、無線RF部で構成される。RAMと、ROMと、UARTと、GPIOとは、それぞれ、CPUに接続されている。低速無線通信モジュール1506と制御部1501とはUARTで接続されている。
【0079】
<D.消費電力測定器の構成>
図6は、消費電力測定器1004のハードウェア構成を表した図である。図6を参照して、消費電力測定器1004は、ソケット2101と、プラグ2102と、シャント抵抗2103と、電源部2104と、LED2105と、設定ボタン2106と、アンテナ2107と、電力センサ部2110と、無線RF内蔵通信コントローラ部2120と、配線2131と、配線2132と、配線2133とを備える。
【0080】
無線RF内蔵通信コントローラ部2120は、CPU2121と、ROM2122と、RAM2123と、GPIO2124と、無線RF部2125とを含む。
【0081】
配線2132と配線2133とは、シャント抵抗2103により接続されている。シャント抵抗2103は電流を測定するために使われる微小な(数百マイクロΩ)抵抗である。
【0082】
ソケット2101とプラグ2102とは、配線2131〜2133およびシャント抵抗2103で接続されている。配線2131は、プラグ2102の一方の端子およびソケット2101の一方の端子に接続されている。配線2132は、プラグ2102の他方の端子とシャント抵抗2103の一方の端部とに接続されている。配線2133は、ソケット2101の他方の端子とシャント抵抗2103の他方の端部とに接続されている。
【0083】
電源部2104は、配線2132に接続されている。電源部2104は、交流を直流に変換する。電源部2104は、変換により得られた直流電力を電力センサ部2110と無線RF内蔵通信コントローラ部2120とに与える。
【0084】
電力センサ部2110は、配線2131と配線2132との間の電圧(電位差)とシャント抵抗2103に流れる電流の電流値とに基づいた周波数信号を、低速無線通信モジュール2120のGPIO2124に出力(パルス出力)する。
【0085】
CPU2121は、GPIO2124から取得した上記周波数信号をデータ変換する。無線RF部2125は、データ変換により得られた信号を、アンテナ2107を用いてゲートウェイ1001に送信する。
【0086】
ROM2122には、CPU2121が実行するプログラム等が格納されている。RAM2123は、CPU2121が処理するデータおよび処理したデータを一時的に格納する。
【0087】
LED2105は、消費電力測定器1004のデータ処理状態を、点滅および/または点灯させる色等により表す。設定ボタン2106は、ユーザによる消費電力測定器1004の初期設定等のために用いられる。
【0088】
<E.ゲートウェイの処理内容>
以下では、ゲートウェイ1001の処理の概要について説明する。ゲートウェイ1001は、動作モードとして、チャンネルを自動で切り替えるモード(以下、「チャンネル自動切替モード」と称する)と、チャンネルを手動で切り替えるモード(以下、「チャンネル手動切替モード」と称する)とを備えている。
【0089】
チャンネル自動切替モードでは、ゲートウェイ1001が、通信機器11などから報告される各チャンネルのエネルギレベル情報等に基づき、変更先チャンネルを自動選択し、通信システムZで用いるチャンネルを当該選択したチャンネルに変更する。一方、チャンネル手動切替モードでは、ユーザがエネルギレベルを確認した後等に、ゲートウェイ1001は、通信システムZで用いるチャンネルをユーザが指定したチャンネルに変更する。つまり、チャンネル手動切替モードでは、ゲートウェイ1001は、チャンネルを自動選択するのではなく、ユーザの指示に基づいたチャンネルを変更先のチャンネルとして設定する。
【0090】
以下では、まず、ゲートウェイ1001の動作モードが「チャンネル自動切替モード」である場合について説明する。次いで、ゲートウェイ1001の動作モードが「チャンネル手動切替モード」である場合について説明する。なお、ゲートウェイ1001は、ユーザの指示により、動作モードを「チャンネル自動切替モード」と「チャンネル手動切替モード」との間で切り替えることができる。
【0091】
[E―1.チャンネル自動切替モード]
以下では、まず、ゲートウェイ1001がエネルギレベル情報をルータである通信機器から受信した場合における、チャンネルの変更の要否の判断と、変更先のチャンネルの決定との具体的な処理を説明する(E−1−1)。次いで、決定されたチャンネルへの変更指令の送信処理について説明する。
【0092】
当該変更指令は、決定されたチャンネルを表したチャンネル情報と、決定された通信チャネルへの変更タイミングを表したタイミング情報とに分けられる。詳細については後述するが、ゲートウェイ1001は、チャンネル情報を送信した後に、タイミング情報を送信する。そこで、チャンネル情報の送信について説明した後(E−1−2,図7)、タイミング情報の送信について説明する(E−1−3,図8,図9)。最後に、タイミング情報におけるタイミングの設定例について説明する(E−1−4)。なお、「チャンネル情報」の通知コマンド及び「タイミング情報」の通知コマンドは、非特許文献2の記載の“Mgmt_NWK_Updat_req”とは異なるものである。
【0093】
(E−1−1.エネルギレベル情報に基づくチャンネル変更処理の概要)
ゲートウェイ1001は、エネルギレベルを少なくとも1つのルータから受信したことに基づき、チャンネルの変更の要否を判断する。ゲートウェイ1001は、エネルギレベルを送信してこないルータがある場合には、当該ルータに対してエネルギレベルを通知するように指示してもよい。エネルギレベルの具体例については、後述する(図8)。
【0094】
ゲートウェイ1001によるチャンネルを変更するか否かの判断基準は、様々に設定できる。例えば、以下のような判断基準を用いることができる。
【0095】
ネットワークマネージャ自身の送信失敗率を以下の式(1)によって求める。
送信失敗率=(送信失敗カウント)/(送信回数)*100 … (1)
ネットワークマネージャは、送信失敗率が50%未満ならば何もしない。
【0096】
また、ネットワークマネージャは、送信失敗率が前回チャネル使用時の送信失敗率より低ければ何もしない。前回チャネル使用時のデータがなければ、この判定は使われない。
【0097】
ネットワークマネージャは、送信失敗率が50%以上、かつ前回チャネル時の送信失敗率より高ければ、チャネル変更を決断する。この場合、ネットワークマネージャは、エネルギレベルが低いチャネルを1つ選んで、チャネル変更コマンドを送信する。エネルギレベルが低いチャネルを選択するときに、各ルータから通知されたエネルギレベルの情報を用いることができる。
【0098】
(E−1−2.チャンネル情報の送信処理)
図7は、ゲートウェイ1001によるチャンネル情報の送信処理を説明するための図である。具体的には、図7は、チャンネル情報の送信順序を説明するための図である。チャンネル情報の送信順序は、上述した順序情報(図2)に基づく。
【0099】
図7(a)を参照して、ゲートウェイ1001は、まず、変更前のチャンネルを用いたユニキャスト(UNICAST)によって、チャンネル情報を通信機器11に送信する。「ユニキャスト」とは、ネットワーク内で、単一のアドレスを指定して特定の相手に対してのみデータを送信することである。ユニキャストのときは、MAC層でACKを確認するので、相手に届いているかどうか分かる。
【0100】
図7(b)を参照して、ゲートウェイ1001は、次に、ユニキャストによって、チャンネル情報を通信機器14に送信する。以下、同様に、ゲートウェイ1001は、通信機器13,15,12,16に対して、チャンネル情報をユニキャストで送信する(図7(c)〜(f)参照)。
【0101】
以上のように、ゲートウェイ1001は、チャンネル情報をユニキャストによってネットワークZ内の通信装置に送信する。このため、各通信装置は、チャンネル情報がブロードキャストされる場合に比べて、チャンネル情報を高い確率で受信することが可能となる。ユニキャストならば、MAC層でACKを確認し、ACKがなければ再送するからである。MAC層における最大再送回数は、設定にもよるが、ある実装では3回となっている。従って、最初の送信も含めると、最大4回送信することになる。また、アプリケーション層でも送信先ノードからの応答がないことを確認してリトライすることができる。なお、各通信機器は、チャンネル情報を受信しただけではチャンネルを変更しない。
【0102】
ゲートウェイ1001が各通信装置に対してユニキャスト送信する順番については、ゲートウェイ1001が任意に決めることができる。順番に特段の意味がある訳ではないが、ここでは、ゲートウェイ1001が各通信装置を認識した(発見した)順番としている。
【0103】
(E−1−3.タイミング情報の送信処理)
図8は、ゲートウェイ1001によるタイミング情報の送信処理を説明するための図である。具体的には、図8は、タイミング情報の送信順序を説明するための図である。タイミング情報の送信順序は、チャンネル情報と同じく、上述した順序情報(図2)に基づく。また、ゲートウェイ1001は、チャンネル情報の送信が完了した後に、タイミング情報をネットワークZ内の各通信機器にユニキャストで送信する。
【0104】
「タイミング情報」とは、上述した処理によって決定された変更先のチャネルへの変更タイミングを表した情報である。各通信機器(ルータおよびスリーピー・エンドデバイス)は、「タイミング情報」を受信すると、指定されたタイミング(期間)が経過した後、先に受信していた変更先のチャンネルに変更する。(図9参照)
チャンネル情報をユニキャスト送信する過程で、もし1以上のノードから応答がなければ、ネットワーク全体のチャンネル切替を中止してもよい。ネットワーク内のすべてのノードを一斉にチャンネル切替できないからである。この場合、ゲートウェイ1001は、画面を通じて、ユーザに、チャンネル切替が中止になったという旨のメッセージを通知する。
【0105】
図8(a)を参照して、ゲートウェイ1001は、変更前のチャンネルを用いたユニキャストによって、タイミング情報を通信機器11に送信する。以下、同様に、ゲートウェイ1001は、通信機器14,13,15,12,16に対して、チャンネル情報をユニキャストで送信する(図8(b)〜(f)参照)。
【0106】
以上のように、ゲートウェイ1001は、タイミング情報をユニキャストによってネットワークZ内の通信装置に送信する。このため、各通信装置は、タイミング情報がブロードキャストされる場合に比べて、タイミング情報を高い確率で受信することが可能となる。
【0107】
また、各通信装置は、タイミング情報を受信した時点において既にチャンネル情報を受信している。このため、各通信装置は、タイミング情報にて指示されたタイミングで、以後使用するチャンネルを、変更前のチャンネルからゲートウェイ1001において決定されたチャンネル(変更先のチャンネル)へと切替えることができる。
【0108】
上記のように、ゲートウェイ1001が、チャンネル情報とタイミング情報との両方を送信する理由は以下のとおりである。
【0109】
仮に、ゲートウェイ1001が、チャンネル情報だけを送信したとする。チャンネル情報を受信したそれぞれのノードは、受信した直後、または、予め定められた時間を経過した後、チャンネルを変更することになる。
【0110】
ゲートウェイ1001は、すべてのノードにユニキャストで送信しようとしているので、中継路となっているノード(図2における通信機器11と通信機器14)が先にチャンネルを変更してしまうと、その先にいるノード(図2における通信機器12,13,15)には届かなくなってしまう。それゆえ、通信機器12,13、15は、親である通信機器11や通信機器14と通信できなくり、ネットワーク全体のチャンネル切替が失敗する。これを避けるには末端にいるノード(図2における通信機器12,13,15)から順に送信すれば良いが、この順序を調べ上げるのは困難である。アドホックネットワークなので、中継路もチャンネル状況に応じて変更しうるからである。
【0111】
また、ゲートウェイ1001が、チャンネル情報を送信してから、タイミング情報を送信する理由は以下のとおりである。
【0112】
ゲートウェイ1001は、すべてのノードにチャンネル情報を送信するので、このときすべてのノードから応答があるかどうかを確認できる。もし、1以上のノードから応答がなければネットワーク全体のチャンネル切替は成功しないので、チャンネル切替自体を途中で中止することできる。
【0113】
また、ゲートウェイ1001が、すべてのノードにチャンネル情報を送信するのに必要な時間を測定することができる。これを後続するタイミング情報に反映させることができる。
【0114】
(E−1−4.タイマの設定例)
次に、ゲートウェイ1001による、タイミング情報におけるタイマの設定方法について説明する。ここでの目的は、ネットワーク内のすべてのノードがなるべく同じタイミングでチャンネルを切り替えるようにすることである。一番目に送信する通信機器へのタイミング情報をどう設定するか、二番目以降に送信する通信機器へのタイミング情報をどう設定するか、を考えなければならない。ここでは2つの方法を説明する。
【0115】
・方法1:(測定時間に基づく方法)
ゲートウェイ1001は、先にすべてのノードにチャンネル情報を送信しているので、このときにかかった時間を測定する。この時間(すべてのノードへ送信するのに必要な時間)をTaとする。まず、一番目に送信する通信機器11についてのタイミング情報(T1)を、以下の式(2)のように設定する。
【0116】
T1=Ta+Ts … (2)
Tsは、余裕を持たせるための時間である。Tsは、たとえば3秒とする。
【0117】
通信機器11は、タイミング情報T1を受信すると、受信してからT1(の期間)だけ経過した後、変更先のチャンネルに変更する。
【0118】
二番目に送信する通信機器14についてのタイミング情報(T2)は以下の式(3)のように設定する。
【0119】
T2=Ta+Ts−Tc … (3)
Tcは、一番目の通信機器に送信した時刻と、現在時刻との差である(つまり、タイミング情報の送信を開始してから経過した時間を表す)。
【0120】
通信機器14は、タイミング情報T2を受信すると、受信してからT2(の期間)だけ経過した後、変更先のチャンネルに変更する。
【0121】
三番目以降に送信する通信機器についても、同様にタイミング情報を設定する。式(3)がTsを下回ればTsとする。最後に、ゲートウェイ1001は自身のチャンネルを変更する。
【0122】
具体的には、ゲートウェイ1001は、測定部とタイミング決定部とを備えている。測定部は、チャンネル情報の通信に要した時間Taを測定する。タイミング決定部は、測定された時間Taに基づき、ルータとスリーピー・エンドデバイスとについての各々の変更タイミングを決定する。より具体的には、タイミング決定部は、時間Taと、時間Tsと、時間Tcとに基づき、変更タイミングを決定する。
【0123】
・方法2:(ネットワークZのノード個数に基づく方法)
ゲートウェイ1001は、ネットワークZにおけるノードの個数を把握しているので、ノードの個数から一番目に送信する通信機器へのタイミング情報を決定する。
ネットワークZにおけるルータの数をM個、および、スリーピー・エンドデバイスの数をN個とすると、一番目に送信する通信機器11についてのタイミング情報(T1)を、以下の式(4)で決定する。
【0124】
T1 = Tr ×M + Te × N + Ts … (4)
式(4)おいて、Trは、ゲートウェイ1001と1つのルータとの間における上述したユニキャストでの通信に要する時間に基づき予め定められた時間である。Trは、たとえば0.3秒である。Teは、ゲートウェイ1001と1つのスリーピー・エンドデバイスとの間における上述したユニキャストでの通信に要する時間に基づき予め定められた時間である。Teは、たとえば1.6秒である。
【0125】
ルータは常時起きているので、通信はすぐに完了する。スリーピー・エンドデバイスは寝ている期間があるので、通信に時間を要する。
【0126】
また、Tsは、余裕を持たせるための時間である。つまり、Tsは、ゲートウェイ1001がタイミング情報を全てのノードに送信する前にいずれかのノードでチャンネルの変更が行なわれてしまう事態を極力防止するために設けられた時間である。Tsは、たとえば3秒である。
【0127】
図9は、設定されたタイマの設定時間の一例を説明するための図である。具体的には、図9は、上記式(4)によってT1=12.0秒となった場合における、各通信機器11〜16に対するタイマの設定時間を表した図である。
【0128】
図9を参照して、ゲートウェイ1001は、通信機器11に対するタイマの設定時間を、12.0秒に設定する。つまり、ゲートウェイ1001は、通信機器11がタイミング情報を受信してから12.0秒後にチャンネルを変更するよう、通信機器11に指示する。
【0129】
また、ゲートウェイ1001は、順序情報に基づく順序が2番の通信機器14についてのタイマの設定時間を、11.7秒に設定する。つまり、ゲートウェイ1001は、通信機器14がタイミング情報を受信してから11.7秒後にチャンネルを変更するよう、通信機器14に指示する。ゲートウェイ1001は、12.0秒から、ゲートウェイ1001と通信機器11との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Tr=0.3秒)を差し引くことにより、通信機器14についてのタイマの設定時間(以下、「設定時間T2」と称する)を算出する。
【0130】
また、ゲートウェイ1001は、順序情報に基づく順序が3番の通信機器13についてのタイマの設定時間を、11.4秒に設定する。つまり、ゲートウェイ1001は、通信機器13がタイミング情報を受信してから11.4秒後にチャンネルを変更するよう、通信機器13に指示する。ゲートウェイ1001は、11.7秒から、ゲートウェイ1001と通信機器14との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Tr=0.3秒)を差し引くことにより、通信機器13についてのタイマの設定時間(以下、「設定時間T3」と称する)を算出する。
【0131】
また、ゲートウェイ1001は、順序情報に基づく順序が4番の通信機器15についてのタイマの設定時間を、9.8秒に設定する。つまり、ゲートウェイ1001は、通信機器15がタイミング情報を受信してから9.8秒後にチャンネルを変更するよう、通信機器15に指示する。ゲートウェイ1001は、11.4秒から、ゲートウェイ1001と通信機器13との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器15についてのタイマの設定時間(以下、「設定時間T4」と称する)を算出する。
【0132】
また、ゲートウェイ1001は、順序情報に基づく順序が5番の通信機器12についてのタイマの設定時間を、8.2秒に決定する。つまり、ゲートウェイ1001は、通信機器12がタイミング情報を受信してから8.2秒後にチャンネルを変更するよう、通信機器12に指示する。ゲートウェイ1001は、9.8秒から、ゲートウェイ1001と通信機器15との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器12についてのタイマの設定時間(以下、「設定時間T5」と称する)を算出する。
【0133】
また、ゲートウェイ1001は、順序情報に基づく順序が6番の通信機器16についてのタイマの設定時間を、6.6秒に決定する。つまり、ゲートウェイ1001は、通信機器16がタイミング情報を受信してから6.6秒後にチャンネルを変更するよう、通信機器12に指示する。ゲートウェイ1001は、8.2秒から、ゲートウェイ1001と通信機器12との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器16についてのタイマの設定時間(以下、「設定時間T6」と称する)を算出する。
【0134】
以上のように、ゲートウェイ1001が、順序情報が下位になるにつれ、タイマの設定時間を小さくすることにより、各通信機器は同じようなタイミングでチャンネルが切り替わる。
【0135】
なお、ゲートウェイ1001は、最後に自身のチャンネルを変更する。たとえば、ゲートウェイ1001は、順序情報における順序が最も下位の通信機器に対してタイミング情報を送信してから、チャンネルを変更する。または、予め定められた時間が経過した後に、チャンネルを変更すればよい。
【0136】
なお、方法1と方法2を組み合わせてもよい。すなわち、方法1において、すべてのノードにチャンネルを送信するのに必要な時間見積もりを、ネットワークZのノード個数に基づくものにしてもよい。あるいは、方法2において、一番目の通信機器に設定するタイミングを、測定時間に基づいて決定してもよい。
【0137】
また、ゲートウェイ1001は、通信機器(11〜16)へ、チャンネル情報とタイミング情報とをユニキャストで送信するが、アプリケーション層で送信先ノードから応答がなければリトライしてもよい。
【0138】
また、ゲートウェイ1001は、通信機器(11〜16)へ送信する過程で、送信先ノードからの応答を待たずに、次の通信機器へ送信してもよい。特に、ゲートウェイ1001が、スリーピー・エンドデバイスに送信しようとしたとき、スリーピー・エンドデバイスは大抵の期間寝ているためすぐに応答を返さない。ゲートウェイ1001は、送信先ノードからの応答を待っていると時間がかかるので、送信先ノードからの応答を待たずに、次の通信機器へ送信することもできる。送信先ノードからの応答は、送信した順番通りにはならない。例えば、通信機器13,15,12,16の順に送信したとしても、それらの応答は送信した順に返ってくるとは限らない。
【0139】
[E−2.チャンネル手動切替モード]
以下では、チャンネル手動切替モードに関し、主としてチャンネル自動切替モードとの相違点について説明する。チャンネル自動切替モードと同様な処理については説明を繰り返さない。
【0140】
上述したように、チャンネル手動切替モードでは、ユーザがエネルギレベルを確認した後、ゲートウェイ1001は、通信システムZで用いるチャンネルをユーザが指定したチャンネルに変更する。したがって、ゲートウェイ1001は、チャンネルを自動選択しない。代わりに、ゲートウェイ1001は、ユーザからのチャンネルを指定する入力を受け付ける。
【0141】
ゲートウェイ1001は、指定されたチャンネルに、チャンネルを変更する。チャンネル手動切替モードの場合、当該指定されたチャンネルを表した情報が、上述した「チャンネル情報」に該当する。
【0142】
チャンネル手動切替モードにおいても、ゲートウェイ1001は、チャンネル情報の送信処理として、「E−1−2」で説明した処理を実行する。同様に、ゲートウェイ1001は、タイミング情報の送信処理として、「E−1−3」で説明した処理を実行する。この場合も、タイマの設定例として、「E−1−4」で示した例を用いることができる。
【0143】
なお、ゲートウェイ1001は、チャンネル手動切替モードおよびチャンネル自動切替モードでは、ユーザがエネルギレベルを確認できるように、エネルギレベルを表示部1103に表示する。ただし、チャンネル自動切替モードでは、ゲートウェイ1001が自動でチャンネルを切り替えるため、エネルギレベルの表示は必須ではない。エネルギレベルの表示については、後述する(図15等)。
【0144】
ユーザが、エネルギレベルに基づきチャンネルを1つ決定するのは多少の困難があるので、ゲートウェイ1001は、おすすめのチャンネルを1つ選択して表示するようにしてもよい。ユーザにはチャンネル切替を実行するかどうかだけを決断させるようにする。
【0145】
<F.制御構造>
まず、チャンネル自動切替モードにおけるゲートウェイ1001における制御構造を説明する。次いで、チャンネル手動切替モードにおける、ゲートウェイ1001における制御構造を説明する。
【0146】
[F−1.チャンネル自動切替モード]
図10は、チャンネル自動切替モードにおけるゲートウェイ1001の処理のフローを表したフローチャートである。図10を参照して、ステップS2において、ゲートウェイ1001は、ゲートウェイ1001とルータとの間の通信エラーが発生したことに基づき、当該ルータからエネルギレベル情報を受信する。ステップS4において、ゲートウェイ1001は、各ルータから受信したエネルギレベル情報に基づき、チャンネルを変更するか否かを判断する。
【0147】
ゲートウェイ1001は、チャンネルを変更すると判断した場合(ステップS4においてYES)、ステップS6において、変更先のチャンネルを決定する。ゲートウェイは、チャンネルを変更しないと判断した場合(ステップS4においてNO)、処理をステップS2に進める。
【0148】
ステップS8において、ゲートウェイ1001は、変更タイミングを表したタイミング情報を、ネットワークZを構成する通信機器(ルータおよびスリーピー・エンドデバイス)毎に生成する。ステップS10において、ゲートウェイ1001は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、変更先のチャンネルを表したチャンネル情報を、ネットワークZを構成する各通信機器に順に送信する。
【0149】
ステップS12において、ゲートウェイ1001は、チャンネル情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのチャンネル情報の送信が完了したか否かを判断する。ゲートウェイ1001は、チャンネル情報の送信が完了したと判断した場合(ステップS12においてYES)、ステップS14において、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、タイミング情報を、ネットワークZを構成する各通信機器に順に送信する。ゲートウェイ1001は、チャンネル情報の送信が完了していないと判断した場合(ステップS12においてNO)、処理をステップS10に進める。
【0150】
ステップS16において、ゲートウェイ1001は、タイミング情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのタイミング情報の送信が完了したか否かを判断する。ゲートウェイ1001は、タイミング情報の送信が完了したと判断した場合(ステップS16においてYES)、ステップS18において、エネルギレベル情報を受信したチャンネルから決定したいチャンネルへと、ゲートウェイ1001自身もチャンネルを変更する。ゲートウェイ1001は、タイミング情報の送信が完了していないと判断した場合(ステップS16においてNO)、処理をステップS14に進める。
【0151】
[F−2.チャンネル手動切替モード]
図11は、チャンネル手動切替モードにおける、ゲートウェイ1001の処理のフローを表したフローチャートである。図11を参照して、ステップS102において、ゲートウェイ1001は、ゲートウェイ1001とルータとの間の通信エラーが発生したことに基づき、当該ルータからエネルギレベル情報を受信する。ステップS104において、ゲートウェイ1001は、各ルータから受信したエネルギレベル情報を表示部1103に表示する。ステップS106において、ゲートウェイ1001は、ユーザから、チャンネルを変更するための指示を受け付けたか否かを判断する。
【0152】
ゲートウェイ1001は、チャンネルを変更するための指示を受け付けたと判断した場合(ステップS106においてYES)、ステップS108において、変更タイミングを表したタイミング情報を、ネットワークZを構成する通信機器(ルータおよびスリーピー・エンドデバイス)毎に生成する。ゲートウェイ1001は、チャンネルを変更するための指示を受け付けていないと判断した場合(ステップS106においてNO)、処理をステップS104に進める。
【0153】
ステップS110において、ゲートウェイ1001は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、変更先のチャンネルを表したチャンネル情報を、ネットワークZを構成する各通信機器に順に送信する。ステップS112において、ゲートウェイ1001は、チャンネル情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのチャンネル情報の送信が完了したか否かを判断する。ゲートウェイ1001は、チャンネル情報の送信が完了したと判断した場合(ステップS112においてYES)、ステップS114において、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、タイミング情報を、ネットワークZを構成する各通信機器に順に送信する。ゲートウェイ1001は、チャンネル情報の送信が完了していないと判断した場合(ステップS112においてNO)、処理をステップS110に進める。
【0154】
ステップS116において、ゲートウェイ1001は、タイミング情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのタイミング情報の送信が完了したか否かを判断する。ゲートウェイ1001は、タイミング情報の送信が完了したと判断した場合(ステップS116においてYES)、ステップS118において、エネルギレベル情報を受信したチャンネルから決定したいチャンネルへと、ゲートウェイ1001自身もチャンネルを変更する。ゲートウェイ1001は、タイミング情報の送信が完了していないと判断した場合(ステップS116においてNO)、処理をステップS114に進める。
【0155】
<G.ユーザインターフェイス>
図12は、ゲートウェイ1001における設定ツールを表示させるための選択画面を表した図である。なお、当該選択画面、後述するローカルノードについての設定画面(図13)、後述するリモードノードについての設定画面(図14)、およびネットワーク全体についての設定画面(図15)は、制御部1101(図4参照)により実現される画面である。
【0156】
図12を参照して、ゲートウェイ1001は、表示部1103に、ローカルノードについての設定画面を表示させるためのオブジェクト301と、リモートノードについての選択画面を表示させるためのオブジェクト302と、ネットワーク全体についての設定画面を表示させるためのオブジェクト303とを表示する。ユーザが、指等でオブジェクトを表示している領域を選択することにより、ゲートウェイ1001は、選択されたオブジェクトに対応した設定画面を表示部1103に表示させる。
【0157】
図13は、ローカルノードについての設定画面310を表した図である。つまり、図12において、オブジェクト301が選択された後の遷移画面である。「ローカルノード」とは、本実施の形態では、ゲートウェイ1001の無線RF内蔵通信コントローラ部1106(図4参照)を指している。
【0158】
図13を参照して、設定画面310には、「ローカルノードの情報表示」、「ローカルノードとの通信」、「デバイス状態」、「ジョイン許可状態」、「PanID(Personal Area Network IDentification)」、「論理チャンネル」の各項目が含まれる。また、設定画面310には、各々選択ボタンとして機能する3つのオブジェクト3101,3102,3103が含まれる。「ローカルノードの情報表示」の項目には、「IEEEアドレス」の項目と「論理タイプ」の項目とが含まれる。なお、図中において破線で囲まれた箇所は、テキストボックスである。
【0159】
ゲートウェイ1001の制御部1101は、設定画面310を表示する際に、ローカルノードである無線RF内蔵通信コントローラ部1106に、無線RF内蔵通信コントローラ部1106の状態を問合せする。当該問い合わせに基づき、設定画面の各項目の内容を更新する。以下、各項目について説明する。
【0160】
「論理タイプ」の項目は、ローカルノードが無線RF内蔵通信コントローラ部1106であるため、「コーディネータ」を表示している。また、ゲートウェイ1001の制御部1101は、無線RF内蔵通信コントローラ部1106と通信可能であるため、「ローカルノードとの通信」の項目には「通信可能」が表示される。さらに、ローカルノードがコーディネータとしての処理を開始しているため、制御部1101は、「デバイス状態」の項目に、「コーディネータとして開始しました」と表示する。また、制御部1101は、ゲートウェイ1001への参加を許可していない場合には、「ジョイン許可状態」の項目に「ジョイン禁止」を表示する。制御部1101は、「PanID」の項目に、ネットワークZのIDを表示する。制御部1101は、「論理チャンネル」の項目に、現在使用しているチャンネルを表示する。
【0161】
ユーザがオブジェクト3101を選択すれば、制御部1101は、ローカルノードへ問合せを行なうことにより、ローカルノード情報を更新する。ユーザがオブジェクト3102を選択すれば、無線RF内蔵通信コントローラ部1106は、ペアリングを開始する。この場合、無線RF内蔵通信コントローラ部1106は、予め定められた時間である60秒間、ジョイン許可状態となる。ユーザがオブジェクト3103を選択すれば、制御部1101は、ローカルノードを初期化する。
【0162】
図14は、リモートノードについての設定画面320を表した図である。つまり、図12において、オブジェクト302が選択された後の遷移画面である。「リモートノード」とは、本実施の形態では、ネットワークZに含まれる各通信機器(ルータおよびスリーピー・エンドデバイス)を指している。
【0163】
図14を参照して、設定画面320には、「リモートノードのリスト」の項目が含まれている。「リモートノードのリスト」の項目には、各リモートノードについての、識別子と、IEEEアドレスと、論理タイプと、最後に受信した時刻との情報が含まれる。また、リモートノードは、ラジオボタンにより選択可能となっている。たとえば、通信機器11,14の場合、論理タイプはルータとなる。また、通信機器12,13,15,16の場合、論理タイプはエンドデバイス(詳しくはスリーピー・エンドデバイス)となる。なお、「最後に受信した時刻」とは、ゲートウェイ1001の無線RF内蔵通信コントローラ部1106からデータを最後に受信した時刻を指している。なお、図中において破線で囲まれた箇所は、テキストボックスである。
【0164】
また、設定画面320には、各々選択ボタンとして機能する3つのオブジェクト3201,3202,3203が含まれる。ユーザがオブジェクト3201を選択すれば、ゲートウェイ1001は、リモートノードへ問合せを行なうことにより、全てのリモートノード情報を更新する。ユーザがオブジェクト3202を選択すれば、ゲートウェイ1001は、ラジオボタンにより選択された状態にあるリモートノードに対して、PING(Packet INternet Groper)を送信する。ユーザがオブジェクト3203を選択すれば、ゲートウェイ1001は、ラジオボタンで選択状態にあるリモートノードをネットワークZから除外する。ユーザがオブジェクト3204を選択すれば、ゲートウェイ1001は、ネットワークZを構成する全てのリモートノードに対してPINGを送信する。
【0165】
図15は、チャンネル自動切替モードにおける、ネットワーク全体についての設定画面331を表した図である。つまり、図12において、オブジェクト303が選択された後の遷移画面である。図15を参照して、設定画面331には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、3つのオブジェクト3303,3304,3305とを含む。オブジェクト3305は、ゲートウェイ1001の動作モードを、チャンネル自動切替モードからチャンネル手動切替モードに切り替えるためのボタンである。
【0166】
図中において、破線で囲まれた箇所はテキストボックスである。当該テキストボックスは、書き込み可能である。ゲートウェイ1001は、上述したように、自動的にチャンネルを切り替える構成であるため、設定画面331では、ユーザからのチャンネルの変更指示を受け付けない。
【0167】
図16は、チャンネル手動切替モードにおける、ネットワーク全体についての設定画面332を表した図である。つまり、図12において、オブジェクト303が選択された後の遷移画面である。図16を参照して、設定画面332には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、4つのオブジェクト3301,3303,3304,3306と、エネルギレベルを示した画像3309とを含む。オブジェクト3306は、ゲートウェイ1001の動作モードを、チャンネル自動切替モードからチャンネル手動切替モードに切り替えるためのボタンである。
【0168】
図中において、破線で囲まれた箇所は、書き込み可能なテキストボックスである。ゲートウェイ1001は、上述したように、手動でチャンネルを切り替える構成であるため、設定画面332では、テキストボックスに対する入力により、ユーザからのチャンネルの変更指示を受け付ける。このように、設定画面332は、オブジェクト3305の代わりにオブジェクト3306を備える点と、チャンネルの入力を受付可能である点と、エネルギレベルを示した画像3309とを備える点とにおいて、設定画面331(図15)と相違する。
【0169】
ユーザは、エネルギレベルを示した画像3309によって、各ノードから送られてきた各チャンネルのエネルギレベルを認識することができる。それゆえ、ユーザは、当該エネルギレベルを参照することにより、条件の良いチャンネルを選択可能となる。
【0170】
なお、エネルギレベルを示した画像3309の表示態様は、図16に示したものに限定されるものではなく、様々な表示態様を採ることができる。たとえば、スクロールバーを設け、ユーザからスクロール指示を受け付けることにより、全ての識別子のノードに関する11ch〜26chのエネルギレベルを表示するように、設定画面331を構成してもよい。また、エネルギレベルを示す画像3309を、設定画面331とは別の画面に表示するように、ゲートウェイ1001を構成してもよい。
【0171】
<H.ゲートウェイの機能的構成>
図17は、ゲートウェイ1001の機能ブロック図である。図17を参照して、ゲートウェイ1001は、通信部101と、チャンネル決定部102と、タイミング決定部103と、記憶部104と、表示制御部105と、表示部1103と、入力受付部107と、動作モード切替部109とを備える。
【0172】
動作モード切替部109は、入力受付部107を介して受け付けたユーザ指示に基づいて、ゲートウェイ1001の動作モードを、チャンネル自動切替モードとチャンネル手動切替モードとの間で切り替える。当該ユーザ指示は、具体的には、オブジェクト3305(図15)の選択、およびオブジェクト3306(図16)の選択である。
【0173】
[H−1.チャンネル自動切替モード]
(1)通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが発生したことに基づき、当該通信機器から、予め定められた複数の通信チャネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネル(現在用いているチャンネル)を用いて受信する。典型的には、通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが予め定められた回数発生したことに基づき、当該ルータからエネルギレベル情報を受信する。
【0174】
チャンネル決定部102は、エネルギレベル情報に基づき、上記複数のチャンネルの中から変更先となるチャンネルを決定する。通信部101は、エネルギレベル情報を受信したチャンネル(変更前のチャンネル)を用いたユニキャストによって、決定されたチャンネルへの変更指令(チャンネル変更コマンド)を、ネットワークZにおける各通信機器(ルータおよびスリーピー・エンドデバイス)に送信する。
【0175】
ところで、スリーピー・エンドデバイスは、大抵の期間はスリープ状態にある。また、チャンネルの変更を実行しようとする場合(つまり、周波数アジリティを実行しようとする場合)には、ネットワークにおける伝送路状況は悪化している。したがって、従来のようにチャンネル変更指令をブロードキャストする構成の場合には、起きているノードであっても当該チャンネル変更指令を受信できる可能性は低い。
【0176】
しかしながら、本実施の形態のように、チャンネル変更コマンドをユニキャストすることにより、チャンネル変更コマンドをブロードキャストする従来の構成に比べて、スリーピー・エンドデバイスが当該チャンネル変更指令を受信できる確率が大幅に向上する。それゆえ、スリーピー・エンドデバイスは、ゲートウェイ1001およびルータがチャンネルを変更する場合であっても、他のチャンネルをサーチする必要がなくなる。したがって、ゲートウェイ1001は、チャンネルを変更する場合にスリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0177】
以上のように、通信システムZは、上述したゲートウェイ1001の構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0178】
(2)変更指令は、上述したように、決定されたチャンネルを表したチャンネル情報と、決定された通信チャネルへの変更タイミングを表したタイミング情報とを含む。
【0179】
通信部101は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報を各通信機器に送信する。通信部101は、チャネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、タイミング情報を各通信機器に送信する。
【0180】
したがって、上述したように、ゲートウェイ1001は、スリーピー・エンドデバイスが親を見失うこと、およびスリーピー・エンドデバイスが変更先のチャンネルの通知を受信できないことを防止できる。
【0181】
(3)記憶部104は、タイミング情報を送信する順序を表した順序情報と、各通信装置の各々についてのチャンネルの変更タイミング(つまり、タイミング情報を受信してから設定時間T1,T2,T3,T4,T5、T6…で規定されるタイミング)を予め記憶している。なお、当該変更タイミングは、上述したように、式(4)等に基づく演算によって、予め算出された後、記憶部104に格納される。
【0182】
通信部101は、より詳しくは、記憶部104に記憶された変更タイミングに基づくタイミング情報を、上述した順序情報に示された順序で、各通信機器に送信する。
【0183】
(4)さらに詳しくは、記憶部104は、ゲートウェイ1001とルータである通信装置と間のユニキャストに対して予め設定された第1の時間(Tr)を表す第1の時間情報と、ゲートウェイ1001とスリーピー・エンドデバイスである通信装置との間のユニキャストに対して予め設定された第2の時間(Te)を表す第2の時間情報とを記憶している。また、記憶部104は、上述したTsについても記憶している。
【0184】
タイミング決定部103は、ルータの台数とスリーピー・エンドデバイスの台数と、順序情報と、第1の時間情報と、第2の時間情報とに基づき、各通信装置についての各々の変更タイミングを決定する。タイミング決定部103は、決定した各変更タイミングを、各通信機器についての各々の変更タイミングとして、記憶部104に記憶させる。
【0185】
[H−2.チャンネル手動切替モード]
通信部101は、上述したとおり、ルータである通信機器とゲートウェイ1001との間に通信エラーが発生したことに基づき、当該通信機器から、予め定められた複数の通信チャネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネル(現在用いているチャンネル)を用いて受信する。典型的には、通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが予め定められた回数発生したことに基づき、当該ルータからエネルギレベル情報を受信する。
【0186】
表示制御部105は、エネルギレベル情報を表示部1103に表示させる。エネルギレベルの表示形式は、特に限定されるものではない。典型的には、表示制御部105は、後述するログの「Energy Values」に示した16個の値を、ルータごとに区別して表示する(図16)。
【0187】
入力受付部107は、外部入力を受け付ける。入力受付部107は、たとえば、エネルギレベル情報が表示部1103に表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける。なお、外部入力は、操作部1102に対するユーザ操作に基づく入力である。
【0188】
通信部101は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更指令を、ネットワークZ内の各通信機器(ルータおよびスリーピー・エンドデバイス)に送信する。
【0189】
なお、変更指令は、ゲートウェイ1001の場合と同様、チャンネル情報とタイミング情報とを含む。チャンネル情報とタイミング情報との送信の仕方は、図11のフローチャートに基づいて説明したので、ここでは説明を繰り返さない。
【0190】
チャンネル手動切替モードにおいても、チャンネル自動切替モードの場合と同様に、通信システムZは、上述したゲートウェイ1001の構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0191】
<I.エネルギレベルのデータ>
図18は、ゲートウェイ1001がエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受取ったときのログを表した図である。図18を参照して、中程の「Energy Values = {0xca,…(中略)…,0x56}」が、あるルータから送られてきたエネルギレベル情報である。エネルギレベル情報は、ZigBee(登録商標)では周波数が異なる16個のチャンネル11ch〜26chが用いられるため、各チャンネルに対応した16個のエネルギレベルを表した値を含む。エネルギレベルの値は0から255までの値をとり、値が大きいほどエネルギ(受信電力)の値が高いことを示している。TotalTransmissionsは送信回数を、TransmissionFailuresは送信失敗した回数を示している。
【0192】
また、下側の「Energy Values = {0x69,…(中略)…,0x2c}」が、別のルータから送られてきたエネルギレベル情報である。どのルータから受信したかはSrcAddrを見れば分かる。ここに送信元ノードのショートアドレスが示されている。
【0193】
ゲートウェイ1001は、チャンネル自動切替モードの場合には、このようなエネルギレベル情報に基づき、「(E−1−1)」で説明した処理を行なうことによって、チャンネルを変更すべきか否かと、チャンネルを変更する場合にはどのチャンネルに変更すべきかとを判断する。
【0194】
<J.実装例>
図19は、ゲートウェイ1001における実装方法を説明するための図である。つまり、図19は、ゲートウェイ1001におけるソフトウェア構造を表す図である。
【0195】
図19を参照して、無線RF内蔵通信コントローラ部1106は、設定アプリケーション1401と、機器制御ライブラリ1402と、Z−STACKモニタライブラリ1403と、UDP/IP1404と、Ethernet(登録商標)1405と、Ethernet(登録商標)1406と、UDP/IP(User Datagram Protocol / Internet Protocol)ポート12130と、Z−STACK/IPブリッジ1408と、Z−STACKモニタライブラリ1409とUART1410とを含む。
【0196】
Z−STACK/IPブリッジ1408は、UDP/IPポート12130を開いて、各アプリケーションからコマンドを受け付ける。Z−STACK/IPブリッジ1408は、受け取ったコマンドを、UART1410を経由して、ZigBee(登録商標)コーディネータ部1106に伝える。
【0197】
<K.変形例>
[K−1.第1の変形例]
上記においては、ゲートウェイ1001が、ブロードバンドルータ1002を介して、外部のネットワークであるインターネットに接続されている構成を例に挙げて説明した(図1)。しかしながら、ネットワークZにおいて、無線RF内蔵通信コントローラ部1106と制御部1101とを有する一方、外部のネットワークとの中継機能を有しない通信制御装置を、ゲートウェイ1001の代わりに用いてもよい。
【0198】
[K−2.第2の変形例]
上記においては、パーソナルエリアネットワークとしてZigBee(登録商標)を例に挙げて説明したが、これに限定されるものではない。パーソナルエリアネットワークとして、Z−Wave(登録商標)を用いることもできる。
【0199】
[K−3.第3の変形例]
上記においては、ゲートウェイ1001の動作モードをチャンネル自動切替モードとチャンネル手動切替モードのとの間で切替可能である構成を例に挙げて説明したが、これに限定されるものではない。ゲートウェイを、上記動作モードとしてチャンネル自動切替モードまたはチャンネル手動切替モードをのみを有する構成としてもよい。
【0200】
〔実施の形態2〕
実施の形態1においては、まず、ルータがエルギレベルをゲートウェイ1001に通知し、ゲートウェイ1001がエネルギレベルに基づいて自動的にチャンネルを変更する構成(自動切替)を説明した。次いで、ルータがエルギレベルをゲートウェイ1001に通知し、ゲートウェイ1001が、エネルギレベルを表示するとともに、ユーザの指示に基づいたチャンネルに変更する構成(手動切替)について説明した。
【0201】
つまり、実施の形態1では、周波数アジリティを部分的に実施しつつ、ネットワークマネージャが自動的にチャンネル変更する場合、または、ネットワークマネージャからユーザ(ネットワーク管理者)に通知し、ユーザ操作によってチャンネルを変更する場合について説明した。なお、実施の形態1のように、周波数アジリティを部分的に実施しておけば、チャンネルが干渉して通信エラーが多くなっている状態かどうか分かるという利点がある。
【0202】
本実施の形態では、周波数アジリティは直接関係なく、設定アプリケーションからユーザ操作(チャンネルの指定等)によってチャンネル変更をする構成について説明する。つまり、通信システム1が、実施の形態1のように周波数アジリティを実施しない構成について説明する。なお、以下では、主として、実施の形態1と異なる点について説明する。なお、説明の便宜上、実施の形態1のゲートウェイ1001,1001Aと区別するために、本実施の形態のゲートウェイを「ゲートウェイ1001B」と称する。
【0203】
ゲートウェイ1001Bは、ユーザによってチャンネルが指定される構成であるため、動作モードとして、チャンネル手動切替モードを備えるが、チャンネル自動切替モードは備えない。
【0204】
ゲートウェイ1001Bは、ユーザによってチャンネルが指定される構成であるため、実施の形態1におけるチャンネル手動切替モードと同様、上述した「(E−1−1.エネルギレベル情報に基づくチャンネル変更処理の概要)」の処理は行なわない。ゲートウェイ1001は、上述した「(E−1−2.チャンネル情報の送信処理)」と「(E−1−3.タイミング情報の送信処理)」とをこの順に行なう。また、ゲートウェイ1001Bは、タイマの設定例として、たとえば「(E−1−4.タイマの設定例)」で説明した手法を用いればよい。
【0205】
<L.制御構造>
図20は、本実施の形態におけるゲートウェイ1001Bの処理のフローを表したフローチャートである。図20を参照して、ゲートウェイ1001Bは、ステップS106〜ステップS118の処理を実行する。当該ステップS106〜ステップS118の処理は、図11で説明したステップS106〜ステップS118と同内容の処理である。ただし、図20では、ステップS102、S104がないため、ステップS106でNOの場合には、処理をステップS106に戻すことになる。
【0206】
<M.ユーザインターフェイス>
図21は、本実施の形態における、ネットワーク全体についての設定画面333を表した図である。具体的には、図12において、オブジェクト303が選択された後の遷移画面である。図21を参照して、設定画面333には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、3つのオブジェクト3301,3303,3304とを含む。なお、図中において、破線で囲まれた箇所はテキストボックスである。当該テキストボックスは、書き込み可能である。
【0207】
ユーザがPanIDとチャンネルとを指定した上でオブジェクト3301を選択することにより、ゲートウェイ1001Bは、ネットワークZの全ての通信機器(ノード)を一括変更する。具体的には、ゲートウェイ1001は、NVRAM(Non Volatile Random Access Memory)コンフィグ情報を書き換えて、リセットする。また、ゲートウェイ1001Bは、一括変更を実行する前に、ダイアログボックスを設定画面333内に表示することにより、ユーザに承認を求める。また、初期値は、ローカルノードで取得した値と同じとする。
【0208】
<N.ゲートウェイの機能的構成>
図22は、ゲートウェイ1001Bの機能ブロック図である。図22を参照して、ゲートウェイ1001Bは、通信部101と、タイミング決定部103と、記憶部104と、表示制御部105と、表示部1103と、入力受付部107とを備える。つまり、ゲートウェイ1001Bは、チャンネル決定部102と動作モード切替部109とを備えていない点において、実施の形態1のゲートウェイ1001と異なる(図17参照)。
【0209】
通信部101は、予め定められた複数のチャンネルの1つを用いてルータである通信機器と通信する。入力受付部107は、当該複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける。通信部101は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更指令を、各ルータおよびスリーピー・エンドデバイスに送信する。
【0210】
詳しくは、上記変更指令は、指定されたチャンネルを表したチャンネル情報と、指定されたチャンネルへの変更タイミングを表したタイミング情報とを含んでいる。変更タイミングは、タイミング情報を受信したときからの時間として規定され、かつ各ルータとスリーピー・エンドデバイスとで個別に設定されている。
【0211】
通信部101は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報を各ルータおよびスリーピー・エンドデバイスに送信する。通信部101は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、タイミング情報を各ルータおよびスリーピー・エンドデバイスに送信する。
【0212】
以上の構成によって、通信システムZは、実施の形態1と同様に、上述したゲートウェイ1001Bの構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0213】
なお、本実施の形態においても、実施の形態1で述べた変形例([K−1.第1の変形例]〜[K−3.第3の変形例])を適用可能である。
【0214】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0215】
11〜16 通信機器、101 通信部、102 チャンネル決定部、103 タイミング決定部、104,104A 記憶部、105 表示制御部、107 入力受付部、108 通信時間測定部、109 動作モード切替部、310,320,331,332,333 設定画面、1001,1001A ゲートウェイ、1002 ブロードバンドルータ、1004 消費電力測定器、1005 エアコン、1006 冷蔵庫、1007 洗濯乾燥機、1008 各種センサ、1101,1501 制御部、1102,1502 操作部、1103 表示部、1104 高速通信インターフェイス部、1105,1505,2104 電源部、1106,1506,2120 無線RF内蔵通信コントローラ部、1107,1507,2107 アンテナ、1161,2121 CPU、1162,2122 ROM、1163,2123 RAM、1164,2124 GPIO、1165,2125 無線RF部、1403,1409 Z−STACKモニタライブラリ、1404 UDP/IP、1408 Z−STACK/IPブリッジ、1401 UART、1504 センサ部、1508 制御対象、2101 ソケット、2102 プラグ、2103 シャント抵抗、2106 設定ボタン、2110 電力センサ部、E,Z ネットワーク、CM 低速無線通信モジュール。
【技術分野】
【0001】
本発明の通信制御装置、ネットワークシステム、通信制御方法、およびプログラムに関する。本発明は、特に、ルータおよびエンドデバイスを管理する通信制御装置、ルータとエンドデバイスと通信制御装置とを備えるネットワークシステム、通信制御装置における通信制御方法、通信制御装置を制御するためのプログラム。
【背景技術】
【0002】
(1)従来、パーソナルネットワークとして、たとえば、ZigBee(登録商標)を用いたネットワークが知られている。非特許文献1には、ZigBee(登録商標)の機能の概要が説明されている。特に、非特許文献1(A.5 Frequency Agility)には、チャンネルを変更する機能である周波数アジリティ(Frequency Agility)の概要が説明されている。
【0003】
非特許文献2には、ZigBee(登録商標)の仕様が開示されている。非特許文献2には、たとえば、ZigBee(登録商標)で用いられるコマンド等が開示されている。
以下、コーディネータ、ルータ、エンドデバイスという用語は、それぞれZigBee(登録商標)における論理デバイスの種別を表すものとする。それぞれの意味については後述する。また、ネットワークマネージャという用語は、周波数アジリティにおいてネットワークの管理を行なうZigBee(登録商標)ノードを意味する。通常はコーディネータがその役割を持つが、必ずしもそれには限らない。ネットワークマネージャは、ZigBee(登録商標)ネットワーク内に1台だけ存在する。
【0004】
ZigBee(登録商標)を用いたネットワークにおけるコーディネータは、当該ネットワークを開始するに先立ち、予め設定されたチャンネルリスト(デフォルト・チャンネルリスト)におけるチャンネルの全てをスキャンする。コーディネータは、全てのチャンネルのうちで一番空いてそうなチャンネル(つまり、エネルギレベルの低いチャンネル)を選択する。コーディネータは、選択したチャンネルを用いてネットワークを開始する。いったんネットワークが開始されると、基本的には、チャンネルは変更されない。
【0005】
ところで、ZigBee(登録商標)におけるコーディネータがネットワークを開始した後に、たとえば以下の理由によって、チャンネルの状況が悪化する場合がある。ZigBee(登録商標)が利用する電波の周波数帯は、2.4GHz帯である。2.4GHz帯は、無線LAN、Bluetooth(登録商標)、電子レンジ、無線キーボードといった各種機器も使用する周波数帯域でもある。このため、当初はチャンネルの状況がよくても、上記のような各種機器が開始されることなどにより、チャンネルの状況が悪化する場合がある。より詳しく説明すると、以下の通りである。
【0006】
図23は、ZigBee(登録商標)でのチャンネルの構成と、無線LAN(IEEE802.11b)でのチャンネルの構成とを説明するための図である。図23を参照して、無線LANでは、周波数が異なる4個のチャンネル1ch,6ch,11ch,14chが主に用いられる。また、ZigBee(登録商標)では、周波数が異なる16個のチャンネル11ch〜26chのいずれかのチャンネルが用いられる。たとえば無線LANが上記4個のチャンネルのうちあるチャンネルの使用を開始した場合、ZigBee(登録商標)における16個のチャンネルのいずれかのチャネルとの間で電波干渉が生じる可能性がある。このため、上述したように、ZigBee(登録商標)のコーディネータがネットワークを開始した時点では、空いていたチャンネルであっても、その後無線LANの使用開始により、そのチャンネルの状況が悪化する場合がある。
【0007】
このような状況に対処するための機能として、周波数アジリティ(Frequency Agility)が知られている。周波数アジリティは、電波が干渉して、通信エラーが多くなった場合に、ネットワークマネージャがZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)に対してチャンネル変更の指示を出し、干渉しないチャンネルへ移動させることで、ネットワークの効率と安定性を高める機能である。非特許文献1における“Appendix A”の項目“A.5”(P.396-398)には、上記周波数アジリティについての記載がなされている。以下、周波数アジリティについて、具体的に説明する。
【0008】
ルータは、通信の失敗カウントを記録する。ルータは、失敗カウントがしきい値を超えたら(メッセージ数が20以上あって、25%のメッセージが失敗)、予め設定されている全てのチャンネルをスキャンし、各チャンネルのエネルギレベルを取得する。ルータは、ネットワークマネージャに取得したエネルギレベルを通知する。ルータは、ネットワークをあふれさせることがないようにするため、1時間に最大4回まで通知するよう制限する。
【0009】
ネットワークマネージャは、ルータからエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受信する。ネットワークマネージャは、当該エネルギレベルの通知に基づき、チャンネルを変更すべきか否かを決定する。また、ネットワークマネージャは、必要ならば、他のZigBee(登録商標)ノードに対して、エネルギレベルの通知を行うよう要求(Mgmt_NWK_UPdate_req)を出すこともできる。
【0010】
さらに、ネットワークマネージャは、チャンネルを変更すべきであると判断した場合には、どのチャンネルに変更すべきかについても決定する。チャンネル変更の決定については、ネットワークマネージャが自動で決定する場合もあるし、ネットワーク管理者(人間)の決定による場合もある。ネットワークマネージャは、チャンネルを変更するためのチャンネル変更コマンド(Mgmt_NWK_UPdate_req)を、ブロードキャストで送信する。
【0011】
このブロードキャストの宛先アドレスは0xFFFDである。これは、RxOnWhenIdle = TRUE のノード(アイドル状態でも受信可能であるノード、つまり起きているノード)に対して届くという意味である。従って、チャンネル変更コマンドはZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)に対して届く。
【0012】
上記ブロードキャストによりチャンネル変更コマンドを受信したノード(ルータおよび起きているエンドデバイス)は、当該チャンネル変更コマンドを、再ブロードキャストする。このようなブロードキャストの連続により、ネットワーク内の起きているノード(ウェイクフル・ノード)に、チャンネル変更コマンドが伝わる。
【0013】
ここで、スリープ状態に入るエンドデバイス(以下、「スリーピー・エンドデバイス(Sleepy end device)」と称する)は、起き上がっている間を除き、ブロードキャストによるチャンネル変更コマンドを受信できない。スリープ状態の期間に比べて起きている状態の期間は短いため、原則的には、スリーピー・エンドデバイスは(ブロードキャストで送信される)チャンネル変更コマンドを受信できない。それゆえ、スリーピー・エンドデバイスは、親(ルータまたはコーディネータ)がチャンネルを変えると当該親と通信できなくなる。したがって、スリーピー・エンドデバイスは、親と通信できなくなった場合に、他のチャンネルをサーチしなければならない。はじめは予め設定されているチャンネルリストをサーチする。この中に以前と同じネットワークを見つけられなければ、全チャンネルをサーチする。周波数アジリティを有効にした場合、このような仕様をスリーピー・エンドデバイス側に盛り込まなければならない(非特許文献2に記載されている)。
【0014】
また、ウェイクフル・ノードであっても、チャンネル変更コマンドを受信できない場合がある。ウェイクフル・ノードは、失敗カウントがしきい値を超えて、ネットワークマネージャと一定期間通信できなければ、現行チャンネル上で通信するには干渉状態が悪化しすぎたと判断して、他のチャンネルをサーチしなければならない。
【0015】
チャンネル変更コマンドは、ZigBee(登録商標)ネットワーク内の起きているノード(ウェイクフル・ノード)が次々に再ブロードキャストしていきネットワーク全体のウェイクフル・ノードに伝わる。うまくいけばかなり高速にネットワーク全体のウェイクフル・ノードに伝わる。しかし、そもそもネットワークのチャンネル状況が悪化しているため、通信が失敗することも多い。また、チャンネル変更コマンドはブロードキャストで送信されるため、ブロードキャストの通信が失敗する場合も多い。ブロードキャストはユニキャストと異なり、ACKを確認していないためである。
【0016】
また、非特許文献2の575頁(“ANNEX E”)には、チャンネル変更コマンドである“Mgmt_NWK_Updat_req”を受信したの後の動作が規定されている。具体的に説明すると、チャンネル変更コマンドを受信したノードは、タイマを予め定められた時間(nwkNetworkBroadcastDeliveryTime)に設定し、当該タイマが切れた後にチャンネルを変更する。この時間はブロードキャスト送信にかかる時間を見積もったものであり、固定値である。ある実装によると3000msであった。このように、チャンネル変更コマンドには、チャンネルを変更するタイミングについての具体的な指示はない。どのタイミングでチャンネルを変更するかはそれぞれのノード(ウェイクフル・ノード)に委ねられている。
【0017】
(2)また、従来、無線LAN(Local Area Network)においても、空いているチャンネルを自動で検出し、当該無線LANで利用するチャンネルを当該検出したチャンネルに設定する機能(以下、「AUTOチャンネル機能」と称する)が知られている。
【0018】
たとえば、非特許文献3には、AUTOチャンネル機能として、簡易設定機能であるAOSS(登録商標)(AirStation One-Touch Secure System)の設定時または電源オン時に自動で全チャンネルをスキャンし、空いているチャンネルに自動でチャンネルを設定するアクセスポイントが開示されている。
【0019】
また、非特許文献4にも同様に、AUTOチャンネル機能として、装置の起動時、チャンネル設定変更時、および無線機能設定変更時において、他の無線アクセスポイントが周囲に存在する環境であっても、空いているチャンネルを自動で検出し、電波状態のよいチャンネルを自動選択するアクセスポイントが開示されている。
【0020】
このように、無線LANにおけるAUTOチャンネル機能は、チャンネル設定変更時、装置の起動時、無線機能設定変更時のときだけ、自動的に空いているチャンネルを検出し、無線ALNで利用するチャンネルを選択する。また、AUTOチャンネル機能では、アクセスポイントの子ノードを引き連れた状態で、チャンネルを他のチャンネルに変更することはない。
【先行技術文献】
【非特許文献】
【0021】
【非特許文献1】Drew Gislason著「ZIGBEE WIRELESS NETWORKING」(米国)、Newnes、2008年9月4日、p.396-398
【非特許文献2】ZigBee Alliance「ZIGBEE SPECIFICATION ZigBee Document053474r17」、ZigBee Standards Organization、2008年1月17日
【非特許文献3】Buffalo、“AUTOチャンネル設定機能”、[online]、[平成23年7月26日検索]、インターネット<URL:http://buffalo.jp/products/catalog/item/w/wzr-hp-g54_p/>
【非特許文献4】NEC、“オートチャネルセレクト”、[online]、[平成23年7月26日検索]、インターネット<URL:http://121ware.com/product/atermstation/product/warpstar/wr8400n/feature2.html>
【発明の概要】
【発明が解決しようとする課題】
【0022】
上述した周波数アジリティによってチャンネルを変更する場合、以下のような問題点がある。すなわち、チャンネル変更のコマンドはブロードキャストで送信されるため、大抵の期間スリープ状態にあるスリーピー・エンドデバイスはこのコマンドを原則的に受信することができない。
【0023】
参考までに、宛先アドレスが0xFFFFであるブロードキャストもある。これはスリープ状態に入るエンドデバイスを含めて全てのノードに対して届けられる。ただし、スリープ状態に入るエンドデバイスにも届けるためには、送信側がパケットを相当の期間保持しなければならず、ZigBee(登録商標)の通常コマンドでは一般的に用いられていない。
【0024】
また、ブロードキャストでの送信は信頼性が低い。特に、周波数アジリティを実行しようとする場合には、ネットワークにおける伝送路状況は悪化しているはずである。このため、起きているノード(ルータ、ウェイクフル・エンドデバイス)であっても当該チャンネル変更コマンドを受信できる可能性は低い。
【0025】
上記のように、スリーピー・エンドデバイスは原則的にチャンネル変更コマンドを受信できないため、スリーピー・エンドデバイスは親との通信できなくなると、親がチャンネルを変更したと推定して、他のチャンネルをサーチしなければならない。周波数アジリティを有効に設定した場合、スリーピー・エンドデバイス側にこの仕様を盛り込まなければならない。
【0026】
実際には、電子レンジなどによって、チャンネル状況が一般的に悪化して親と通信ができなくなる事はよくあることである。そのたびに他のチャンネルをサーチしなければならないのは、スリーピー・エンドデバイスにとって余計な負荷がかかることになる。親がチャンネルを変更していない場合であっても、スリーピー・エンドデバイスは他のチャンネルをサーチするので、リジョインするまでに時間がかかる要因となっている。
【0027】
また、ウェイクフル・ノード(ルータ、または、ウェイクフル・エンドデバイス)であっても当該チャンネル変更コマンドを受信できない場合もある。よって、ウェイクフル・ノードもネットワークマネージャと通信できなくなったとき、他のチャンネルをサーチしなければならない。周波数アジリティを有効に設定した場合、ウェイクフル・ノード側にこの仕様を盛り込まなければならない。
【0028】
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示することが可能な通信制御装置、ネットワークシステム、通信制御方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【0029】
本発明のある局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。通信手段は、記チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0030】
本発明の他の局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、予め定められた複数のチャンネルの1つを用いてルータと通信する通信手段と、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0031】
本発明のさらに他の局面に従うと、通信制御装置は、ルータとエンドデバイスとを備えたネットワークシステムを管理する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報をディスプレイに表示させる表示制御手段と、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。
【0032】
好ましくは、通信制御装置は、チャンネル情報の通信に要した時間を測定する測定手段と、測定された時間に基づき、ルータとエンドデバイスとについての各々の変更タイミングを決定するタイミング決定手段とをさらに備える。
【0033】
好ましくは、通信制御装置は、タイミング情報を送信する順序を表した順序情報と、ルータと、エンドデバイスとについての各々の変更タイミングを予め記憶した記憶手段をさらに備える。通信手段は、記憶された変更タイミングに基づくタイミング情報を、順序情報に示された順序で、ルータとエンドデバイスとに送信する。
【0034】
好ましくは、記憶手段は、通信制御装置とルータと間のユニキャストに対して予め設定された第1の時間を表す第1の時間情報と、通信制御装置とエンドデバイスとの間のユニキャストに対して予め設定された第2の時間を表す第2の時間情報とをさらに記憶している。通信制御装置は、ルータとエンドデバイスとの台数と、順序情報と、第1の時間情報と、第2の時間情報とに基づき、ルータとエンドデバイスとについての各々の変更タイミングを決定するタイミング決定手段をさらに備える。タイミング決定手段は、決定した各変更タイミングを、ルータとエンドデバイスとについての各々の変更タイミングとして、記憶手段に記憶させる。
【0035】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。ルータは、通信制御装置との間の通信エラーが発生したことに基づき、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて、通信制御装置に送信する。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、変更指令に基づき、通信制御装置とのチャンネルを、変更前のチャンネルから決定されたチャンネルに変更する。通信制御装置は、変更指令を送信した後、ルータおよびエンドデバイスとのチャンネルを、エネルギレベル情報を受信したチャンネルから決定されたチャンネルに変更する。
【0036】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。通信制御装置は、予め定められた複数のチャンネルの1つを用いてルータと通信する通信手段と、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、チャンネル情報とタイミング情報とを受信する。ルータおよびエンドデバイスは、通信制御装置とのチャンネルを、変更前のチャンネルから、タイミング情報に示された変更タイミングでチャンネル情報に示されたチャンネルに変更する。通信制御装置は、タイミング情報を送信した後、ルータおよびエンドデバイスとのチャンネルを、変更前のチャンネルから指定されたチャンネルに変更する。
【0037】
本発明のさらに他の局面に従うと、ネットワークシステムは、ルータと、ルータを親とするエンドデバイスと、ルータおよびエンドデバイスの動作を制御する通信制御装置を備える。通信制御装置は、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、エネルギレベル情報をディスプレイに表示させる表示制御手段と、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備える。通信手段は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信する。通信手段は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信する。ルータおよびエンドデバイスは、変更指令に基づき、通信制御装置とのチャンネルを、変更前のチャンネルから決定されたチャンネルに変更する。通信制御装置は、変更指令を送信した後、ルータおよびエンドデバイスとのチャンネルを、エネルギレベル情報を受信したチャンネルから指定されたチャンネルに変更する。
【0038】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、通信制御装置が、エネルギレベル情報に基づき、複数のチャンネルの中から変更先となるチャンネルを決定するステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、チャンネル情報をルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0039】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、予め定められた複数のチャンネルの1つを用いてルータと通信するステップと、通信制御装置が、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0040】
本発明のさらに他の局面に従うと、通信制御方法は、ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法である。通信制御方法は、通信制御装置が、ルータと通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、通信制御装置が、エネルギレベル情報をディスプレイに表示させるステップと、通信制御装置が、エネルギレベル情報が表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、通信制御装置が、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルを表したチャンネル情報を、ルータおよびエンドデバイスに送信するステップと、通信制御装置が、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、決定されたチャンネルへの変更タイミングを表したタイミング情報を、ルータおよびエンドデバイスに送信するステップとを備える。
【0041】
本発明のさらに他の局面に従うと、プログラムは、上記の通信制御方法を通信制御装置に実行させる。
【発明の効果】
【0042】
本発明によれば、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示できる。すなわち、スリーピー・エンドデバイスなどは、親と通信できなくなった場合に、他のチャンネルをサーチするという仕様を盛り込まなくてよい。
【図面の簡単な説明】
【0043】
【図1】本発明の実施の形態に係るネットワークの概略構成を示した図である。
【図2】ネットワークの通信経路を含んだ概略構成を示した図である。
【図3】コーディネータと、ルータと、エンドデバイスとの機能をまとめた対比図である。
【図4】ゲートウェイのブロック図である。
【図5】エアコンのブロック図である。
【図6】消費電力測定器のハードウェア構成を表した図である。
【図7】ゲートウェイによるチャンネル情報の送信処理を説明するための図である。
【図8】ゲートウェイによるタイミング情報の送信処理を説明するための図である。
【図9】設定されたタイマの設定時間の一例を説明するための図である。
【図10】ゲートウェイの処理のフローを表したフローチャートである。
【図11】他のゲートウェイの処理のフローを表したフローチャートである。
【図12】ゲートウェイにおける設定ツールを表示させるための選択画面を表した図である。
【図13】ローカルノードについての設定画面を表した図である。
【図14】リモートノードについての設定画面を表した図である。
【図15】チャンネル自動切替モードにおける、ネットワーク全体についての設定画面を表した図である。
【図16】チャンネル手動切替モードにおける、ネットワーク全体についての設定画面332を表した図である。
【図17】ゲートウェイの機能ブロック図である。
【図18】ゲートウェイがエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受取ったときのログを表した図である。
【図19】ゲートウェイにおける実装方法を説明するための図である。
【図20】他の実施の形態のゲートウェイ1001の処理のフローを表したフローチャートである。
【図21】ネットワーク全体についての設定画面を表した図である。
【図22】ゲートウェイの機能ブロック図である。
【図23】ZigBee(登録商標)でのチャンネルの構成と、無線LAN(IEEE802.11b)でのチャンネルの構成とを説明するための図である。
【発明を実施するための形態】
【0044】
以下、図面を参照しつつ、本発明の実施の形態に係るネットワークについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0045】
〔実施の形態1〕
<A.ネットワークの概要>
図1は、本発明の実施の形態に係るネットワークの概略構成を示した図である。図1を参照して、ネットワークZは、低速無線通信ネットワーク(主にZigBee(登録商標)を想定)を示す。ネットワークEは、高速通信ネットワーク(主に、Ethernet(登録商標)やWiFi(登録商標)を想定)を示す。ネットワークZは、ゲートウェイ(通信制御装置)1001と、ブロードバンドルータ1002と、複数の消費電力測定器1004と、複数の家電機器(エアコン1005,冷蔵庫1006,洗濯乾燥機1007など)と、複数の各種センサ(温湿度センサや照度センサ、人感センサなど)1008とを備える。
【0046】
ゲートウェイ1001と、複数の消費電力測定器1004と、複数の家電機器1005,1006,1007と、複数の各種センサ1008とは、それぞれ、低速無線通信モジュールCM(以下、「無線モジュール」とも称する)を備える。図1では、低速無線通信モジュールCMのアンテナが外部アンテナのように図示されているが、アンテナはそれぞれの機器に内蔵されていてもよい。
【0047】
また、ゲートウェイ1001と、複数の消費電力測定器1004と、複数の家電機器1005〜1007と、各種センサ1008とにより、ネットワークZを構成する。
【0048】
ゲートウェイ1001は、低速無線通信モジュールCMを備えた情報処理端末である。ゲートウェイ1001は、入力手段と表示手段とを備える。以下では、一例として、ゲートウェイ1001がタッチパネル付きディスプレイを備える構成であるとして説明する。
【0049】
ゲートウェイ1001は、高速通信ネットワークによりブロードバンドルータ1002に接続されている。ゲートウェイ1001は、複数の消費電力測定器1004との間で低速度の無線通信を行なう。図1に消費電力測定器1004は1つしか描かれていないが実際には複数台存在するものとする。また、ゲートウェイ1001は、家電機器1005〜1007および各種センサ1008との間においても、低速度の無線通信を行なう。
【0050】
以下では、詳細については後述するが、消費電力測定器1004はルータまたはエンドデバイスとして動作している。また、家電機器1005,1006,1007および各種センサ1008についても、ルータまたはエンドデバイスとして動作している。
【0051】
図2は、ネットワークZの通信経路を含んだ概略構成を示した図である。以下では、ネットワークZとして、家電向けの短距離無線通信規格の一つであるZigBee(登録商
標)を用いた例について説明する。なお、ZigBee(登録商標)は、Blootooth(登録商標)よりも低速かつ伝送距離も短いが、省電力かつ低コストという利点がある。
【0052】
図2を参照して、ネットワークZは、ゲートウェイ1001と、ゲートウェイ1001との間で通信を行なう複数の通信機器11〜16とを備えている。なお、ゲートウェイ1001は、コーディネータとして機能する。各通信機器11〜16は、ルータまたはエンドデバイスのいずれかとして機能している。なお、通信機器は、6個に限定されるものではなく、ネットワークZに含まれるルータおよびエンドデバイスの数だけ存在する。また、図1の複数の消費電力測定器1004と、複数の家電機器1005,1006,1007と、複数の各種センサ1008とにおける各機器が、通信機器のいずれかに相当する。
【0053】
通信機器11,14は、ルータとして機能している。通信機器12,13,15,16は、エンドデバイスとして機能している。つまり、通信機器12,13,15,16は、データの中継を行なわない。
【0054】
通信機器11は、通信機器12,13の親機である。つまり、通信機器12,13は、通信機器11を介してコーディネータであるゲートウェイ1001と通信する。また、通信機器14は、通信機器15の親機である。つまり、通信機器15は、通信機器14を介してゲートウェイ1001と通信する。通信機器16は、ルータを介さず、ゲートウェイ1001と通信する。
【0055】
図2における丸印で囲まれた数字1〜6は、ゲートウェイ1001が通信を行なう順序を表している。詳しくは後述するが、ゲートウェイ1001は、数字で指定された順序通り(つまり、1,2,3,4,5,6…の順)に、各通信機器11〜16とユニキャストを行なう(図7〜図9)。なお、ゲートウェイ1001は、当該順序を表した順序情報を予め格納している。
【0056】
以下では、ネットワークZの詳細な説明を行なう前に、まず、ZigBee(登録商標)で使用されるデバイスについて説明する。ZigBee(登録商標)で使用されるデバイスは、物理デバイスと論理デバイスとの観点から区分される。
【0057】
物理デバイスの観点から、ZigBee(登録商標)で使用されるデバイスは、IEEE802.15.4の規格に応じて、フル機能を備えたFFD(Full-Function Device
)と、一部の機能を省略したRFD(Reduced-Function Device)とに分類できる。FFDは、ルーティング機能が備わっている。このため、FFDは、データを中継することができる。一方、RFDは、ルーティング機能が備わっていない。このため、RFDは、データを中継することができない。
【0058】
論理デバイスの観点から、ZigBee(登録商標)で使用されるデバイスは、コーディネータと、ルータと、エンドデバイスとに分類できる。コーディネータは、ネットワークに必ず1つだけ存在する。ルータは、ネットワーク内に複数存在することが可能である。ルータによって、データがノードを次々に渡っていくマルチホップネットワークを実現できる。
【0059】
コーディネータおよびルータは、ルーティング機能が備わるFFDでなければならい。エンドデバイスは、FFDであってもRFDであってもよい。
【0060】
図3は、コーディネータと、ルータと、エンドデバイスとの機能をまとめた対比図である。図3を参照して、エンドデバイスには、スリーピー・エンドデバイスと、ウェイクフル・エンドデバイス(Wakeful end device)とがある。スリーピー・エンドデバイスとウェイクフル・エンドデバイスとの相違点については、後述する。
【0061】
コーディネータ(つまり、ゲートウェイ1001)は、上述したようにネットワークの立ち上げ機能を有するが、ルータおよびエンドデバイスは、ネットワークの立ち上げ機能を有していない。また、コーディネータおよびルータは、中継機能を有するが、エンドデバイスは中継機能を有していない。
【0062】
コーディネータおよびルータは、スリープ不可である。スリーピー・エンドデバイスは、スリープできる。より詳しくは、スリーピー・エンドデバイスは、定期的にスリープ状態から起き上がる。一方、ウェイクフル・エンドデバイスは、スリープせずに起きている。
【0063】
スリーピー・エンドデバイスがスリープできる理由は、常に受信する必要がないためである。従って、一般的に言えばコーディネータとルータの消費電力は高くなる。スリーピー・エンドデバイスの消費電力は低くなる。ウェイクフル・エンドデバイスの消費電力は、常時起きているため、スリーピー・エンドデバイスの消費電力よりも高くなる。なお、参考までに、ある消費電力測定器をルータとして動作させた場合の消費電力の実測値は約0.4Wであり、スリーピー・エンドデバイスとして動作させた場合の消費電力の実測値は約0.1Wであった。
【0064】
以下では、ネットワークZには、エンドデバイスは、全てスリーピー・エンドデバイスであるとして説明を行なう。つまり、ネットワークZには、ウェイクフル・エンドデバイスは含まれていないものとして説明する。
【0065】
<B.ゲートウェイの構成>
図4は、ゲートウェイ1001のブロック図である。図4を参照して、ゲートウェイ1001は、制御部1101と、操作部1102と、表示部1103と、高速通信インターフェイス部1104と、電源部1105と、無線RF(Radio Freaquency)内蔵通信コントローラ部1106と、アンテナ1107と、設定ボタン1108とを備える。
【0066】
無線RF内蔵通信コントローラ部1106は、CPU(Central Processing Unit)1161と、ROM(Read Only Memory)1162と、RAMRandom Access Memory)1163と、GPIO(General Purpose Input/Output)1164と、無線RF部1165と、UART(Universal Asynchronous Receiver Transmitter)1166とを含む。なお、無線RF内蔵通信コントローラ部1106が、ZigBee(登録商標)コーディネータ部に該当する。また、ROM1162と、RAM1163と、UART1166と、GPIO1164と、無線RF部1165とは、それぞれ、CPU1161に接続されている。
【0067】
無線RF内蔵通信コントローラ部1106は、アンテナ1107と接続されている。無線RF内蔵通信コントローラ部1106は、ネットワークZ上に存在する通信機器との間の通信を制御する。
【0068】
制御部1101のOS(Operating System)は、たとえばLinux(登録商標)を用いることができる。制御部1101は、CPU1161に比べて高性能なCPUを備えており、またメモリも豊富である。当該構成によって、ゲートウェイ1001は、高度な情報処理を実現できる。
【0069】
操作部1102は、スイッチおよびタッチパネル等の入力デバイスである。表示部1103は、画像を表示するためのディスプレイ(たとえば、液晶ディスプレイ)である。
【0070】
高速通信インターフェイス部1104は、ブロードバンドルータ1002との間でEthernet(登録商標)またはWiFi(登録商標)を用いた通信を行なうためのインターフェイスである。電源部1105は、制御部1101と無線RF内蔵通信コントローラ部1106とに電力を供給する。
【0071】
制御部1101は、操作部1102、表示部1103と、高速通信インターフェイス部1104と、電源部1105と、無線RF内蔵通信コントローラ部1106とに接続されている。制御部1101は、ゲートウェイ1001の全体的な動作を制御する。制御部1101は、操作部1102からの入力を受け付ける。また、制御部1101は、表示部1103に出力指示を出す。
【0072】
<C.家電機器の構成>
図5は、エアコン1005(図1参照)のブロック図である。なお、他の家電機器1006,1007も類似のブロックを有するため、ここでは説明を繰り返さない。
【0073】
図5を参照して、エアコン1005は、制御部1501と、操作部1502と、表示部1503と、センサ部1504と、電源部1505と、低速無線通信モジュール1506と、アンテナ1507と、制御対象1508とを備える。
【0074】
操作部1502は、スイッチ等の入力デバイスである。表示部1503は、LED等の
出力デバイスである。センサ部1504は、たとえば、温度センサ、湿度センサである。電源部1505は、制御部1501と低速無線通信モジュール1506とに電力を供給する。
【0075】
制御部1501は、操作部1502、表示部1503と、センサ部1504と、電源部1505と、低速無線通信モジュール1506とに接続されている。制御部1501は、エアコン1005の全体的な動作を制御する。制御部1501は、一般的に組込みマイコンで実現される。
【0076】
制御部1501は、操作部1502からの入力を受け付ける。また、制御部1501は、表示部1503に出力指示を出す。また、制御部1501は、センサ部1504による入力を受け付ける。制御部1501は、コンプレッサ等の制御対象1508を制御する。
【0077】
より詳しくは、制御部1501は、CPUと、RAMと、ROMと、UARTと、GPIOと、ADC(Analog Digital Converter)とで構成される。RAMと、ROMと、UARTと、GPIOとは、それぞれ、CPUに接続されている。ADCは、センサ部1504に接続される。
【0078】
低速無線通信モジュール1506は、アンテナ1507と接続されている。低速無線通信モジュール1506は、ネットワークZ上に存在するゲートウェイ1001や通信機器との間の通信を制御する。低速無線通信モジュール1506は、CPUと、RAMと、ROMと、UARTと、GPIOと、無線RF部で構成される。RAMと、ROMと、UARTと、GPIOとは、それぞれ、CPUに接続されている。低速無線通信モジュール1506と制御部1501とはUARTで接続されている。
【0079】
<D.消費電力測定器の構成>
図6は、消費電力測定器1004のハードウェア構成を表した図である。図6を参照して、消費電力測定器1004は、ソケット2101と、プラグ2102と、シャント抵抗2103と、電源部2104と、LED2105と、設定ボタン2106と、アンテナ2107と、電力センサ部2110と、無線RF内蔵通信コントローラ部2120と、配線2131と、配線2132と、配線2133とを備える。
【0080】
無線RF内蔵通信コントローラ部2120は、CPU2121と、ROM2122と、RAM2123と、GPIO2124と、無線RF部2125とを含む。
【0081】
配線2132と配線2133とは、シャント抵抗2103により接続されている。シャント抵抗2103は電流を測定するために使われる微小な(数百マイクロΩ)抵抗である。
【0082】
ソケット2101とプラグ2102とは、配線2131〜2133およびシャント抵抗2103で接続されている。配線2131は、プラグ2102の一方の端子およびソケット2101の一方の端子に接続されている。配線2132は、プラグ2102の他方の端子とシャント抵抗2103の一方の端部とに接続されている。配線2133は、ソケット2101の他方の端子とシャント抵抗2103の他方の端部とに接続されている。
【0083】
電源部2104は、配線2132に接続されている。電源部2104は、交流を直流に変換する。電源部2104は、変換により得られた直流電力を電力センサ部2110と無線RF内蔵通信コントローラ部2120とに与える。
【0084】
電力センサ部2110は、配線2131と配線2132との間の電圧(電位差)とシャント抵抗2103に流れる電流の電流値とに基づいた周波数信号を、低速無線通信モジュール2120のGPIO2124に出力(パルス出力)する。
【0085】
CPU2121は、GPIO2124から取得した上記周波数信号をデータ変換する。無線RF部2125は、データ変換により得られた信号を、アンテナ2107を用いてゲートウェイ1001に送信する。
【0086】
ROM2122には、CPU2121が実行するプログラム等が格納されている。RAM2123は、CPU2121が処理するデータおよび処理したデータを一時的に格納する。
【0087】
LED2105は、消費電力測定器1004のデータ処理状態を、点滅および/または点灯させる色等により表す。設定ボタン2106は、ユーザによる消費電力測定器1004の初期設定等のために用いられる。
【0088】
<E.ゲートウェイの処理内容>
以下では、ゲートウェイ1001の処理の概要について説明する。ゲートウェイ1001は、動作モードとして、チャンネルを自動で切り替えるモード(以下、「チャンネル自動切替モード」と称する)と、チャンネルを手動で切り替えるモード(以下、「チャンネル手動切替モード」と称する)とを備えている。
【0089】
チャンネル自動切替モードでは、ゲートウェイ1001が、通信機器11などから報告される各チャンネルのエネルギレベル情報等に基づき、変更先チャンネルを自動選択し、通信システムZで用いるチャンネルを当該選択したチャンネルに変更する。一方、チャンネル手動切替モードでは、ユーザがエネルギレベルを確認した後等に、ゲートウェイ1001は、通信システムZで用いるチャンネルをユーザが指定したチャンネルに変更する。つまり、チャンネル手動切替モードでは、ゲートウェイ1001は、チャンネルを自動選択するのではなく、ユーザの指示に基づいたチャンネルを変更先のチャンネルとして設定する。
【0090】
以下では、まず、ゲートウェイ1001の動作モードが「チャンネル自動切替モード」である場合について説明する。次いで、ゲートウェイ1001の動作モードが「チャンネル手動切替モード」である場合について説明する。なお、ゲートウェイ1001は、ユーザの指示により、動作モードを「チャンネル自動切替モード」と「チャンネル手動切替モード」との間で切り替えることができる。
【0091】
[E―1.チャンネル自動切替モード]
以下では、まず、ゲートウェイ1001がエネルギレベル情報をルータである通信機器から受信した場合における、チャンネルの変更の要否の判断と、変更先のチャンネルの決定との具体的な処理を説明する(E−1−1)。次いで、決定されたチャンネルへの変更指令の送信処理について説明する。
【0092】
当該変更指令は、決定されたチャンネルを表したチャンネル情報と、決定された通信チャネルへの変更タイミングを表したタイミング情報とに分けられる。詳細については後述するが、ゲートウェイ1001は、チャンネル情報を送信した後に、タイミング情報を送信する。そこで、チャンネル情報の送信について説明した後(E−1−2,図7)、タイミング情報の送信について説明する(E−1−3,図8,図9)。最後に、タイミング情報におけるタイミングの設定例について説明する(E−1−4)。なお、「チャンネル情報」の通知コマンド及び「タイミング情報」の通知コマンドは、非特許文献2の記載の“Mgmt_NWK_Updat_req”とは異なるものである。
【0093】
(E−1−1.エネルギレベル情報に基づくチャンネル変更処理の概要)
ゲートウェイ1001は、エネルギレベルを少なくとも1つのルータから受信したことに基づき、チャンネルの変更の要否を判断する。ゲートウェイ1001は、エネルギレベルを送信してこないルータがある場合には、当該ルータに対してエネルギレベルを通知するように指示してもよい。エネルギレベルの具体例については、後述する(図8)。
【0094】
ゲートウェイ1001によるチャンネルを変更するか否かの判断基準は、様々に設定できる。例えば、以下のような判断基準を用いることができる。
【0095】
ネットワークマネージャ自身の送信失敗率を以下の式(1)によって求める。
送信失敗率=(送信失敗カウント)/(送信回数)*100 … (1)
ネットワークマネージャは、送信失敗率が50%未満ならば何もしない。
【0096】
また、ネットワークマネージャは、送信失敗率が前回チャネル使用時の送信失敗率より低ければ何もしない。前回チャネル使用時のデータがなければ、この判定は使われない。
【0097】
ネットワークマネージャは、送信失敗率が50%以上、かつ前回チャネル時の送信失敗率より高ければ、チャネル変更を決断する。この場合、ネットワークマネージャは、エネルギレベルが低いチャネルを1つ選んで、チャネル変更コマンドを送信する。エネルギレベルが低いチャネルを選択するときに、各ルータから通知されたエネルギレベルの情報を用いることができる。
【0098】
(E−1−2.チャンネル情報の送信処理)
図7は、ゲートウェイ1001によるチャンネル情報の送信処理を説明するための図である。具体的には、図7は、チャンネル情報の送信順序を説明するための図である。チャンネル情報の送信順序は、上述した順序情報(図2)に基づく。
【0099】
図7(a)を参照して、ゲートウェイ1001は、まず、変更前のチャンネルを用いたユニキャスト(UNICAST)によって、チャンネル情報を通信機器11に送信する。「ユニキャスト」とは、ネットワーク内で、単一のアドレスを指定して特定の相手に対してのみデータを送信することである。ユニキャストのときは、MAC層でACKを確認するので、相手に届いているかどうか分かる。
【0100】
図7(b)を参照して、ゲートウェイ1001は、次に、ユニキャストによって、チャンネル情報を通信機器14に送信する。以下、同様に、ゲートウェイ1001は、通信機器13,15,12,16に対して、チャンネル情報をユニキャストで送信する(図7(c)〜(f)参照)。
【0101】
以上のように、ゲートウェイ1001は、チャンネル情報をユニキャストによってネットワークZ内の通信装置に送信する。このため、各通信装置は、チャンネル情報がブロードキャストされる場合に比べて、チャンネル情報を高い確率で受信することが可能となる。ユニキャストならば、MAC層でACKを確認し、ACKがなければ再送するからである。MAC層における最大再送回数は、設定にもよるが、ある実装では3回となっている。従って、最初の送信も含めると、最大4回送信することになる。また、アプリケーション層でも送信先ノードからの応答がないことを確認してリトライすることができる。なお、各通信機器は、チャンネル情報を受信しただけではチャンネルを変更しない。
【0102】
ゲートウェイ1001が各通信装置に対してユニキャスト送信する順番については、ゲートウェイ1001が任意に決めることができる。順番に特段の意味がある訳ではないが、ここでは、ゲートウェイ1001が各通信装置を認識した(発見した)順番としている。
【0103】
(E−1−3.タイミング情報の送信処理)
図8は、ゲートウェイ1001によるタイミング情報の送信処理を説明するための図である。具体的には、図8は、タイミング情報の送信順序を説明するための図である。タイミング情報の送信順序は、チャンネル情報と同じく、上述した順序情報(図2)に基づく。また、ゲートウェイ1001は、チャンネル情報の送信が完了した後に、タイミング情報をネットワークZ内の各通信機器にユニキャストで送信する。
【0104】
「タイミング情報」とは、上述した処理によって決定された変更先のチャネルへの変更タイミングを表した情報である。各通信機器(ルータおよびスリーピー・エンドデバイス)は、「タイミング情報」を受信すると、指定されたタイミング(期間)が経過した後、先に受信していた変更先のチャンネルに変更する。(図9参照)
チャンネル情報をユニキャスト送信する過程で、もし1以上のノードから応答がなければ、ネットワーク全体のチャンネル切替を中止してもよい。ネットワーク内のすべてのノードを一斉にチャンネル切替できないからである。この場合、ゲートウェイ1001は、画面を通じて、ユーザに、チャンネル切替が中止になったという旨のメッセージを通知する。
【0105】
図8(a)を参照して、ゲートウェイ1001は、変更前のチャンネルを用いたユニキャストによって、タイミング情報を通信機器11に送信する。以下、同様に、ゲートウェイ1001は、通信機器14,13,15,12,16に対して、チャンネル情報をユニキャストで送信する(図8(b)〜(f)参照)。
【0106】
以上のように、ゲートウェイ1001は、タイミング情報をユニキャストによってネットワークZ内の通信装置に送信する。このため、各通信装置は、タイミング情報がブロードキャストされる場合に比べて、タイミング情報を高い確率で受信することが可能となる。
【0107】
また、各通信装置は、タイミング情報を受信した時点において既にチャンネル情報を受信している。このため、各通信装置は、タイミング情報にて指示されたタイミングで、以後使用するチャンネルを、変更前のチャンネルからゲートウェイ1001において決定されたチャンネル(変更先のチャンネル)へと切替えることができる。
【0108】
上記のように、ゲートウェイ1001が、チャンネル情報とタイミング情報との両方を送信する理由は以下のとおりである。
【0109】
仮に、ゲートウェイ1001が、チャンネル情報だけを送信したとする。チャンネル情報を受信したそれぞれのノードは、受信した直後、または、予め定められた時間を経過した後、チャンネルを変更することになる。
【0110】
ゲートウェイ1001は、すべてのノードにユニキャストで送信しようとしているので、中継路となっているノード(図2における通信機器11と通信機器14)が先にチャンネルを変更してしまうと、その先にいるノード(図2における通信機器12,13,15)には届かなくなってしまう。それゆえ、通信機器12,13、15は、親である通信機器11や通信機器14と通信できなくり、ネットワーク全体のチャンネル切替が失敗する。これを避けるには末端にいるノード(図2における通信機器12,13,15)から順に送信すれば良いが、この順序を調べ上げるのは困難である。アドホックネットワークなので、中継路もチャンネル状況に応じて変更しうるからである。
【0111】
また、ゲートウェイ1001が、チャンネル情報を送信してから、タイミング情報を送信する理由は以下のとおりである。
【0112】
ゲートウェイ1001は、すべてのノードにチャンネル情報を送信するので、このときすべてのノードから応答があるかどうかを確認できる。もし、1以上のノードから応答がなければネットワーク全体のチャンネル切替は成功しないので、チャンネル切替自体を途中で中止することできる。
【0113】
また、ゲートウェイ1001が、すべてのノードにチャンネル情報を送信するのに必要な時間を測定することができる。これを後続するタイミング情報に反映させることができる。
【0114】
(E−1−4.タイマの設定例)
次に、ゲートウェイ1001による、タイミング情報におけるタイマの設定方法について説明する。ここでの目的は、ネットワーク内のすべてのノードがなるべく同じタイミングでチャンネルを切り替えるようにすることである。一番目に送信する通信機器へのタイミング情報をどう設定するか、二番目以降に送信する通信機器へのタイミング情報をどう設定するか、を考えなければならない。ここでは2つの方法を説明する。
【0115】
・方法1:(測定時間に基づく方法)
ゲートウェイ1001は、先にすべてのノードにチャンネル情報を送信しているので、このときにかかった時間を測定する。この時間(すべてのノードへ送信するのに必要な時間)をTaとする。まず、一番目に送信する通信機器11についてのタイミング情報(T1)を、以下の式(2)のように設定する。
【0116】
T1=Ta+Ts … (2)
Tsは、余裕を持たせるための時間である。Tsは、たとえば3秒とする。
【0117】
通信機器11は、タイミング情報T1を受信すると、受信してからT1(の期間)だけ経過した後、変更先のチャンネルに変更する。
【0118】
二番目に送信する通信機器14についてのタイミング情報(T2)は以下の式(3)のように設定する。
【0119】
T2=Ta+Ts−Tc … (3)
Tcは、一番目の通信機器に送信した時刻と、現在時刻との差である(つまり、タイミング情報の送信を開始してから経過した時間を表す)。
【0120】
通信機器14は、タイミング情報T2を受信すると、受信してからT2(の期間)だけ経過した後、変更先のチャンネルに変更する。
【0121】
三番目以降に送信する通信機器についても、同様にタイミング情報を設定する。式(3)がTsを下回ればTsとする。最後に、ゲートウェイ1001は自身のチャンネルを変更する。
【0122】
具体的には、ゲートウェイ1001は、測定部とタイミング決定部とを備えている。測定部は、チャンネル情報の通信に要した時間Taを測定する。タイミング決定部は、測定された時間Taに基づき、ルータとスリーピー・エンドデバイスとについての各々の変更タイミングを決定する。より具体的には、タイミング決定部は、時間Taと、時間Tsと、時間Tcとに基づき、変更タイミングを決定する。
【0123】
・方法2:(ネットワークZのノード個数に基づく方法)
ゲートウェイ1001は、ネットワークZにおけるノードの個数を把握しているので、ノードの個数から一番目に送信する通信機器へのタイミング情報を決定する。
ネットワークZにおけるルータの数をM個、および、スリーピー・エンドデバイスの数をN個とすると、一番目に送信する通信機器11についてのタイミング情報(T1)を、以下の式(4)で決定する。
【0124】
T1 = Tr ×M + Te × N + Ts … (4)
式(4)おいて、Trは、ゲートウェイ1001と1つのルータとの間における上述したユニキャストでの通信に要する時間に基づき予め定められた時間である。Trは、たとえば0.3秒である。Teは、ゲートウェイ1001と1つのスリーピー・エンドデバイスとの間における上述したユニキャストでの通信に要する時間に基づき予め定められた時間である。Teは、たとえば1.6秒である。
【0125】
ルータは常時起きているので、通信はすぐに完了する。スリーピー・エンドデバイスは寝ている期間があるので、通信に時間を要する。
【0126】
また、Tsは、余裕を持たせるための時間である。つまり、Tsは、ゲートウェイ1001がタイミング情報を全てのノードに送信する前にいずれかのノードでチャンネルの変更が行なわれてしまう事態を極力防止するために設けられた時間である。Tsは、たとえば3秒である。
【0127】
図9は、設定されたタイマの設定時間の一例を説明するための図である。具体的には、図9は、上記式(4)によってT1=12.0秒となった場合における、各通信機器11〜16に対するタイマの設定時間を表した図である。
【0128】
図9を参照して、ゲートウェイ1001は、通信機器11に対するタイマの設定時間を、12.0秒に設定する。つまり、ゲートウェイ1001は、通信機器11がタイミング情報を受信してから12.0秒後にチャンネルを変更するよう、通信機器11に指示する。
【0129】
また、ゲートウェイ1001は、順序情報に基づく順序が2番の通信機器14についてのタイマの設定時間を、11.7秒に設定する。つまり、ゲートウェイ1001は、通信機器14がタイミング情報を受信してから11.7秒後にチャンネルを変更するよう、通信機器14に指示する。ゲートウェイ1001は、12.0秒から、ゲートウェイ1001と通信機器11との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Tr=0.3秒)を差し引くことにより、通信機器14についてのタイマの設定時間(以下、「設定時間T2」と称する)を算出する。
【0130】
また、ゲートウェイ1001は、順序情報に基づく順序が3番の通信機器13についてのタイマの設定時間を、11.4秒に設定する。つまり、ゲートウェイ1001は、通信機器13がタイミング情報を受信してから11.4秒後にチャンネルを変更するよう、通信機器13に指示する。ゲートウェイ1001は、11.7秒から、ゲートウェイ1001と通信機器14との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Tr=0.3秒)を差し引くことにより、通信機器13についてのタイマの設定時間(以下、「設定時間T3」と称する)を算出する。
【0131】
また、ゲートウェイ1001は、順序情報に基づく順序が4番の通信機器15についてのタイマの設定時間を、9.8秒に設定する。つまり、ゲートウェイ1001は、通信機器15がタイミング情報を受信してから9.8秒後にチャンネルを変更するよう、通信機器15に指示する。ゲートウェイ1001は、11.4秒から、ゲートウェイ1001と通信機器13との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器15についてのタイマの設定時間(以下、「設定時間T4」と称する)を算出する。
【0132】
また、ゲートウェイ1001は、順序情報に基づく順序が5番の通信機器12についてのタイマの設定時間を、8.2秒に決定する。つまり、ゲートウェイ1001は、通信機器12がタイミング情報を受信してから8.2秒後にチャンネルを変更するよう、通信機器12に指示する。ゲートウェイ1001は、9.8秒から、ゲートウェイ1001と通信機器15との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器12についてのタイマの設定時間(以下、「設定時間T5」と称する)を算出する。
【0133】
また、ゲートウェイ1001は、順序情報に基づく順序が6番の通信機器16についてのタイマの設定時間を、6.6秒に決定する。つまり、ゲートウェイ1001は、通信機器16がタイミング情報を受信してから6.6秒後にチャンネルを変更するよう、通信機器12に指示する。ゲートウェイ1001は、8.2秒から、ゲートウェイ1001と通信機器12との間におけるタイミング情報の通信に要する時間に基づき予め定められた時間(つまり、Te=1.6秒)を差し引くことにより、通信機器16についてのタイマの設定時間(以下、「設定時間T6」と称する)を算出する。
【0134】
以上のように、ゲートウェイ1001が、順序情報が下位になるにつれ、タイマの設定時間を小さくすることにより、各通信機器は同じようなタイミングでチャンネルが切り替わる。
【0135】
なお、ゲートウェイ1001は、最後に自身のチャンネルを変更する。たとえば、ゲートウェイ1001は、順序情報における順序が最も下位の通信機器に対してタイミング情報を送信してから、チャンネルを変更する。または、予め定められた時間が経過した後に、チャンネルを変更すればよい。
【0136】
なお、方法1と方法2を組み合わせてもよい。すなわち、方法1において、すべてのノードにチャンネルを送信するのに必要な時間見積もりを、ネットワークZのノード個数に基づくものにしてもよい。あるいは、方法2において、一番目の通信機器に設定するタイミングを、測定時間に基づいて決定してもよい。
【0137】
また、ゲートウェイ1001は、通信機器(11〜16)へ、チャンネル情報とタイミング情報とをユニキャストで送信するが、アプリケーション層で送信先ノードから応答がなければリトライしてもよい。
【0138】
また、ゲートウェイ1001は、通信機器(11〜16)へ送信する過程で、送信先ノードからの応答を待たずに、次の通信機器へ送信してもよい。特に、ゲートウェイ1001が、スリーピー・エンドデバイスに送信しようとしたとき、スリーピー・エンドデバイスは大抵の期間寝ているためすぐに応答を返さない。ゲートウェイ1001は、送信先ノードからの応答を待っていると時間がかかるので、送信先ノードからの応答を待たずに、次の通信機器へ送信することもできる。送信先ノードからの応答は、送信した順番通りにはならない。例えば、通信機器13,15,12,16の順に送信したとしても、それらの応答は送信した順に返ってくるとは限らない。
【0139】
[E−2.チャンネル手動切替モード]
以下では、チャンネル手動切替モードに関し、主としてチャンネル自動切替モードとの相違点について説明する。チャンネル自動切替モードと同様な処理については説明を繰り返さない。
【0140】
上述したように、チャンネル手動切替モードでは、ユーザがエネルギレベルを確認した後、ゲートウェイ1001は、通信システムZで用いるチャンネルをユーザが指定したチャンネルに変更する。したがって、ゲートウェイ1001は、チャンネルを自動選択しない。代わりに、ゲートウェイ1001は、ユーザからのチャンネルを指定する入力を受け付ける。
【0141】
ゲートウェイ1001は、指定されたチャンネルに、チャンネルを変更する。チャンネル手動切替モードの場合、当該指定されたチャンネルを表した情報が、上述した「チャンネル情報」に該当する。
【0142】
チャンネル手動切替モードにおいても、ゲートウェイ1001は、チャンネル情報の送信処理として、「E−1−2」で説明した処理を実行する。同様に、ゲートウェイ1001は、タイミング情報の送信処理として、「E−1−3」で説明した処理を実行する。この場合も、タイマの設定例として、「E−1−4」で示した例を用いることができる。
【0143】
なお、ゲートウェイ1001は、チャンネル手動切替モードおよびチャンネル自動切替モードでは、ユーザがエネルギレベルを確認できるように、エネルギレベルを表示部1103に表示する。ただし、チャンネル自動切替モードでは、ゲートウェイ1001が自動でチャンネルを切り替えるため、エネルギレベルの表示は必須ではない。エネルギレベルの表示については、後述する(図15等)。
【0144】
ユーザが、エネルギレベルに基づきチャンネルを1つ決定するのは多少の困難があるので、ゲートウェイ1001は、おすすめのチャンネルを1つ選択して表示するようにしてもよい。ユーザにはチャンネル切替を実行するかどうかだけを決断させるようにする。
【0145】
<F.制御構造>
まず、チャンネル自動切替モードにおけるゲートウェイ1001における制御構造を説明する。次いで、チャンネル手動切替モードにおける、ゲートウェイ1001における制御構造を説明する。
【0146】
[F−1.チャンネル自動切替モード]
図10は、チャンネル自動切替モードにおけるゲートウェイ1001の処理のフローを表したフローチャートである。図10を参照して、ステップS2において、ゲートウェイ1001は、ゲートウェイ1001とルータとの間の通信エラーが発生したことに基づき、当該ルータからエネルギレベル情報を受信する。ステップS4において、ゲートウェイ1001は、各ルータから受信したエネルギレベル情報に基づき、チャンネルを変更するか否かを判断する。
【0147】
ゲートウェイ1001は、チャンネルを変更すると判断した場合(ステップS4においてYES)、ステップS6において、変更先のチャンネルを決定する。ゲートウェイは、チャンネルを変更しないと判断した場合(ステップS4においてNO)、処理をステップS2に進める。
【0148】
ステップS8において、ゲートウェイ1001は、変更タイミングを表したタイミング情報を、ネットワークZを構成する通信機器(ルータおよびスリーピー・エンドデバイス)毎に生成する。ステップS10において、ゲートウェイ1001は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、変更先のチャンネルを表したチャンネル情報を、ネットワークZを構成する各通信機器に順に送信する。
【0149】
ステップS12において、ゲートウェイ1001は、チャンネル情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのチャンネル情報の送信が完了したか否かを判断する。ゲートウェイ1001は、チャンネル情報の送信が完了したと判断した場合(ステップS12においてYES)、ステップS14において、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、タイミング情報を、ネットワークZを構成する各通信機器に順に送信する。ゲートウェイ1001は、チャンネル情報の送信が完了していないと判断した場合(ステップS12においてNO)、処理をステップS10に進める。
【0150】
ステップS16において、ゲートウェイ1001は、タイミング情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのタイミング情報の送信が完了したか否かを判断する。ゲートウェイ1001は、タイミング情報の送信が完了したと判断した場合(ステップS16においてYES)、ステップS18において、エネルギレベル情報を受信したチャンネルから決定したいチャンネルへと、ゲートウェイ1001自身もチャンネルを変更する。ゲートウェイ1001は、タイミング情報の送信が完了していないと判断した場合(ステップS16においてNO)、処理をステップS14に進める。
【0151】
[F−2.チャンネル手動切替モード]
図11は、チャンネル手動切替モードにおける、ゲートウェイ1001の処理のフローを表したフローチャートである。図11を参照して、ステップS102において、ゲートウェイ1001は、ゲートウェイ1001とルータとの間の通信エラーが発生したことに基づき、当該ルータからエネルギレベル情報を受信する。ステップS104において、ゲートウェイ1001は、各ルータから受信したエネルギレベル情報を表示部1103に表示する。ステップS106において、ゲートウェイ1001は、ユーザから、チャンネルを変更するための指示を受け付けたか否かを判断する。
【0152】
ゲートウェイ1001は、チャンネルを変更するための指示を受け付けたと判断した場合(ステップS106においてYES)、ステップS108において、変更タイミングを表したタイミング情報を、ネットワークZを構成する通信機器(ルータおよびスリーピー・エンドデバイス)毎に生成する。ゲートウェイ1001は、チャンネルを変更するための指示を受け付けていないと判断した場合(ステップS106においてNO)、処理をステップS104に進める。
【0153】
ステップS110において、ゲートウェイ1001は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、変更先のチャンネルを表したチャンネル情報を、ネットワークZを構成する各通信機器に順に送信する。ステップS112において、ゲートウェイ1001は、チャンネル情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのチャンネル情報の送信が完了したか否かを判断する。ゲートウェイ1001は、チャンネル情報の送信が完了したと判断した場合(ステップS112においてYES)、ステップS114において、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、タイミング情報を、ネットワークZを構成する各通信機器に順に送信する。ゲートウェイ1001は、チャンネル情報の送信が完了していないと判断した場合(ステップS112においてNO)、処理をステップS110に進める。
【0154】
ステップS116において、ゲートウェイ1001は、タイミング情報の送信が完了したか否かを判断する。つまり、ゲートウェイ1001は、ネットワークZを構成する全ての通信機器へのタイミング情報の送信が完了したか否かを判断する。ゲートウェイ1001は、タイミング情報の送信が完了したと判断した場合(ステップS116においてYES)、ステップS118において、エネルギレベル情報を受信したチャンネルから決定したいチャンネルへと、ゲートウェイ1001自身もチャンネルを変更する。ゲートウェイ1001は、タイミング情報の送信が完了していないと判断した場合(ステップS116においてNO)、処理をステップS114に進める。
【0155】
<G.ユーザインターフェイス>
図12は、ゲートウェイ1001における設定ツールを表示させるための選択画面を表した図である。なお、当該選択画面、後述するローカルノードについての設定画面(図13)、後述するリモードノードについての設定画面(図14)、およびネットワーク全体についての設定画面(図15)は、制御部1101(図4参照)により実現される画面である。
【0156】
図12を参照して、ゲートウェイ1001は、表示部1103に、ローカルノードについての設定画面を表示させるためのオブジェクト301と、リモートノードについての選択画面を表示させるためのオブジェクト302と、ネットワーク全体についての設定画面を表示させるためのオブジェクト303とを表示する。ユーザが、指等でオブジェクトを表示している領域を選択することにより、ゲートウェイ1001は、選択されたオブジェクトに対応した設定画面を表示部1103に表示させる。
【0157】
図13は、ローカルノードについての設定画面310を表した図である。つまり、図12において、オブジェクト301が選択された後の遷移画面である。「ローカルノード」とは、本実施の形態では、ゲートウェイ1001の無線RF内蔵通信コントローラ部1106(図4参照)を指している。
【0158】
図13を参照して、設定画面310には、「ローカルノードの情報表示」、「ローカルノードとの通信」、「デバイス状態」、「ジョイン許可状態」、「PanID(Personal Area Network IDentification)」、「論理チャンネル」の各項目が含まれる。また、設定画面310には、各々選択ボタンとして機能する3つのオブジェクト3101,3102,3103が含まれる。「ローカルノードの情報表示」の項目には、「IEEEアドレス」の項目と「論理タイプ」の項目とが含まれる。なお、図中において破線で囲まれた箇所は、テキストボックスである。
【0159】
ゲートウェイ1001の制御部1101は、設定画面310を表示する際に、ローカルノードである無線RF内蔵通信コントローラ部1106に、無線RF内蔵通信コントローラ部1106の状態を問合せする。当該問い合わせに基づき、設定画面の各項目の内容を更新する。以下、各項目について説明する。
【0160】
「論理タイプ」の項目は、ローカルノードが無線RF内蔵通信コントローラ部1106であるため、「コーディネータ」を表示している。また、ゲートウェイ1001の制御部1101は、無線RF内蔵通信コントローラ部1106と通信可能であるため、「ローカルノードとの通信」の項目には「通信可能」が表示される。さらに、ローカルノードがコーディネータとしての処理を開始しているため、制御部1101は、「デバイス状態」の項目に、「コーディネータとして開始しました」と表示する。また、制御部1101は、ゲートウェイ1001への参加を許可していない場合には、「ジョイン許可状態」の項目に「ジョイン禁止」を表示する。制御部1101は、「PanID」の項目に、ネットワークZのIDを表示する。制御部1101は、「論理チャンネル」の項目に、現在使用しているチャンネルを表示する。
【0161】
ユーザがオブジェクト3101を選択すれば、制御部1101は、ローカルノードへ問合せを行なうことにより、ローカルノード情報を更新する。ユーザがオブジェクト3102を選択すれば、無線RF内蔵通信コントローラ部1106は、ペアリングを開始する。この場合、無線RF内蔵通信コントローラ部1106は、予め定められた時間である60秒間、ジョイン許可状態となる。ユーザがオブジェクト3103を選択すれば、制御部1101は、ローカルノードを初期化する。
【0162】
図14は、リモートノードについての設定画面320を表した図である。つまり、図12において、オブジェクト302が選択された後の遷移画面である。「リモートノード」とは、本実施の形態では、ネットワークZに含まれる各通信機器(ルータおよびスリーピー・エンドデバイス)を指している。
【0163】
図14を参照して、設定画面320には、「リモートノードのリスト」の項目が含まれている。「リモートノードのリスト」の項目には、各リモートノードについての、識別子と、IEEEアドレスと、論理タイプと、最後に受信した時刻との情報が含まれる。また、リモートノードは、ラジオボタンにより選択可能となっている。たとえば、通信機器11,14の場合、論理タイプはルータとなる。また、通信機器12,13,15,16の場合、論理タイプはエンドデバイス(詳しくはスリーピー・エンドデバイス)となる。なお、「最後に受信した時刻」とは、ゲートウェイ1001の無線RF内蔵通信コントローラ部1106からデータを最後に受信した時刻を指している。なお、図中において破線で囲まれた箇所は、テキストボックスである。
【0164】
また、設定画面320には、各々選択ボタンとして機能する3つのオブジェクト3201,3202,3203が含まれる。ユーザがオブジェクト3201を選択すれば、ゲートウェイ1001は、リモートノードへ問合せを行なうことにより、全てのリモートノード情報を更新する。ユーザがオブジェクト3202を選択すれば、ゲートウェイ1001は、ラジオボタンにより選択された状態にあるリモートノードに対して、PING(Packet INternet Groper)を送信する。ユーザがオブジェクト3203を選択すれば、ゲートウェイ1001は、ラジオボタンで選択状態にあるリモートノードをネットワークZから除外する。ユーザがオブジェクト3204を選択すれば、ゲートウェイ1001は、ネットワークZを構成する全てのリモートノードに対してPINGを送信する。
【0165】
図15は、チャンネル自動切替モードにおける、ネットワーク全体についての設定画面331を表した図である。つまり、図12において、オブジェクト303が選択された後の遷移画面である。図15を参照して、設定画面331には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、3つのオブジェクト3303,3304,3305とを含む。オブジェクト3305は、ゲートウェイ1001の動作モードを、チャンネル自動切替モードからチャンネル手動切替モードに切り替えるためのボタンである。
【0166】
図中において、破線で囲まれた箇所はテキストボックスである。当該テキストボックスは、書き込み可能である。ゲートウェイ1001は、上述したように、自動的にチャンネルを切り替える構成であるため、設定画面331では、ユーザからのチャンネルの変更指示を受け付けない。
【0167】
図16は、チャンネル手動切替モードにおける、ネットワーク全体についての設定画面332を表した図である。つまり、図12において、オブジェクト303が選択された後の遷移画面である。図16を参照して、設定画面332には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、4つのオブジェクト3301,3303,3304,3306と、エネルギレベルを示した画像3309とを含む。オブジェクト3306は、ゲートウェイ1001の動作モードを、チャンネル自動切替モードからチャンネル手動切替モードに切り替えるためのボタンである。
【0168】
図中において、破線で囲まれた箇所は、書き込み可能なテキストボックスである。ゲートウェイ1001は、上述したように、手動でチャンネルを切り替える構成であるため、設定画面332では、テキストボックスに対する入力により、ユーザからのチャンネルの変更指示を受け付ける。このように、設定画面332は、オブジェクト3305の代わりにオブジェクト3306を備える点と、チャンネルの入力を受付可能である点と、エネルギレベルを示した画像3309とを備える点とにおいて、設定画面331(図15)と相違する。
【0169】
ユーザは、エネルギレベルを示した画像3309によって、各ノードから送られてきた各チャンネルのエネルギレベルを認識することができる。それゆえ、ユーザは、当該エネルギレベルを参照することにより、条件の良いチャンネルを選択可能となる。
【0170】
なお、エネルギレベルを示した画像3309の表示態様は、図16に示したものに限定されるものではなく、様々な表示態様を採ることができる。たとえば、スクロールバーを設け、ユーザからスクロール指示を受け付けることにより、全ての識別子のノードに関する11ch〜26chのエネルギレベルを表示するように、設定画面331を構成してもよい。また、エネルギレベルを示す画像3309を、設定画面331とは別の画面に表示するように、ゲートウェイ1001を構成してもよい。
【0171】
<H.ゲートウェイの機能的構成>
図17は、ゲートウェイ1001の機能ブロック図である。図17を参照して、ゲートウェイ1001は、通信部101と、チャンネル決定部102と、タイミング決定部103と、記憶部104と、表示制御部105と、表示部1103と、入力受付部107と、動作モード切替部109とを備える。
【0172】
動作モード切替部109は、入力受付部107を介して受け付けたユーザ指示に基づいて、ゲートウェイ1001の動作モードを、チャンネル自動切替モードとチャンネル手動切替モードとの間で切り替える。当該ユーザ指示は、具体的には、オブジェクト3305(図15)の選択、およびオブジェクト3306(図16)の選択である。
【0173】
[H−1.チャンネル自動切替モード]
(1)通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが発生したことに基づき、当該通信機器から、予め定められた複数の通信チャネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネル(現在用いているチャンネル)を用いて受信する。典型的には、通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが予め定められた回数発生したことに基づき、当該ルータからエネルギレベル情報を受信する。
【0174】
チャンネル決定部102は、エネルギレベル情報に基づき、上記複数のチャンネルの中から変更先となるチャンネルを決定する。通信部101は、エネルギレベル情報を受信したチャンネル(変更前のチャンネル)を用いたユニキャストによって、決定されたチャンネルへの変更指令(チャンネル変更コマンド)を、ネットワークZにおける各通信機器(ルータおよびスリーピー・エンドデバイス)に送信する。
【0175】
ところで、スリーピー・エンドデバイスは、大抵の期間はスリープ状態にある。また、チャンネルの変更を実行しようとする場合(つまり、周波数アジリティを実行しようとする場合)には、ネットワークにおける伝送路状況は悪化している。したがって、従来のようにチャンネル変更指令をブロードキャストする構成の場合には、起きているノードであっても当該チャンネル変更指令を受信できる可能性は低い。
【0176】
しかしながら、本実施の形態のように、チャンネル変更コマンドをユニキャストすることにより、チャンネル変更コマンドをブロードキャストする従来の構成に比べて、スリーピー・エンドデバイスが当該チャンネル変更指令を受信できる確率が大幅に向上する。それゆえ、スリーピー・エンドデバイスは、ゲートウェイ1001およびルータがチャンネルを変更する場合であっても、他のチャンネルをサーチする必要がなくなる。したがって、ゲートウェイ1001は、チャンネルを変更する場合にスリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0177】
以上のように、通信システムZは、上述したゲートウェイ1001の構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0178】
(2)変更指令は、上述したように、決定されたチャンネルを表したチャンネル情報と、決定された通信チャネルへの変更タイミングを表したタイミング情報とを含む。
【0179】
通信部101は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報を各通信機器に送信する。通信部101は、チャネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、タイミング情報を各通信機器に送信する。
【0180】
したがって、上述したように、ゲートウェイ1001は、スリーピー・エンドデバイスが親を見失うこと、およびスリーピー・エンドデバイスが変更先のチャンネルの通知を受信できないことを防止できる。
【0181】
(3)記憶部104は、タイミング情報を送信する順序を表した順序情報と、各通信装置の各々についてのチャンネルの変更タイミング(つまり、タイミング情報を受信してから設定時間T1,T2,T3,T4,T5、T6…で規定されるタイミング)を予め記憶している。なお、当該変更タイミングは、上述したように、式(4)等に基づく演算によって、予め算出された後、記憶部104に格納される。
【0182】
通信部101は、より詳しくは、記憶部104に記憶された変更タイミングに基づくタイミング情報を、上述した順序情報に示された順序で、各通信機器に送信する。
【0183】
(4)さらに詳しくは、記憶部104は、ゲートウェイ1001とルータである通信装置と間のユニキャストに対して予め設定された第1の時間(Tr)を表す第1の時間情報と、ゲートウェイ1001とスリーピー・エンドデバイスである通信装置との間のユニキャストに対して予め設定された第2の時間(Te)を表す第2の時間情報とを記憶している。また、記憶部104は、上述したTsについても記憶している。
【0184】
タイミング決定部103は、ルータの台数とスリーピー・エンドデバイスの台数と、順序情報と、第1の時間情報と、第2の時間情報とに基づき、各通信装置についての各々の変更タイミングを決定する。タイミング決定部103は、決定した各変更タイミングを、各通信機器についての各々の変更タイミングとして、記憶部104に記憶させる。
【0185】
[H−2.チャンネル手動切替モード]
通信部101は、上述したとおり、ルータである通信機器とゲートウェイ1001との間に通信エラーが発生したことに基づき、当該通信機器から、予め定められた複数の通信チャネルの各々のエネルギレベルを表したエネルギレベル情報を、複数のチャンネルにおける1つのチャンネル(現在用いているチャンネル)を用いて受信する。典型的には、通信部101は、ルータである通信機器とゲートウェイ1001との間に通信エラーが予め定められた回数発生したことに基づき、当該ルータからエネルギレベル情報を受信する。
【0186】
表示制御部105は、エネルギレベル情報を表示部1103に表示させる。エネルギレベルの表示形式は、特に限定されるものではない。典型的には、表示制御部105は、後述するログの「Energy Values」に示した16個の値を、ルータごとに区別して表示する(図16)。
【0187】
入力受付部107は、外部入力を受け付ける。入力受付部107は、たとえば、エネルギレベル情報が表示部1103に表示されたことに基づき、複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける。なお、外部入力は、操作部1102に対するユーザ操作に基づく入力である。
【0188】
通信部101は、エネルギレベル情報を受信したチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更指令を、ネットワークZ内の各通信機器(ルータおよびスリーピー・エンドデバイス)に送信する。
【0189】
なお、変更指令は、ゲートウェイ1001の場合と同様、チャンネル情報とタイミング情報とを含む。チャンネル情報とタイミング情報との送信の仕方は、図11のフローチャートに基づいて説明したので、ここでは説明を繰り返さない。
【0190】
チャンネル手動切替モードにおいても、チャンネル自動切替モードの場合と同様に、通信システムZは、上述したゲートウェイ1001の構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0191】
<I.エネルギレベルのデータ>
図18は、ゲートウェイ1001がエネルギレベルの通知(Mgmt_NWK_UPdate_notify)を受取ったときのログを表した図である。図18を参照して、中程の「Energy Values = {0xca,…(中略)…,0x56}」が、あるルータから送られてきたエネルギレベル情報である。エネルギレベル情報は、ZigBee(登録商標)では周波数が異なる16個のチャンネル11ch〜26chが用いられるため、各チャンネルに対応した16個のエネルギレベルを表した値を含む。エネルギレベルの値は0から255までの値をとり、値が大きいほどエネルギ(受信電力)の値が高いことを示している。TotalTransmissionsは送信回数を、TransmissionFailuresは送信失敗した回数を示している。
【0192】
また、下側の「Energy Values = {0x69,…(中略)…,0x2c}」が、別のルータから送られてきたエネルギレベル情報である。どのルータから受信したかはSrcAddrを見れば分かる。ここに送信元ノードのショートアドレスが示されている。
【0193】
ゲートウェイ1001は、チャンネル自動切替モードの場合には、このようなエネルギレベル情報に基づき、「(E−1−1)」で説明した処理を行なうことによって、チャンネルを変更すべきか否かと、チャンネルを変更する場合にはどのチャンネルに変更すべきかとを判断する。
【0194】
<J.実装例>
図19は、ゲートウェイ1001における実装方法を説明するための図である。つまり、図19は、ゲートウェイ1001におけるソフトウェア構造を表す図である。
【0195】
図19を参照して、無線RF内蔵通信コントローラ部1106は、設定アプリケーション1401と、機器制御ライブラリ1402と、Z−STACKモニタライブラリ1403と、UDP/IP1404と、Ethernet(登録商標)1405と、Ethernet(登録商標)1406と、UDP/IP(User Datagram Protocol / Internet Protocol)ポート12130と、Z−STACK/IPブリッジ1408と、Z−STACKモニタライブラリ1409とUART1410とを含む。
【0196】
Z−STACK/IPブリッジ1408は、UDP/IPポート12130を開いて、各アプリケーションからコマンドを受け付ける。Z−STACK/IPブリッジ1408は、受け取ったコマンドを、UART1410を経由して、ZigBee(登録商標)コーディネータ部1106に伝える。
【0197】
<K.変形例>
[K−1.第1の変形例]
上記においては、ゲートウェイ1001が、ブロードバンドルータ1002を介して、外部のネットワークであるインターネットに接続されている構成を例に挙げて説明した(図1)。しかしながら、ネットワークZにおいて、無線RF内蔵通信コントローラ部1106と制御部1101とを有する一方、外部のネットワークとの中継機能を有しない通信制御装置を、ゲートウェイ1001の代わりに用いてもよい。
【0198】
[K−2.第2の変形例]
上記においては、パーソナルエリアネットワークとしてZigBee(登録商標)を例に挙げて説明したが、これに限定されるものではない。パーソナルエリアネットワークとして、Z−Wave(登録商標)を用いることもできる。
【0199】
[K−3.第3の変形例]
上記においては、ゲートウェイ1001の動作モードをチャンネル自動切替モードとチャンネル手動切替モードのとの間で切替可能である構成を例に挙げて説明したが、これに限定されるものではない。ゲートウェイを、上記動作モードとしてチャンネル自動切替モードまたはチャンネル手動切替モードをのみを有する構成としてもよい。
【0200】
〔実施の形態2〕
実施の形態1においては、まず、ルータがエルギレベルをゲートウェイ1001に通知し、ゲートウェイ1001がエネルギレベルに基づいて自動的にチャンネルを変更する構成(自動切替)を説明した。次いで、ルータがエルギレベルをゲートウェイ1001に通知し、ゲートウェイ1001が、エネルギレベルを表示するとともに、ユーザの指示に基づいたチャンネルに変更する構成(手動切替)について説明した。
【0201】
つまり、実施の形態1では、周波数アジリティを部分的に実施しつつ、ネットワークマネージャが自動的にチャンネル変更する場合、または、ネットワークマネージャからユーザ(ネットワーク管理者)に通知し、ユーザ操作によってチャンネルを変更する場合について説明した。なお、実施の形態1のように、周波数アジリティを部分的に実施しておけば、チャンネルが干渉して通信エラーが多くなっている状態かどうか分かるという利点がある。
【0202】
本実施の形態では、周波数アジリティは直接関係なく、設定アプリケーションからユーザ操作(チャンネルの指定等)によってチャンネル変更をする構成について説明する。つまり、通信システム1が、実施の形態1のように周波数アジリティを実施しない構成について説明する。なお、以下では、主として、実施の形態1と異なる点について説明する。なお、説明の便宜上、実施の形態1のゲートウェイ1001,1001Aと区別するために、本実施の形態のゲートウェイを「ゲートウェイ1001B」と称する。
【0203】
ゲートウェイ1001Bは、ユーザによってチャンネルが指定される構成であるため、動作モードとして、チャンネル手動切替モードを備えるが、チャンネル自動切替モードは備えない。
【0204】
ゲートウェイ1001Bは、ユーザによってチャンネルが指定される構成であるため、実施の形態1におけるチャンネル手動切替モードと同様、上述した「(E−1−1.エネルギレベル情報に基づくチャンネル変更処理の概要)」の処理は行なわない。ゲートウェイ1001は、上述した「(E−1−2.チャンネル情報の送信処理)」と「(E−1−3.タイミング情報の送信処理)」とをこの順に行なう。また、ゲートウェイ1001Bは、タイマの設定例として、たとえば「(E−1−4.タイマの設定例)」で説明した手法を用いればよい。
【0205】
<L.制御構造>
図20は、本実施の形態におけるゲートウェイ1001Bの処理のフローを表したフローチャートである。図20を参照して、ゲートウェイ1001Bは、ステップS106〜ステップS118の処理を実行する。当該ステップS106〜ステップS118の処理は、図11で説明したステップS106〜ステップS118と同内容の処理である。ただし、図20では、ステップS102、S104がないため、ステップS106でNOの場合には、処理をステップS106に戻すことになる。
【0206】
<M.ユーザインターフェイス>
図21は、本実施の形態における、ネットワーク全体についての設定画面333を表した図である。具体的には、図12において、オブジェクト303が選択された後の遷移画面である。図21を参照して、設定画面333には、「ネットワークの管理」の項目と、「現在のネットワークの状況」の項目と、3つのオブジェクト3301,3303,3304とを含む。なお、図中において、破線で囲まれた箇所はテキストボックスである。当該テキストボックスは、書き込み可能である。
【0207】
ユーザがPanIDとチャンネルとを指定した上でオブジェクト3301を選択することにより、ゲートウェイ1001Bは、ネットワークZの全ての通信機器(ノード)を一括変更する。具体的には、ゲートウェイ1001は、NVRAM(Non Volatile Random Access Memory)コンフィグ情報を書き換えて、リセットする。また、ゲートウェイ1001Bは、一括変更を実行する前に、ダイアログボックスを設定画面333内に表示することにより、ユーザに承認を求める。また、初期値は、ローカルノードで取得した値と同じとする。
【0208】
<N.ゲートウェイの機能的構成>
図22は、ゲートウェイ1001Bの機能ブロック図である。図22を参照して、ゲートウェイ1001Bは、通信部101と、タイミング決定部103と、記憶部104と、表示制御部105と、表示部1103と、入力受付部107とを備える。つまり、ゲートウェイ1001Bは、チャンネル決定部102と動作モード切替部109とを備えていない点において、実施の形態1のゲートウェイ1001と異なる(図17参照)。
【0209】
通信部101は、予め定められた複数のチャンネルの1つを用いてルータである通信機器と通信する。入力受付部107は、当該複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける。通信部101は、変更前のチャンネルを用いたユニキャストによって、指定されたチャンネルへの変更指令を、各ルータおよびスリーピー・エンドデバイスに送信する。
【0210】
詳しくは、上記変更指令は、指定されたチャンネルを表したチャンネル情報と、指定されたチャンネルへの変更タイミングを表したタイミング情報とを含んでいる。変更タイミングは、タイミング情報を受信したときからの時間として規定され、かつ各ルータとスリーピー・エンドデバイスとで個別に設定されている。
【0211】
通信部101は、変更前のチャンネルを用いたユニキャストによって、チャンネル情報を各ルータおよびスリーピー・エンドデバイスに送信する。通信部101は、チャンネル情報の送信の後に、変更前のチャンネルを用いたユニキャストによって、タイミング情報を各ルータおよびスリーピー・エンドデバイスに送信する。
【0212】
以上の構成によって、通信システムZは、実施の形態1と同様に、上述したゲートウェイ1001Bの構成によって、ネットワークにおけるチャンネルを変更する場合にネットワーク内の全てのノードに対して確実にチャンネル変更を指示すること、および、スリーピー・エンドデバイスにかかる負荷を低減可能となる。
【0213】
なお、本実施の形態においても、実施の形態1で述べた変形例([K−1.第1の変形例]〜[K−3.第3の変形例])を適用可能である。
【0214】
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0215】
11〜16 通信機器、101 通信部、102 チャンネル決定部、103 タイミング決定部、104,104A 記憶部、105 表示制御部、107 入力受付部、108 通信時間測定部、109 動作モード切替部、310,320,331,332,333 設定画面、1001,1001A ゲートウェイ、1002 ブロードバンドルータ、1004 消費電力測定器、1005 エアコン、1006 冷蔵庫、1007 洗濯乾燥機、1008 各種センサ、1101,1501 制御部、1102,1502 操作部、1103 表示部、1104 高速通信インターフェイス部、1105,1505,2104 電源部、1106,1506,2120 無線RF内蔵通信コントローラ部、1107,1507,2107 アンテナ、1161,2121 CPU、1162,2122 ROM、1163,2123 RAM、1164,2124 GPIO、1165,2125 無線RF部、1403,1409 Z−STACKモニタライブラリ、1404 UDP/IP、1408 Z−STACK/IPブリッジ、1401 UART、1504 センサ部、1508 制御対象、2101 ソケット、2102 プラグ、2103 シャント抵抗、2106 設定ボタン、2110 電力センサ部、E,Z ネットワーク、CM 低速無線通信モジュール。
【特許請求の範囲】
【請求項1】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項2】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
予め定められた複数のチャンネルの1つを用いて前記ルータと通信する通信手段と、
前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項3】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報をディスプレイに表示させる表示制御手段と、
前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項4】
前記チャンネル情報の通信に要した時間を測定する測定手段と、
前記測定された時間に基づき、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングを決定するタイミング決定手段とをさらに備える、請求項1から3のいずれか1項に記載の通信制御装置。
【請求項5】
前記タイミング情報を送信する順序を表した順序情報と、前記ルータと、前記エンドデバイスとについての各々の前記変更タイミングを予め記憶した記憶手段をさらに備え、
前記通信手段は、前記記憶された変更タイミングに基づく前記タイミング情報を、前記順序情報に示された順序で、前記ルータと前記エンドデバイスとに送信する、請求項1から3のいずれか1項に記載の通信制御装置。
【請求項6】
前記記憶手段は、前記通信制御装置と前記ルータと間のユニキャストに対して予め設定された第1の時間を表す第1の時間情報と、前記通信制御装置と前記エンドデバイスとの間のユニキャストに対して予め設定された第2の時間を表す第2の時間情報とをさらに記憶しており、
前記通信制御装置は、
前記ルータと前記エンドデバイスとの台数と、前記順序情報と、前記第1の時間情報と、前記第2の時間情報とに基づき、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングを決定するタイミング決定手段をさらに備え、
前記タイミング決定手段は、前記決定した各変更タイミングを、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングとして、前記記憶手段に記憶させる、請求項5に記載の通信制御装置。
【請求項7】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記ルータは、前記通信制御装置との間の通信エラーが発生したことに基づき、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて、前記通信制御装置に送信し、
前記通信制御装置は、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、前記変更指令に基づき、前記通信制御装置とのチャンネルを、前記変更前のチャンネルから前記決定されたチャンネルに変更し、
前記通信制御装置は、前記変更指令を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記エネルギレベル情報を受信したチャンネルから前記決定されたチャンネルに変更する、ネットワークシステム。
【請求項8】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記通信制御装置は、
予め定められた複数のチャンネルの1つを用いて前記ルータと通信する通信手段と、
前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、
前記チャンネル情報と前記タイミング情報とを受信し、
前記通信制御装置とのチャンネルを、前記変更前のチャンネルから、前記タイミング情報に示された変更タイミングで前記チャンネル情報に示されたチャンネルに変更し、
前記通信制御装置は、前記タイミング情報を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記変更前のチャンネルから前記指定されたチャンネルに変更する、ネットワークシステム。
【請求項9】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記通信制御装置は、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報をディスプレイに表示させる表示制御手段と、
前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、前記変更指令に基づき、前記通信制御装置とのチャンネルを、前記変更前のチャンネルから前記決定されたチャンネルに変更し、
前記通信制御装置は、前記変更指令を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記エネルギレベル情報を受信したチャンネルから前記指定されたチャンネルに変更する、ネットワークシステム。
【請求項10】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、
前記通信制御装置が、前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するステップと、
前記通信制御装置が、前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項11】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、予め定められた複数のチャンネルの1つを用いて前記ルータと通信するステップと、
前記通信制御装置が、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、
前記通信制御装置が、変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項12】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、
前記通信制御装置が、前記エネルギレベル情報をディスプレイに表示させるステップと、
前記通信制御装置が、前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、
前記通信制御装置が、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項13】
請求項10から12のいずれか1項に記載の通信制御方法を前記通信制御装置に実行させるためのプログラム。
【請求項1】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項2】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
予め定められた複数のチャンネルの1つを用いて前記ルータと通信する通信手段と、
前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項3】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置であって、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報をディスプレイに表示させる表示制御手段と、
前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信する、通信制御装置。
【請求項4】
前記チャンネル情報の通信に要した時間を測定する測定手段と、
前記測定された時間に基づき、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングを決定するタイミング決定手段とをさらに備える、請求項1から3のいずれか1項に記載の通信制御装置。
【請求項5】
前記タイミング情報を送信する順序を表した順序情報と、前記ルータと、前記エンドデバイスとについての各々の前記変更タイミングを予め記憶した記憶手段をさらに備え、
前記通信手段は、前記記憶された変更タイミングに基づく前記タイミング情報を、前記順序情報に示された順序で、前記ルータと前記エンドデバイスとに送信する、請求項1から3のいずれか1項に記載の通信制御装置。
【請求項6】
前記記憶手段は、前記通信制御装置と前記ルータと間のユニキャストに対して予め設定された第1の時間を表す第1の時間情報と、前記通信制御装置と前記エンドデバイスとの間のユニキャストに対して予め設定された第2の時間を表す第2の時間情報とをさらに記憶しており、
前記通信制御装置は、
前記ルータと前記エンドデバイスとの台数と、前記順序情報と、前記第1の時間情報と、前記第2の時間情報とに基づき、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングを決定するタイミング決定手段をさらに備え、
前記タイミング決定手段は、前記決定した各変更タイミングを、前記ルータと前記エンドデバイスとについての各々の前記変更タイミングとして、前記記憶手段に記憶させる、請求項5に記載の通信制御装置。
【請求項7】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記ルータは、前記通信制御装置との間の通信エラーが発生したことに基づき、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて、前記通信制御装置に送信し、
前記通信制御装置は、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するチャンネル決定手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、前記変更指令に基づき、前記通信制御装置とのチャンネルを、前記変更前のチャンネルから前記決定されたチャンネルに変更し、
前記通信制御装置は、前記変更指令を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記エネルギレベル情報を受信したチャンネルから前記決定されたチャンネルに変更する、ネットワークシステム。
【請求項8】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記通信制御装置は、
予め定められた複数のチャンネルの1つを用いて前記ルータと通信する通信手段と、
前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、
前記チャンネル情報と前記タイミング情報とを受信し、
前記通信制御装置とのチャンネルを、前記変更前のチャンネルから、前記タイミング情報に示された変更タイミングで前記チャンネル情報に示されたチャンネルに変更し、
前記通信制御装置は、前記タイミング情報を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記変更前のチャンネルから前記指定されたチャンネルに変更する、ネットワークシステム。
【請求項9】
ルータと、前記ルータを親とするエンドデバイスと、前記ルータおよび前記エンドデバイスの動作を制御する通信制御装置を備えたネットワークシステムであって、
前記通信制御装置は、
前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信する通信手段と、
前記エネルギレベル情報をディスプレイに表示させる表示制御手段と、
前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付ける受付手段とを備え、
前記通信手段は、
前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信し、
前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信し、
前記ルータおよび前記エンドデバイスは、前記変更指令に基づき、前記通信制御装置とのチャンネルを、前記変更前のチャンネルから前記決定されたチャンネルに変更し、
前記通信制御装置は、前記変更指令を送信した後、前記ルータおよび前記エンドデバイスとのチャンネルを、前記エネルギレベル情報を受信したチャンネルから前記指定されたチャンネルに変更する、ネットワークシステム。
【請求項10】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、
前記通信制御装置が、前記エネルギレベル情報に基づき、前記複数のチャンネルの中から変更先となるチャンネルを決定するステップと、
前記通信制御装置が、前記変更前のチャンネルを用いたユニキャストによって、前記チャンネル情報を前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項11】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、予め定められた複数のチャンネルの1つを用いて前記ルータと通信するステップと、
前記通信制御装置が、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、
前記通信制御装置が、変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項12】
ルータとエンドデバイスとを備えたネットワークシステムを管理する通信制御装置における通信制御方法であって、
前記通信制御装置が、前記ルータと前記通信制御装置との間の通信エラーが発生したことに基づき、当該ルータから、予め定められた複数のチャンネルの各々のエネルギレベルを表したエネルギレベル情報を、前記複数のチャンネルにおける1つのチャンネルを用いて受信するステップと、
前記通信制御装置が、前記エネルギレベル情報をディスプレイに表示させるステップと、
前記通信制御装置が、前記エネルギレベル情報が表示されたことに基づき、前記複数のチャンネルの中から変更先となるチャンネルを指定する外部入力を受け付けるステップと、
前記通信制御装置が、前記変更前のチャンネルを用いたユニキャストによって、前記指定されたチャンネルを表したチャンネル情報を、前記ルータおよび前記エンドデバイスに送信するステップと、
前記通信制御装置が、前記チャンネル情報の送信の後に、前記変更前のチャンネルを用いたユニキャストによって、前記決定されたチャンネルへの変更タイミングを表したタイミング情報を、前記ルータおよび前記エンドデバイスに送信するステップとを備える、通信制御方法。
【請求項13】
請求項10から12のいずれか1項に記載の通信制御方法を前記通信制御装置に実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2013−46359(P2013−46359A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−184910(P2011−184910)
【出願日】平成23年8月26日(2011.8.26)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願日】平成23年8月26日(2011.8.26)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】
[ Back to top ]