以下、本発明の例示的な実施形態を図面に基づいて詳細に説明する。
−システムの概要−
図1は、本発明の例示的実施形態を用いたネットワークシステム(以下、単に「システム」ともいう)100の概略図である。システム100は、無線アドホックネットワークである。このシステム100は、近接する小型無線端末が自律的にネットワークを構築するよう構成される。システム100は、複数のノード装置110,110,…と、複数のユーザ機器120,120,…とを備えている。
複数のユーザ機器120,120,…は、PC(パーソナルコンピュータ)120Aと、計測機器120B,120B,…とを含み得る。PC120Aはマスタ機器として機能し、計測機器120B,120B,…はスレーブ機器として機能する。つまり、PC120Aが、計測機器120B,120B,…を一方的に制御する。以下、各ユーザ機器を区別しないときには、単に、「ユーザ機器120」と称する。
計測機器120Bは、各種の物理量(温度、湿度、電流、電圧、電力、水分量、EC(Electric Conductivity)値、pH等)を計測・検出するものであって、任意の適切な計測機器であり得る。例えば、計測機器120Bは、土壌の温度を計測するサーミスタであり得る。計測機器120Bは、PC120Aからの電文を受け取って、該電文に応じた様々な処理を実行する。例えば、計測機器120Bは、要求電文を受け取ったときには、該要求電文に応じた応答電文を返信するように構成されている。
複数のノード装置110,110,…は、PC120Aに接続された基地局ノード装置110Aと、基地局ノード装置110Aに無線接続される複数の子ノード装置110B,110B,…とを含み得る。尚、各ノード装置を区別しないときには、単に、「ノード装置110」と称する。
各ノード装置110は、固有のノードIDを有している。基地局ノード装置110AのノードIDは、「0」であり、子ノード装置110BのノードIDは、「0」以外の数字である。また、各計測機器120Bも、固有の機器IDを有している。以下、特定のノードIDの子ノード装置110Bについて言及するときには、参照符号「110B」の後にノードIDを括弧書きで付す。
子ノード装置110B,110B,…は、ユーザ機器120に接続されたもの(例えば、子ノード装置110B(10))、ユーザ機器120を内蔵したもの(例えば、子ノード装置110B(9))、ユーザ機器120に接続されず内蔵もせず他のノード装置110の無線通信の中継のみを行うもの(例えば、子ノード装置110B(11))を含み得る。
複数のノード装置110,110間は、無線で結合される。このノード装置110,110間の無線リンクは、例えば、2.4GHz帯を用いたIEEE802.15.4に準拠する短距離無線ネットワークであり得る。このIEEE802.15.4は、PAN(Personal Area Network)又はWPAN(Wireless Personal Area Network)と呼ばれる無線通信規格の一つであり、低コスト・低消費電力で、高い信頼性とセキュリティを持つ。また、無線リンクは、上述の特定の無線ネットワークに限定されず、典型的にはパケットの形で情報をやりとりできる任意の適切なネットワークであり得る。
ノード装置110は、自動中継機能を有し、通信環境を察知して自律的にネットワークを構成し得る。例示的なネットワークは、真メッシュであり、ホップ数も実質的に無制限である。換言すれば本発明の実施形態は、マルチホップの無線ネットワークを使用可能である。こうして、一つのノード装置110を一つの無線端末として、無線アドホックネットワークが構築される。
より詳しくは、ノード装置110は、電源がオンされると、ルーティングを開始する。各ノード装置110は、隣接するノード装置110にビーコンメッセージ(ルーティングパケットとも呼ばれる)を送信する等して、通信状態が良好なノード装置110との間で通信経路を構築する。各ノード装置110は、電源をオンにした直後だけでなく、定期的に上記ビーコンメッセージを送信して、通信状態が良好な通信経路を更新している。
ノード装置110は、基板上に取り付けられた、半導体素子を含む回路要素群によって典型的には実現され得る。典型的には、ノード装置110は、ユーザ機器からのアナログ信号、及び無線ネットワークのための高周波信号を扱うアナログ回路と、MCU(Micro Controller Unit)を主要素とするデジタル回路との組み合わせによって実現され得る。
ノード装置110の制御は、典型的にはソフトウェアによって実現され得る。すなわち、ノード装置110の制御は、典型的にはコンピュータで読み取り可能な媒体に記憶されたソフトウェアによって実現され得る。コンピュータで読み取り可能な媒体には、ハードディスクドライブ、半導体メモリ等がある。代替として、ノード装置110の制御は、ソフトウェア及びハードウェアの組み合わせ、又はハードウェアのみによって実現され得る。
ノード装置110は、ネットワーク設定(例えば、通信仕様やプロトコル仕様)を適宜設定することによって、様々な種類のユーザ機器120,120,…に対応可能(即ち、接続可能且つ通信可能)に構成されている。具体的には、ノード装置110は、各種の設定パラメータを有しており、これらの設定パラメータを変更することによって、各種のユーザ機器120と通信が可能となるように構成されている。設定パラメータには、ユーザ機器120の通信仕様に関する通信パラメータと、ユーザ機器120のプロトコル仕様に関するプロトコルパラメータとが含まれる。通信パラメータには、ボーレート(4800bps/9600bps/19200bps/…)、データビット(8ビット/7ビット)、パリティ(なし/奇数/偶数)、ストップビット(1ビット/2ビット)等が含まれる。プロトコルパラメータには、スタートコード(01〜FF)、エンドコード(01〜FF)、エンドコードからパケット終端までのオフセット(0〜9)、先頭から送信先アドレスまでのオフセット(1〜99)、送信先アドレスの長さ(0〜6)、送信先アドレスの表現形式(10進ASCII/16進ASCII/LEバイナリ/BEバイナリ)等が含まれる。
典型的には、計測機器120Bは、子ノード装置110Bに有線で接続される。子ノード装置110B及び計測機器120Bは、共通の通信規格(本実施形態では、RS485)のインタフェースを有している。すなわち、計測機器120Bは、RS485ケーブルを介して子ノード装置110Bに接続されている。尚、通信規格は、RS485に限られるものではなく、RS422、RS232C、UART(Universal Asynchronous Receiver Transmitter)等であってもよい。また、計測機器120Bは、Bluetooth(登録商標)やミリ波通信等の無線通信で子ノード装置110Bに接続することも可能である。
尚、PC120Aは、計測機器120Bの通信規格に対応させるべく、基地局ノード装置110Aと、USB−RS485コンバータを介して有線で接続される。基地局ノード装置110Aに接続されるユーザ機器120が、他のユーザ機器120と共通の通信規格を本来的に有する場合には、USB−RS485コンバータのような変換装置をユーザ機器120に設ける必要はない。
また、一つの無線ネットワークを構築しているノード装置110,110,…に接続されたPC120A及び計測機器120B,120B,…は、共通のプロトコルを有している。そのため、PC120A及び計測機器120B,120B,…は、互いに電文のやりとりを行うことができる。
詳しくは、PC120Aは、計測機器120Bに対する予め設定された種々の電文を出力する。PC120Aからの電文は、ノード装置110,110,…で構築された無線ネットワークを介して、計測機器120Bへ送信される。また、PC120Aは、ノード装置110,110,…で構築された無線ネットワークを介して、計測機器120Bからの応答電文を受信する。
ノード装置110は、電文を送信するときには、該電文を含むパケットを生成し、該パケットを変調して送信する。また、ノード装置110は、パケットを受信したときには、該パケットを復調して、該パケットから電文を読み出す。ノード装置110の無線信号の符号化及び変調・復調のための方式には様々なものがある。本実施形態では、上述のIEEE802.15.4に準拠した方式が用いられる。
PC120Aは、例えば、GUI(Graphical User Interface)を備えるソフトウェアを用いて、計測機器120Bから受け取られたデータを視覚的に表示したり、統計的に処理したりできる。そのようなソフトウェアは、例えば通信状態の確認、データの数値表示、グラフ表示、値の分布カラーマッピング、データの記録、データのエクスポート、端末設定の変更等を行うことができる。
ネットワークシステム100はクラウド環境に適用することができる。図2は、図1のネットワークシステム100を含むクラウドシステム200の概略図である。クラウドシステム200は、ネットワークシステム100と、クラウドストレージ201とを備えている。尚、図1のネットワークシステム100ではPC120Aと基地局ノード装置110Aとが分離されているが、図2のクラウドシステム200ではPC120Aと基地局ノード装置110Aとが一体化されている。より詳細には、基地局ノード装置110AにPC120Aが内蔵されている。ただし、基地局ノード装置110Aに内蔵されたPC120Aは、計測機器120Bからデータを収集し、当該収集したデータをクラウドストレージ201へアップロードする機能を備えていればよく、当該収集したデータを視覚的に表示したり、統計的に処理したりする機能を有する必要はない。クラウドストレージ201にはデータ処理用の別のPC202が有線又は無線により接続される。当該PC202は、クラウドストレージ201に蓄積された計測機器120Bのデータを適宜取得して、例えば、上述したGUIを備えるソフトウェアを用いて、当該取得したデータを視覚的に表示したり、統計的に処理したりすることができる。
−ノード装置のハードウェア構成−
図3は、本発明の例示的実施形態のために用いられるノード装置110のブロック図である。
ノード装置110は、RF(Radio Frequency)ユニット410及びアンテナ430を備える。RFユニット410には、ユーザ機器120からのデータが入力される。RFユニット410は、ユーザ機器120が出力したデータを無線信号に変換して、アンテナ430から他のノード装置110、例えば上流ノード(基地局ノード装置110A等)へ送信する。
RFユニット410は、インタフェース440、電源445、制御部450、ROM(Read Only Memory)453、RAM(Random Access Memory)454、タイマ456、及びRFインタフェース460を有する。
制御部450は、MCU451と、無線通信部452とを有している。MCU451と無線通信部452とは、1チップで構成されている。
さらに詳しくは、MCU451は、主として演算機能を司るコア451aと、UART451bと、SPI(Serial Peripheral Interface)451cと、I2C(Inter-Integrated Circuit)451dとを有する。UART451b、SPI451c及びI2C451dは、入出力部を構成している。MCU451は、ノード装置110の機能を実現するのに用いられるマイクロプロセッサである。MCU451は、ユーザ機器120と通信を行う際には、UART451b、SPI451c及びI2C451dを介して有線通信を行う。MCU451は、ROM453、RAM454、及びタイマ456などの周辺素子をその中に含んでもよい。
UART451bは、調歩同期方式によるシリアル信号をパラレル信号に変換したり、その逆方向の変換を行うための集積回路である。UART451bは、インタフェース440に接続されている。
SPI451c及びI2C451dはそれぞれ、シリアルバスの一種であり、インタフェース440に接続されている。
無線通信部452は、MCU451からのデータを他のノード装置110へ送る応答パケットに変換したり、他のノード装置110から受け取られた要求パケットをデータに変換したりする。RFインタフェース460は、無線通信部452から出力されたパケットをRF信号に変換し、アンテナ430に出力したり、アンテナ430で受け取られたRF信号からパケットを再生し、無線通信部452に出力したりする。
無線通信部452及びRFインタフェース460は、他のノード装置110と無線通信を行うための必須の要素である。換言すると、他のノード装置110と無線通信を行わないのであれば、無線通信部452及びRFインタフェース460は休止させることができる。このため、無線通信部452及びRFインタフェース460は、MCU451及びインタフェース440とは独立して動作/休止の制御ができるように構成されている。
インタフェース440は、各種の入出力ポートを備えている。例えば、インタフェース440は、RS485用、SPI用及びI2C用の入出力ポートを有している。また、インタフェース440は、ユーザ機器120によって出力された信号を制御部450が処理できる適当な信号(例えば10ビットデジタル信号)に変換したり、制御部450から出力される信号をユーザ機器120が処理できる適当な信号に変換したりする。例えば、インタフェース440は、UART451bからの信号をRS485の信号レベルに変換したり、その逆に変換したりするICを含む。すなわち、インタフェース440は、ユーザ機器120の通信規格と共通のインタフェースである。例えば、インタフェース440は、RS485インタフェースである。また、ノード装置110がアナログ信号を出力するユーザ機器120を対象とする場合には、インタフェース440は、AD変換器を含む。このように、ノード装置110は、RS485の通信規格、SPIの通信規格、及びI2Cの通信規格の何れでも通信可能であり、何れかの通信規格がユーザ機器120の通信規格に応じて適宜選択される。
電源445は、RFユニット410の各機能ブロックに電力を供給する。電源445は、例えば直流3Vを供給するリチウム電池や乾電池であり得る。尚、電源445がリチウム電池等の二次電池である場合、電源445はさらにコンバータを内蔵していてもよく、図略の太陽電池ユニットから電力の供給を受けて当該二次電池を充電することができる。
ROM453又はRAM454は、ノード装置110の機能を実現するのに必要なプログラム及びデータを記憶している。また、RAM454は、ユーザ機器120から取得したデータを一時的に保持する。RAM454に保持されたデータは、必要に応じてMCU451により読み出される。
タイマ456は、ノード装置110のローカル時刻を計時し、各種タイミングで各種トリガを発する。後述するように、タイマ456から発せられるトリガは、ノード装置110(特に子ノード装置110B)を間欠動作させるのに使用される。
尚、機能ブロック群の一部又は全ては、適宜、結合されることによって一体化されて実現されてもよい。例えば、RFユニット410は、ハイブリッドIC(集積回路)として実現されてもよい。さらには、RFユニット410及びアンテナ430を一つの基板に一体化して実現されてもよい。
−子ノード装置の間欠動作−
以下に、子ノード装置110Bの間欠動作について説明する。
子ノード装置110Bは商用電源からの電力供給が困難な場所に設置されることがある。したがって、電源445の消耗をセーブして電源445だけでできるだけ長い期間駆動できるようにするために、子ノード装置110Bは、他のノード装置110と無線通信を行うとき及び計測機器120Bから計測データを取得するときにのみ動作し、それ以外の期間は休止するといった間欠動作を行う。
図4は、子ノード装置110Bの間欠動作を説明するタイムチャートである。図4中の「状態」は、子ノード装置110Bの動作状態を表す。子ノード装置110Bの動作状態としてスリープ状態とアウェイク状態(より詳細には第1アウェイク状態及び第2アウェイク状態)とがある。「MCU」は、MCU451及びインタフェース440の動作状態を表す。「MCUオン」は、MCU451及びインタフェース440が通常動作している状態を表し、「MCUオフ」は、MCU451及びインタフェース440が休止している状態を表す。「RF」は、無線通信部452及びRFインタフェース460の動作状態を表す。「RFオン」は、無線通信部452及びRFインタフェース460が通常動作している状態を表し、「RFオフ」は、無線通信部452及びRFインタフェース460が休止している状態を表す。「第1トリガ」及び「第2トリガ」として示した上矢印は、タイマ456から発せられるトリガを表す。「スリープ命令」として示した上矢印は、基地局ノード装置110Aからブロードキャストされるスリープ命令を表す。
子ノード装置110Bは、スリープ状態とアウェイク状態とを交互に切り替えることで間欠動作を行う。スリープ状態は、MCU451、インタフェース440、無線通信部452、RFインタフェース460等の消費電力の大きい機能ブロックへの電力供給を停止して当該機能ブロックを休止させ、タイマ456及びRAM454等の必要最小限の機能ブロックにのみ電力を供給する状態をいう。スリープ状態では子ノード装置110Bの消費電力が最小となり、電源445の消耗をセーブすることができる。
アウェイク状態には第1アウェイク状態と第2アウェイク状態とがある。第1アウェイク状態は、子ノード装置110Bにおける全ての機能ブロックに電力を供給して全ての機能ブロックを通常動作させる状態をいう。第1アウェイク状態では、子ノード装置110Bは、他のノード装置110と無線通信を行うことができる。尚、第1アウェイク状態における子ノード装置110Bの消費電力は最も大きい。
第2アウェイク状態は、無線通信部452及びRFインタフェース460等の無線通信に係る機能ブロックへの電力供給を停止して当該機能ブロックを休止させ、MCU451及びインタフェース440を含むそれ以外の機能ブロックに電力を供給して当該機能ブロックを通常動作させる状態をいう。第2アウェイク状態では、子ノード装置110Bは、他のノード装置110と無線通信を行うことはできないが、計測機器120Bから計測データを取得し、当該計測データをRAM454に記憶することができる。尚、第2アウェイク状態における子ノード装置110Bの消費電力は、第1アウェイク状態のときよりも小さい。
子ノード装置110Bは、タイマ456から発せられる第1トリガによりスリープ状態から第1アウェイク状態に遷移する。すなわち、子ノード装置110Bは、タイマ456から第1トリガが発せられると、MCU451、インタフェース440、無線通信部452、及びRFインタフェース460への電力供給を再開し、これら機能ブロックを通常動作させる。第1トリガは、所定のインターバルで発せられる。図4ではあるインターバルT[1]及びその次のインターバルT[2]を例示しているが、T[1]とT[2]は等しく、例えば1分である。ここで、各子ノード装置110Bのタイマ456は、基地局ノード装置110Aのタイマ456と定期的に同期している。このため、全ての子ノード装置110Bのタイマ456は同じローカル時刻を計時している。したがって、全ての子ノード装置110Bにおいてある同一の時刻にタイマ456から第1トリガが発せられる。これにより、全ての子ノード装置110Bは、所定のインターバルでスリープ状態から第1アウェイク状態に一斉に遷移して無線通信を行うことができる。
一方、全ての子ノード装置110Bは、基地局ノード装置110Aからブロードキャストされたスリープ命令を受信することで第1アウェイク状態からスリープ状態に一斉に遷移する。すなわち、子ノード装置110Bは、当該スリープ命令を受信すると、MCU451、インタフェース440、無線通信部452、及びRFインタフェース460への電力供給を停止し、これら機能ブロックを休止させる。基地局ノード装置110Aは、第1トリガの発生タイミングから所定期間Tmax(例えば、10秒)以内にスリープ命令をブロードキャストするが、当該スリープ命令の発生タイミングは一定ではない。図4の例では、インターバルT[1]では当該インターバルの開始から所定期間Tmaxよりも短い時間t[1]でスリープ命令がブロードキャストされるが、インターバルT[2]では当該インターバルの開始から所定期間Tmaxに等しい時間t[2]後にスリープ命令がブロードキャストされる。尚、スリープ命令のブロードキャストのタイミングについて後述する。
子ノード装置110Bは、タイマ456から発せられる第2トリガによりスリープ状態から第2アウェイク状態に遷移する。すなわち、子ノード装置110Bは、タイマ456から第2トリガが発せられると、MCU451及びインタフェース440への電力供給を再開し、これら機能ブロックを通常動作させる。第2トリガは、第1トリガのインターバルの合間に発せられる。例えば、第1トリガのインターバルが1分の場合、第2トリガは、第1トリガの発生から30秒後に発せられる。すなわち、全ての子ノード装置110Bは、所定のインターバルでスリープ状態から第2アウェイク状態に一斉に遷移する。
−計測データの取得−
上述したように、計測機器120Bに接続された又は計測機器120Bを内蔵した子ノード装置110Bは、第2アウェイク状態に遷移すると該計測機器120Bから計測データを取得し、当該計測データをRAM454に記憶する。具体的には、MCU451がインタフェース440を通じて該インタフェース440に接続された計測機器120Bから計測データを順に取得し、タイマ456のローカル時刻とともに当該計測データをRAM454に記憶する。RAM454には計測機器120Bの計測データを記憶するための専用の領域(レジスタ)があり、各計測機器120Bの計測データは各レジスタに記憶される。
インタフェース440に接続された全ての計測機器120Bから計測データを取得し終えると、子ノード装置110Bは、MCU451及びインタフェース440への電力供給を停止し、これら機能ブロックを休止させてスリープ状態に遷移する。したがって、複数の計測機器120Bが接続されている子ノード装置110B(1)や子ノード装置110B(2)と比較して、1個の計測機器120Bしか接続又は内蔵されていない子ノード装置110B(9)や子ノード装置110B(10)はより早くスリープ状態に遷移することができる。尚、計測機器120Bに接続される又は計測機器120Bを内蔵する子ノード装置110B(1)等は、特許請求の範囲に言う「第1子ノード装置」に相当する。
−計測データの収集−
次に、PC120Aによる計測機器120Bの計測データの収集について説明する。
PC120Aは、計測機器120Bにより計測され、各子ノード装置110Bのメモリ454に保持されている計測データを収集する。例えば、PC120Aは、子ノード装置110B(10)へ計測機器120B(10)の計測データを要求する要求コマンドを生成し、該要求コマンドを基地局ノード装置110Aへ送信する。基地局ノード装置110Aは、要求コマンドを含む要求パケットを生成し、該要求パケットを送信する。基地局ノード装置110Aから送信された要求パケットは、基地局ノード装置110Aから子ノード装置110B(10)に直接到達する。子ノード装置110B(10)は、パケットのペイロードデータの中から要求コマンドを読み出して当該要求コマンドを解釈すると、RAM454から計測機器120B(10)の計測データ及びその計測時刻情報を読み出して応答パケットを生成し、該応答パケットを基地局ノード装置110Aへ送信する。応答パケットは、要求パケットとは逆の流れで、基地局ノード装置110Aまで到達する。基地局ノード装置110Aは、応答パケットのペイロードデータの中から応答コマンドを読み出し、該応答コマンドをPC120Aに有線で送信する。PC120Aは、応答コマンドを受信すると、該応答コマンドを復号化して、計測機器120B(10)の計測データ及びその計測時刻情報を得る。
また、例えば、PC120Aは、子ノード装置110B(1)へ計測機器120B(1)〜(3)の計測データを要求する要求コマンドを生成し、該要求コマンドを基地局ノード装置110Aへ送信する。基地局ノード装置110Aは、要求コマンドを含む要求パケットを生成し、該要求パケットを送信する。基地局ノード装置110Aから送信された要求パケットは、子ノード装置110B(10)及び子ノード装置110B(9)を介して子ノード装置110B(1)に到達する。すなわち、子ノード装置110B(10)は、基地局ノード装置110Aと子ノード装置110B(10)との間の無線通信を中継する中継ノード装置として機能し、子ノード装置110B(9)は、子ノード装置110B(10)と子ノード装置110B(1)との間の無線通信を中継する中継ノード装置として機能する。尚、当該中継ノード装置は、特許請求の範囲に言う「第2子ノード装置」に相当する。
子ノード装置110B(1)は、パケットのペイロードデータの中から要求コマンドを読み出して当該要求コマンドを解釈すると、RAM454から計測機器120B(1)〜(3)の計測データ及びその計測時刻情報を読み出して応答パケットを生成し、該応答パケットを基地局ノード装置110Aへ送信する。応答パケットは、要求パケットとは逆の流れで、基地局ノード装置110Aまで到達する。基地局ノード装置110Aは、応答パケットのペイロードデータの中から応答コマンドを読み出し、該応答コマンドをPC120Aに有線で送信する。PC120Aは、応答コマンドを受信すると、該応答コマンドを復号化して、計測機器120B(1)〜(3)の計測データ及びその計測時刻情報を得る。
PC120Aは、全ての子ノード装置110Bが第1アウェイク状態にあるとき、より詳細には、第1トリガのインターバルの開始から所定期間以内に、計測機器120Bが接続された又は計測機器120Bを内蔵する全ての子ノード装置110Bを対象に上記のような計測データの取得を行っている。
図5は、所定期間内に全ての子ノード装置110Bから計測データが収集される場合の無線通信を説明するタイムチャートである。便宜のため、計測機器120Bが接続された又は計測機器120Bを内蔵する子ノード装置110Bが全部でn個あり、これらn個の子ノード装置110BのノードIDを「1」〜「n」とする。
各子ノード装置110Bにおいてタイマ456から第1トリガが発せられると、全ての子ノード装置110Bがスリープ状態から第1アウェイク状態に一斉に遷移する。基地局ノード装置110Aは、まず、子ノード装置110B(1)に要求パケットを送信する。基地局ノード装置110Aから送信された要求パケットは、いくつかの子ノード装置110Bを介して又は直接、子ノード装置110B(1)に到達する。子ノード装置110B(1)は、当該要求パケットを受信するとRAM454から計測機器120Bの計測データを読み出して応答パケットを生成し、該応答パケットを基地局ノード装置110Aに送信する。基地局ノード装置110Aは、該応答パケットを受信すると、次に子ノード装置110B(2)に要求パケットを送信する。基地局ノード装置110Aは、このようなデータの要求及び受信を子ノード装置110B(n)まで順に繰り返す。
基地局ノード装置110Aは、インターバルT[i]の開始から所定期間Tmax以内に子ノード装置110B(n)から計測データを受信できると、当該所定期間Tmaxの経過を待たずにスリープ命令をブロードキャストする。全ての子ノード装置110Bは、スリープ命令を受信するとスリープ状態に遷移する。
尚、スリープ命令は、基地局ノード装置110Aのローカル時刻情報を含んでいてもよい。この場合、各子ノード装置110Bは、受信したスリープ命令から基地局ノード装置110Aのローカル時刻情報を取り出して、自機のタイマ456のローカル時刻を補正することができる。尚、図5において子ノード装置110Bのローカル時刻の補正は「補正」として表されている。子ノード装置110Bは、ローカル時刻を補正した後にスリープ状態に遷移する。このように、基地局ノード装置110Aからブロードキャストされるスリープ命令に基地局ノード装置110Aのローカル時刻情報を含めることにより、ネットワークシステム100における全てのノード装置110のローカル時刻を定期的に同期させることができる。
再び各子ノード装置110Bにおいてタイマ456から第1トリガが発せられると、全ての子ノード装置110Bがスリープ状態から第1アウェイク状態に一斉に遷移する。基地局ノード装置110Aは、次のインターバルT[i+1]において、上記と同様に、再び子ノード装置110B(1)から子ノード装置110B(n)まで順に計測データを収集する。
一方、データ収集対象の子ノード装置110Bの個数が多い場合や通信環境の不良等により通信タイムアウトが発生する場合等には、所定期間Tmax以内に全ての子ノード装置110Bからデータ収集が完了しないことがある。そのような場合には、基地局ノード装置110Aは、所定期間Tmaxが経過した時点で一旦データ収集を中断してスリープ命令をブロードキャストし、次のインターバルでデータ収集を再開する。
図6は、所定期間内に全ての子ノード装置110Bから計測データが収集されない場合の無線通信を説明するタイムチャートである。便宜のため、計測機器120Bが接続された又は計測機器120Bを内蔵する子ノード装置110Bが全部でn個あり、これらn個の子ノード装置110BのノードIDを「1」〜「n」とする。
各子ノード装置110Bにおいてタイマ456から第1トリガが発せられると、全ての子ノード装置110Bがスリープ状態から第1アウェイク状態に一斉に遷移する。基地局ノード装置110Aは、まず、子ノード装置110B(1)に要求パケットを送信する。基地局ノード装置110Aから送信された要求パケットは、いくつかの子ノード装置110Bを介して又は直接、子ノード装置110B(1)に到達する。子ノード装置110B(1)は、当該要求パケットを受信するとRAM454から計測機器120Bの計測データを読み出して応答パケットを生成し、該応答パケットを基地局ノード装置110Aに送信する。基地局ノード装置110Aは、該応答パケットを受信すると、次に子ノード装置110B(2)に要求パケットを送信する。基地局ノード装置110Aは、このようなデータの要求及び受信を子ノード装置110B(n)まで順に繰り返す。
ところが、データ収集対象の子ノード装置110Bの個数が多かったり、通信環境の不良等により一部の子ノード装置110Bとの無線通信に多くの時間を要したりした場合、子ノード装置110B(j)(ただし、j<nである)からデータを受信した時点でインターバルT[i]の開始から経過時間が所定期間Tmaxに達していることがある。そのような場合、基地局ノード装置110Aは、そのインターバルT[i]において次の子ノード装置110B(j+1)に対する要求パケットの送信を中断してスリープ命令をブロードキャストする。全ての子ノード装置110Bは、スリープ命令を受信するとスリープ状態に遷移する。
再び各子ノード装置110Bにおいてタイマ456から第1トリガが発せられると、全ての子ノード装置110Bがスリープ状態から第1アウェイク状態に一斉に遷移する。基地局ノード装置110Aは、次のインターバルT[i+1]において、子ノード装置110B(j+1)から要求パケットの送信を再開する。その後、子ノード装置110B(n)から計測データを受信した時点でまだ所定期間Tmaxが経過していなければ、基地局ノード装置110Aは、子ノード装置110B(1)に対して要求パケットを送信する。このように、基地局ノード装置110Aは、n個の子ノード装置110Bに対して循環的に順に要求パケットを送信して各子ノード装置110Bから計測データを収集する。
子ノード装置110B(1)からデータを受信した時点でインターバルT[i+1]の開始からの経過時間が所定期間Tmaxに達すると、基地局ノード装置110Aは、インターバルT[i+1]において次の子ノード装置110B(2)に対する要求パケットの送信を中断してスリープ命令をブロードキャストする。全ての子ノード装置110Bは、スリープ命令を受信するとスリープ状態に遷移する。
尚、上記と同様に、スリープ命令は、基地局ノード装置110Aのローカル時刻情報を含んでいてもよい。この場合、各子ノード装置110Bは、受信したスリープ命令から基地局ノード装置110Aのローカル時刻情報を取り出して、自機のタイマ456のローカル時刻を補正することができる。尚、図6において子ノード装置110Bのローカル時刻の補正は「補正」として表されている。子ノード装置110Bは、ローカル時刻を補正した後にスリープ状態に遷移する。
したがって、本実施形態によれば、ネットワークシステム100は、複数のノード装置110,110,…と、複数のユーザ機器120,120,…とを備え、ノード装置110,110間で無線通信が行われ、複数のノード装置110,110,…は、基地局ノード装置110Aと、基地局ノード装置110Aに無線接続される複数の子ノード装置110B,110B,…とを含み、複数の子ノード装置110B,110B,…は、ユーザ機器120(より詳細には測定機器120B)に接続される又はユーザ機器120(より詳細には測定機器120B)を内蔵する複数の第1子ノード装置110B,110B,…と、ノード装置110,110間の無線通信を中継する少なくとも一つの第2子ノード装置110Bとを含み、複数の子ノード装置110B,110B,…は、基地局ノード装置110Aのローカル時刻と同期し、所定のインターバルでスリープ状態からアウェイク状態に一斉に遷移して間欠動作するように構成されている。
この構成によれば、子ノード装置110Bが間欠動作することで子ノード装置110Bの消費電力を抑制することができる。また、計測機器120Bが接続される又は計測機器120Bを内蔵する複数の第1子ノード装置110B,110B,…及びノード装置110,110間の無線通信を中継する少なくとも一つの第2子ノード装置110Bを含む複数の子ノード装置110B,110B,…が基地局ノード装置110Aのローカル時刻と同期し、所定のインターバルでスリープ状態からアウェイク状態に一斉に遷移することにより、第1子ノード装置110Bは基地局ノード装置110Aからの要求に対して計測機器120Bの計測データを基地局ノード装置110Aに送信することができるとともに、第2子ノード装置110Bは基地局ノード装置110Aと第1子ノード装置110Bとの間の無線通信を中継することができる。したがって、複数の子ノード装置110B,110B,…を間欠動作させながら、無線通信の中継を担保することができ、その結果、ノード装置110の通信途絶を防止することができる。
また、複数の第1子ノード装置110B,110B,…は、基地局ノード装置110Aからのデータ送信の要求に対してユーザ機器120(より詳細には計測機器120B)のデータを基地局ノード装置110Aに送信するように構成されており、基地局ノード装置110Aは、上記所定のインターバルの開始から所定期間Tmax以内に、複数の第1子ノード装置110B,110B,…の任意の一つにデータ送信を要求し、該任意の一つの第1子ノード装置110Bからデータを受信してから別の第1子ノード装置110Bにデータ送信を要求するように構成されている。
これによれば、子ノード装置110Bがアウェイク状態(より詳細には第1アウェイク状態)になっている期間が所定期間Tmax以内に制限され、子ノード装置110Bの消費電力を極力抑制することができるとともに、当該制限された期間において基地局ノード装置110Aが複数の子ノード装置110B,110B…から計測機器120Bの計測データを収集することができる。さらに、任意の一つの第1子ノード装置110Bにデータ送信を要求し、該任意の一つの第1子ノード装置110Bからデータを受信してから別の第1子ノード装置110Bにデータ送信を要求するといったように、基地局ノード装置110Aは第1子ノード装置110Bの1個ずつと通信するため、通信トラフィックが輻輳しない。これにより、基地局ノード装置110Aが各第1子ノード装置110Bと確実に無線通信できるようになり、その結果、データ途絶の可能性が低くなり、各第1子ノード装置110Bから確実にデータを収集することができる。
また、複数の第1子ノード装置110B,110B,…は、上記所定のインターバルの合間に計測機器120Bから計測データを取得して内部に保持し、基地局ノード装置110Aからのデータ送信の要求に対して当該保持した計測データを基地局ノード装置110Aに送信するように構成されている。
これによれば、計測機器120Bからの計測データの取得に関しても子ノード装置110Bを間欠動作させることができ、子ノード装置110Bの消費電力を抑制することができる。
また、基地局ノード装置110Aは、所定期間Tmax以内に複数の第1子ノード装置110B,110B,…の全てからデータを受信できた場合、又は、所定期間Tmaxが経過した場合、複数の子ノード装置110B,110B,…にスリープ命令をブロードキャストするように構成されており、複数の子ノード装置110B,110B,…は、スリープ命令を受信するとアウェイク状態からスリープ状態に一斉に遷移するように構成されている。
これによれば、所定期間Tmax以内に複数の第1子ノード装置110B,110B,…の全てからデータを受信できた場合には所定期間Tmaxの経過を待たずに基地局ノード装置110Aからスリープ命令がブロードキャストされて複数の子ノード装置110B,110B…をアウェイク状態からスリープ状態に一斉に遷移させることができる。したがって、子ノード装置110Bがアウェイク状態(より詳細には第1アウェイク状態)になっている期間を最小限にして子ノード装置110Bの消費電力を最大限に抑制することができる。一方、所定期間Tmax以内に複数の第1子ノード装置110B,110B,…の全てからデータが受信できなくても所定期間Tmaxが経過すると基地局ノード装置110Aからスリープ命令がブロードキャストされて、第1子ノード装置110B及び無線通信を中継する子ノード装置110Bを含む全ての子ノード装置110Bがスリープ状態に遷移する。これにより、無線通信を中継する子ノード装置110Bがスリープ状態に遷移して無線通信が中継できなくなるといった事態が回避され、無線通信の中継を担保することができる。
また、スリープ命令は、基地局ノード装置110Aのローカル時刻情報を含み、複数の子ノード装置110B,110B,…は、スリープ命令を受信すると基地局ノード装置110Aのローカル情報に基づいて自機のローカル時刻を補正してからアウェイク状態からスリープ状態に一斉に遷移するように構成されている。
これによれば、ネットワークシステム100における全てのノード装置110のローカル時刻を基地局ノード装置110Aのローカル時刻に定期的に同期させて、各ノード装置110のローカル時刻を高精度に一致させることができる。
また、基地局ノード装置110Aは、所定期間Tmax以内に複数の第1子ノード装置110B,110B,…の全てからデータを受信できなかった場合、複数の第1子ノード装置110B,110B,…へのデータ送信の要求を中断し、次のインターバルで該データ送信の要求を再開するように構成されている。
これによれば、子ノード装置110Bがアウェイク状態(より詳細には第1アウェイク状態)になっている期間を最大でも所定期間Tmaxに制限することで子ノード装置110Bの消費電力を抑制することができる。また、当該所定期間Tmax以内に基地局ノード装置110Aが第1子ノード装置110Bからデータを受信できなければ次のインターバルで当該第1子ノード装置110Bからデータを受信することで全ての第1子ノード装置110B,110B,…からもれなくデータを受信することができる。
《その他の実施形態》
本発明は、前記実施形態について、以下のような構成としてもよい。
前記ネットワークシステム100における、ノード装置110の個数及びユーザ機器120の個数は、前記実施形態に限られるものではない。ノード装置やユーザ機器は、任意の個数とすることができる。また、各ノード装置110には、必ず、ユーザ機器120が接続されている必要はない。
また、前記実施形態では、基地局ノード装置110Aは1台であるが、これに限られるものではない。例えば、複数の基地局ノード装置110Aを設け、各基地局ノード装置110Aが子ノード装置110Bとで無線ネットワークを構成し、基地局ノード装置110A,110A同士を無線又は有線で接続するようにしてもよい。
また、前記の構成では、PC120Aがマスタ機器として機能しているが、これに限られるものではない。マスタ機器は、必ずしも、PCである必要はなく、計測機器120Bの何れかであってもよく、PC以外のユーザ機器であってもよい。
さらに、前記ネットワークシステム100においては、マスタスレーブ関係が成立しているが、これに限られるものではない。
さらに、前記実施形態では、MCU451と無線通信部452とが1チップで構成されているが、MCU451と無線通信部452とが別々のチップで構成されていてもよい。
さらに、前記実施形態では、スリープ命令に基地局ノード装置110Aのローカル時刻情報が含まれ得るとしたが、タイマ456から発せられる第1トリガのインターバル情報及び第2トリガの発生タイミング情報をスリープ命令に含めてもよい。これにより、第1トリガ及び第2トリガのインターバルを適宜変更することができる。
さらに、前記実施形態では、子ノード装置110Bの第1アウェイク状態においてMCU451及びインタフェース440に電力が供給されてこれら機能ブロックが動作するとしたが、第1アウェイク状態においてこれら機能ブロックへの電力供給を停止してもよい。その場合、基地局ノード装置110Aからの要求に対して無線通信部452がRAM454から計測機器120の計測データを読み出して応答パケットを生成して該応答パケットを基地局ノード装置110Aに送信すればよい。
本発明は、実施形態に限定されず、その精神又は主要な特徴から逸脱することなく他の色々な形で実施することができる。
このように、上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は特許請求の範囲によって示すものであって、明細書には何ら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。