特許第6596763号(P6596763)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本電気通信システム株式会社の特許一覧 ▶ 学校法人 関西大学の特許一覧 ▶ 株式会社国際電気通信基礎技術研究所の特許一覧

<>
  • 特許6596763-無線マルチホップネットワーク 図000002
  • 特許6596763-無線マルチホップネットワーク 図000003
  • 特許6596763-無線マルチホップネットワーク 図000004
  • 特許6596763-無線マルチホップネットワーク 図000005
  • 特許6596763-無線マルチホップネットワーク 図000006
  • 特許6596763-無線マルチホップネットワーク 図000007
  • 特許6596763-無線マルチホップネットワーク 図000008
  • 特許6596763-無線マルチホップネットワーク 図000009
  • 特許6596763-無線マルチホップネットワーク 図000010
  • 特許6596763-無線マルチホップネットワーク 図000011
  • 特許6596763-無線マルチホップネットワーク 図000012
  • 特許6596763-無線マルチホップネットワーク 図000013
  • 特許6596763-無線マルチホップネットワーク 図000014
  • 特許6596763-無線マルチホップネットワーク 図000015
  • 特許6596763-無線マルチホップネットワーク 図000016
  • 特許6596763-無線マルチホップネットワーク 図000017
  • 特許6596763-無線マルチホップネットワーク 図000018
  • 特許6596763-無線マルチホップネットワーク 図000019
  • 特許6596763-無線マルチホップネットワーク 図000020
  • 特許6596763-無線マルチホップネットワーク 図000021
  • 特許6596763-無線マルチホップネットワーク 図000022
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6596763
(24)【登録日】2019年10月11日
(45)【発行日】2019年10月30日
(54)【発明の名称】無線マルチホップネットワーク
(51)【国際特許分類】
   H04W 52/02 20090101AFI20191021BHJP
   H04W 4/38 20180101ALI20191021BHJP
   H04W 40/24 20090101ALI20191021BHJP
   H04W 84/22 20090101ALI20191021BHJP
【FI】
   H04W52/02 111
   H04W4/38
   H04W40/24
   H04W84/22
【請求項の数】5
【全頁数】38
(21)【出願番号】特願2014-51192(P2014-51192)
(22)【出願日】2014年3月14日
(65)【公開番号】特開2015-177283(P2015-177283A)
(43)【公開日】2015年10月5日
【審査請求日】2017年2月2日
【審判番号】不服2018-5220(P2018-5220/J1)
【審判請求日】2018年4月16日
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成25年度、支出負担行為担当官、総務省大臣官房会計課企画官、研究テーマ「Radio On Demand Networks技術を用いたオンデマンド型無線センサーアクチュエーターネットワーク(ROD−SAN)の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】000232254
【氏名又は名称】日本電気通信システム株式会社
(73)【特許権者】
【識別番号】399030060
【氏名又は名称】学校法人 関西大学
(73)【特許権者】
【識別番号】393031586
【氏名又は名称】株式会社国際電気通信基礎技術研究所
(74)【代理人】
【識別番号】100125704
【弁理士】
【氏名又は名称】坂根 剛
(72)【発明者】
【氏名】阿部 憲一
(72)【発明者】
【氏名】伊藤 哲也
(72)【発明者】
【氏名】四方 博之
(72)【発明者】
【氏名】渡邉 悠希
(72)【発明者】
【氏名】長谷川 晃朗
(72)【発明者】
【氏名】湯 素華
(72)【発明者】
【氏名】木村 貴寿
【合議体】
【審判長】 岩間 直純
【審判官】 畑中 博幸
【審判官】 長谷川 篤男
(56)【参考文献】
【文献】 特開2010−252165(JP,A)
【文献】 特開2006−319676(JP,A)
【文献】 特開2003−18665(JP,A)
【文献】 特開2005−157432(JP,A)
【文献】 特開2010−50909(JP,A)
【文献】 阿部 憲一外4名,オンデマンド型無線センサーアクチュエーターネットワーク(ROD−SAN)の提案と評価,電子情報通信学会技術研究報告 Vol.113 No.472,一般社団法人電子情報通信学会,2014年3月6日,259〜264頁
(58)【調査した分野】(Int.Cl.,DB名)
H04W4/00-H04W99/00
(57)【特許請求の範囲】
【請求項1】
各々が、無線通信により制御パケットの送受信が可能な無線通信機能と、起動状態へ移行させるためのウェイクアップ信号を前記無線通信機能よりも低消費電力で受信可能な信号受信機能とを有し、前記ウェイクアップ信号を受信すると、前記信号受信機能で前記ウェイクアップ信号を待ち受けるスリープ状態から起動状態へ移行する複数の無線ノードを備え、
前記複数の無線ノードの各々は、
無線ノード間の経路を構築するための第1の制御パケットを送信する場合、前記第1の制御パケットの送信に先立って、電波範囲内に存在する全ての無線ノードを前記起動状態へ移行させるための第1のIDを含む第1のウェイクアップ信号を送信し、前記第1のウェイクアップ信号に対して起動通知を送信した無線ノードに対して、前記第1の制御パケットを送信して前記スリープ状態へ移行する第1の処理を繰り返し実行し、
前記無線ノード間の経路を構築するための第2の制御パケットを送信する場合、前記第2の制御パケットの送信に先立って、前記第2の制御パケットの送信先の一の無線ノードを表わす第2のIDを含む第2のウェイクアップ信号を送信し、前記第2のウェイクアップ信号に対して起動通知を送信した前記一の無線ノードに対して、前記第2の制御パケットを送信して前記スリープ状態へ移行する第2の処理を繰り返し実行する、無線マルチホップネットワーク。
【請求項2】
前記複数の無線ノードの各々は、前記複数の無線ノードのトポロジーが変化したとき、前記第1および第2の処理を繰り返し実行する、請求項1に記載の無線マルチホップネットワーク。
【請求項3】
前記複数の無線ノードの各々は、
自己が検出したセンサー値を含むデータパケットを送信するとき、自己から宛先ノードまでのマルチホップ経路に基づいて中継ノードを決定し、その決定した中継ノードを表わす第3のIDを含む第3のウェイクアップ信号を送信し、その後、前記データパケットを送信して前記スリープ状態へ移行する第3の処理を実行する、請求項1または請求項2に記載の無線マルチホップネットワーク。
【請求項4】
前記第3のウェイクアップ信号は、前記第3のIDを表わす第1のフレーム長を有する第1の無線フレームからなる、請求項3に記載の無線マルチホップネットワーク。
【請求項5】
前記第1のウェイクアップ信号は、前記第1のIDを表わす第2のフレーム長を有する第2の無線フレームからなり、
前記第2のウェイクアップ信号は、前記第2のIDを表わす第3のフレーム長を有する第3の無線フレームからなる、請求項1から請求項4のいずれか1項に記載の無線マルチホップネットワーク。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、無線マルチホップネットワークに関するものである。
【背景技術】
【0002】
従来、複数のセンサー端末と、管理端末とを備える無線センサーネットワークが知られている(特許文献1)。
【0003】
複数のセンサー端末は、センサーを備える。管理端末は、複数のセンサー端末と通信する通信経路を構築し、その構築した通信経路に基づいて各センサー端末と無線通信を行う。
【0004】
センサー端末は、ネットワークに参入する際に、第1の送信電力で既存のセンサー端末を介して管理端末に加入要求を送信する。
【0005】
管理端末は、加入要求を受信すると、加入要求を受信した経路上のセンサー端子のトラフィック負荷を算出し、ホップ数およびトラフィック負荷が共に許容範囲内であれば、参入するセンサー端末の通信経路を加入要求を受信した経路とし、ホップ数およびトラフィック負荷の少なくとも一方が許容範囲外であれば、参入するセンサー端末に対して、第1の送信出力よりも大きい第2の送信出力で、管理端末又はトラフィック負荷の小さい特定のセンサー端末に直接接続するように指示を出力して通信経路を再構築する。そして、参入するセンサー端末は、指示を受信した場合、管理端末宛にデータを送信する際に、第2の送信出力でデータを管理端末又は特定のセンサー端末へ送信する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2013−055451号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、従来の無線センサーネットワークにおいて、複数のセンサー端末が間欠動作を行った場合、各センサー端末は、休止時に応答することができないため、高いレスポンス性を得ることができないという問題がある。
【0008】
一方、高いレスポンス性を得るために、間欠動作の間隔を短くすると、省電力効果が損なわれるという問題がある。
【0009】
そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、高い省電力性および高いレスポンス性を備えた無線マルチホップネットワークを提供することである。
【課題を解決するための手段】
【0010】
この発明の実施の形態によれば、無線マルチホップネットワークは、複数の無線ノードを備える。複数の無線ノードの各々は、無線通信により制御パケットの送受信が可能な無線通信機能と、起動状態へ移行させるためのウェイクアップ信号を無線通信機能よりも低消費電力で受信可能な信号受信機能とを有し、ウェイクアップ信号を受信すると、信号受信機能で前記ウェイクアップ信号を待ち受けるスリープ状態から起動状態へ移行する。そして、複数の無線ノードの各々は、無線ノード間の経路を構築するための第1の制御パケットをブロードキャスト送信する場合、電波範囲内に存在する全ての無線ノードを起動状態へ移行させるための第1のIDを含む第1のウェイクアップ信号を送信し、その後、第1の制御パケットを送信してスリープ状態へ移行する第1の処理を繰り返し実行し、無線ノード間の経路を構築するための第2の制御パケットをユニキャスト送信する場合、ユニキャスト送信の相手先を表わす第2のIDを含む第2のウェイクアップ信号を送信し、その後、第2の制御パケットを送信してスリープ状態へ移行する第2の処理を繰り返し実行する。
【0011】
この発明の実施の形態による無線マルチホップネットワークにおいては、複数の無線ノードの各々は、第1および第2の処理を繰り返し実行する。そして、この第1および第2の処理の各々は、起動状態において所望の動作を行った後にスリープ状態へ移行する処理である。その結果、複数の無線ノードの各々は、ウェイクアップ信号によって起動状態へ移行すると、所望の動作を行い、所望の動作が終了すると、スリープ状態へ移行する。
【0012】
従って、高い省電力性および高いレスポンス性を実現できる。
【0013】
また、この発明の実施の形態によれば、無線マルチホップネットワークは、複数の無線ノードを備える。複数の無線ノードの各々は、無線通信によりデータパケットの送受信が可能な無線通信機能と、起動状態へ移行させるためのウェイクアップ信号を無線通信機能よりも低消費電力で受信可能な信号受信機能とを有し、ウェイクアップ信号を受信すると、信号受信機能でウェイクアップ信号を待ち受けるスリープ状態から起動状態へ移行する。そして、複数の無線ノードの各々は、自己がデータパケットを宛先ノードへ送信し、データパケットに対する応答を受信する必要があるとき、自己から宛先ノードまでのマルチホップ経路に基づいて中継ノードを決定し、その決定した中継ノードを表わすIDを含むウェイクアップ信号を送信し、その後、データパケットを送信し、宛先ノードから所望の応答を受信した後にスリープ状態へ移行する処理を実行する。
【0014】
この発明の実施の形態による無線マルチホップネットワークにおいては、複数の無線ノードの各々は、起動状態において、データパケットの宛先ノードを起動させ、その後、データパケットを送信し、宛先ノードから所望の応答を受信した後にスリープ状態へ移行する。その結果、複数の無線ノードの各々は、ウェイクアップ信号によって起動状態へ移行すると、所望の動作を行い、所望の動作が終了すると、スリープ状態へ移行する。
【0015】
従って、高い省電力性および高いレスポンス性を実現できる。
【発明の効果】
【0016】
この発明の実施の形態によれば、高い省電力性および高いレスポンス性を実現できる。
【図面の簡単な説明】
【0017】
図1】この発明の実施の形態による無線センサーネットワークの概略図である。
図2図1に示す無線ノードの構成を示す概略図である。
図3図2に示すホストシステムの機能ブロック図である。
図4図1に示すサーバの構成を示す概略図である。
図5図4に示すパーソナルコンピュータの構成を示す概略図である。
図6】制御パケットDIOの構成図である。
図7】制御パケットDAOの構成図である。
図8】フレーム長とデータとの対応表を示す図である。
図9図3に示すルーティングテーブルの構成図である。
図10図1に示す無線センサーネットワークにおける無線ノード、サーバおよび表示端末の配置状態を示す図である。
図11】経路を構築するときの動作を説明するためのフローチャートである。
図12図11に示すフローチャートに従って構築されるトポロジーの例を示す図である。
図13図9に示すルーティングテーブル161の具体例を示す図である。
図14図1に示す無線センサーネットワークにおけるセンサー値の転送動作を説明するためのフローチャートである。
図15】表示端末の表示画面の例を示す図である。
図16図1に示す無線センサーネットワークにおけるアクチュエータの制御動作を説明するためのフローチャートである。
図17】複数のシステムが同時に運用される例を示す図である。
図18】待機系ネットワークの例を示す図である。
図19】ParentマルチキャストIDおよびChildマルチキャストIDを用いる例を示す図である。
図20】センサー値を転送するときに親ノードを選択する例を示す図である。
図21】ChildマルチキャストIDを用いる例を示す図である。
【発明を実施するための形態】
【0018】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【0019】
図1は、この発明の実施の形態による無線センサーネットワークの概略図である。図1を参照して、この発明の実施の形態による無線センサーネットワーク10は、無線ノード1〜6と、サーバ7と、表示端末8とを備える。
【0020】
無線ノード1〜6およびサーバ7は、無線通信空間に配置される。サーバ7は、パーソナルコンピュータ71と、無線ノード72とを含む。
【0021】
無線ノード1〜6,72は、例えば、IEEE802.15.4gに対応した920MHz帯で無線通信を行う。
【0022】
無線ノード1〜6の各々は、センサーおよびアクチュエータを有する。
【0023】
無線ノード1〜6,72は、後述する方法によって、RPL:IPv6 Routing Protocol for Low−Power and Lossy Networks(RFC6550)を用いて各無線ノード1〜6からサーバ7(無線ノード72)までの経路を構築する。また、無線ノード1〜6,72は、後述する方法によって、RPLを用いて各無線ノード1〜6からサーバ7(無線ノード72)までの経路を維持する。
【0024】
そして、無線ノード1〜6の各々は、センサーによってセンサー値を検出し、その検出したセンサー値をサーバ7(無線ノード72)へ送信する。また、無線ノード1〜6の各々は、アクチュエータを制御するための制御指示をサーバ7から受信し、その受信した制御指示に従ってアクチュエータを動作させる。
【0025】
この場合、無線ノード1〜6の各々は、後述する方法によって、他の無線ノードから受信したセンサー値を転送し、サーバ7または他の無線ノードから受信した制御指示を転送する。
【0026】
無線ノード72は、無線ノード1〜6からセンサー値を受信し、その受信したセンサー値をパーソナルコンピュータ71へ出力する。
【0027】
無線ノード72は、パーソナルコンピュータ71からアクチュエータを制御するための制御指示を受け、その受けた制御指示を無線ノード1〜6へ送信する。
【0028】
パーソナルコンピュータ71は、無線ノード72からセンサー値を受け、その受けたセンサー値を記憶する。そして、パーソナルコンピュータ71は、その記憶したセンサー値をLAN(Local Area Network)またはWLAN(Wireless Local Area Network)を介して表示端末8へ送信して表示する。
【0029】
パーソナルコンピュータ71は、アクチュエータを制御するための制御指示を表示端末8から受信し、その受信した制御指示を無線ノード72へ出力する。
【0030】
表示端末8は、LANまたはWLANを介してセンサー値を受け、その受けたセンサー値を表示する。また、表示端末8は、アクチュエータ18の制御指示を外部から受け、その受けた制御指示をLANまたはWLANを介してパーソナルコンピュータ71へ送信する。
【0031】
図2は、図1に示す無線ノード1の構成を示す概略図である。図2を参照して、無線ノード1は、アンテナ11,12と、ウェイクアップ信号受信機13と、ウェイクアップ判定器14と、無線通信モジュール15と、ホストシステム16と、センサー17と、アクチュエータ18と、電源制御部19と、電源20とを含む。
【0032】
無線ノード1は、スリープ状態と、起動状態とを有する。スリープ状態とは、ウェイクアップ信号受信機13およびウェイクアップ判定器14が動作しており、ホストシステム16が起動状態へ移行するための割込みを待ち受けるだけの低消費電力状態であり、更に、無線通信モジュール15、センサー17およびアクチュエータ18が動作を停止した状態を言う。
【0033】
また、起動状態とは、ウェイクアップ信号受信機13、ウェイクアップ判定器14、無線通信モジュール15、ホストシステム16、センサー17およびアクチュエータ18が動作している状態を言う。なお、電源制御部19および電源20は、スリープ状態および起動状態とは無関係であり、常時、動作している。
【0034】
アンテナ11は、ウェイクアップ信号受信機13に接続される。アンテナ12は、無線通信モジュール15に接続される。
【0035】
ウェイクアップ信号受信機13は、電源制御部19から供給された電力によって駆動される。ウェイクアップ信号受信機13は、アンテナ11を介してウェイクアップ信号を受信し、その受信したウェイクアップ信号を包絡線検波してウェイクアップ信号(=フレーム長)を抽出する。そして、ウェイクアップ信号受信機13は、その抽出したウェイクアップ信号(=フレーム長)をウェイクアップ判定器14へ出力する。
【0036】
ウェイクアップ判定器14は、電源制御部19から供給された電力によって駆動される。ウェイクアップ判定器14は、無線ノード1のウェイクアップIDを予め保持している。ウェイクアップ判定器14は、ウェイクアップ信号受信機13からウェイクアップ信号(=フレーム長)を受け、その受けたウェイクアップ信号(=フレーム長)をウェイクアップIDに変換する。そして、ウェイクアップ判定器14は、その変換したウェイクアップIDが、予め保持しているウェイクアップIDに一致するか否かを判定する。そして、ウェイクアップ判定器14は、変換したウェイクアップIDが、予め保持しているウェイクアップIDに一致すると判定したとき、起動信号を生成してホストシステム16へ出力する。
【0037】
なお、ウェイクアップ判定器14は、変換したウェイクアップIDが、予め保持しているウェイクアップIDに一致しないと判定したとき、その変換したウェイクアップIDを破棄する。
【0038】
無線通信モジュール15は、電源制御部19から供給された電力によって駆動される。無線通信モジュール15は、アンテナ12を介して制御パケットまたはデータパケットを受信する。データパケットは、センサー値または制御指示を含む。無線通信モジュール15は、制御パケットまたはデータパケットを受信すると、その受信した制御パケットまたはデータパケットを復調してホストシステム16へ出力する。また、無線通信モジュール15は、起動通知をホストシステム16から受け、その受けた起動通知をアンテナ12を介して送信する。更に、無線通信モジュール15は、ウェイクアップIDをホストシステム16から受け、その受けたウェイクアップIDを含むウェイクアップ信号を生成する。そして、無線通信モジュール15は、その生成したウェイクアップ信号をアンテナ12を介して送信する。更に、無線通信モジュール15は、制御パケットまたはデータパケットをホストシステム16から受け、その受けた制御パケットまたはデータパケットを変調し、その変調した制御パケットまたはデータパケットをアンテナ12を介して送信する。
【0039】
ホストシステム16は、電源制御部19から供給された電力によって駆動される。この場合、ホストシステム16は、電力W1,W2を受ける。電力W1は、電力W2よりも大きい。電力W1は、ホストシステム16を起動状態で動作させるための電力である。電力W2は、ホストシステム16を低消費電力状態で動作させるための電力である。
【0040】
ホストシステム16は、ESSIDまたはPANIDまたは送信先のMACアドレスを予め保持している。
【0041】
ホストシステム16は、ウェイクアップ判定器14から起動信号を受けたとき、または割込み制御によって起動状態へ移行する時刻になったとき、無線ノード1を起動状態へ移行させるための指示信号COM1を生成して電源制御部19へ出力する。その後、ホストシステム16は、電源制御部19から電力W1を受けると、起動状態へ移行する。
【0042】
ホストシステム16は、ウェイクアップ判定器14からの起動信号に応じて起動状態へ移行すると、無線ノード1のアドレスMACadd1を含む起動通知を生成して無線通信モジュール15へ出力する。そして、ホストシステム16は、ESSIDまたはPANIDまたは送信先のMACアドレスのハッシュ値を演算して、他の無線ノードまたはサーバ7をスリープ状態から起動状態へ移行させるためのウェイクアップIDを生成する。ホストシステム16は、その生成したウェイクアップIDを無線通信モジュール15へ出力する。その後、ホストシステム16は、制御パケットDIOを生成して無線通信モジュール15へ出力し、または無線通信モジュール15から制御パケットDIOを受ける。そして、ホストシステム16は、その受けた制御パケットDIOを処理し、その受けた制御パケットDIOに対する応答である制御パケットDAOを生成して無線通信モジュール15へ出力する。そうすると、ホストシステム16は、無線ノード1をスリープ状態へ移行させるための指示信号COM2を電源制御部19へ出力する。その後、ホストシステム16は、電源制御部19から電力W2を受けるので、スリープ状態へ移行する。
【0043】
また、ホストシステム16は、ウェイクアップ判定器14からの起動信号に応じて起動状態へ移行すると、無線ノード1のアドレスMACadd1を含む起動通知を生成して無線通信モジュール15へ出力する。そして、ホストシステム16は、センサー17からセンサー値を受けると、ESSIDまたはPANIDまたは送信先のMACアドレスのハッシュ値を演算して、他の無線ノードまたはサーバ7(=無線ノード72)をスリープ状態から起動状態へ移行させるためのウェイクアップIDを生成する。その後、ホストシステム16は、ウェイクアップIDを無線通信モジュール15へ出力する。そして、ホストシステム16は、他の無線ノードまたはサーバ7(=無線ノード72)から起動通知を受信すると、センサー値を含むデータパケットを生成して無線通信モジュール15へ出力する。そうすると、ホストシステム16は、指示信号COM2を生成して電源制御部19へ出力する。その後、ホストシステム16は、電源制御部19から電力W2を受けるので、スリープ状態へ移行する。
【0044】
更に、ホストシステム16は、ウェイクアップ判定器14からの起動信号に応じて起動状態へ移行し、無線ノード1のアドレスMACadd1を含む起動通知を無線通信モジュール15へ出力した後、無線通信モジュール15からデータパケットを受ける。そして、ホストシステム16は、その受けたデータパケットを処理し、その処理したデータパケットを無線通信モジュール15へ出力する。そうすると、ホストシステム16は、指示信号COM2を電源制御部19へ出力する。その後、ホストシステム16は、電源制御部19から電力W2を受けるので、スリープ状態へ移行する。
【0045】
更に、ホストシステム16は、ウェイクアップ判定器14からの起動信号に応じて起動状態へ移行し、無線ノード1のアドレスMACadd1を含む起動通知を無線通信モジュール15へ出力した後、無線通信モジュール15から制御指示を受ける。そして、ホストシステム16は、その受けた制御指示に従ってアクチュエータ18を制御する。その後、ホストシステム16は、アクチュエータ制御応答を生成して無線通信モジュール15へ出力する。そうすると、ホストシステム16は、指示信号COM2を電源制御部19へ出力する。その後、ホストシステム16は、電源制御部19から電力W2を受けるので、スリープ状態へ移行する。
【0046】
センサー17は、電源制御部19から供給された電力によって駆動される。そして、センサー17は、センサー値を検出し、その検出したセンサー値をホストシステム16へ出力する。なお、センサー値は、例えば、温度、湿度、照度、電力、人感、CO濃度および放射線量等である。
【0047】
アクチュエータ18は、電源制御部19から供給される電力によって駆動される。そして、アクチュエータ18は、ホストシステム16からの制御に従って動作を行う。
【0048】
電源制御部19は、電源20から電力を受ける。電源制御部19は、ウェイクアップ信号受信機13およびウェイクアップ判定器14を駆動させるための電力(=例えば、500μW)を、常時、ウェイクアップ信号受信機13およびウェイクアップ判定器14へ供給する。また、電源制御部19は、ホストシステム16から指示信号COM1を受けると、ホストシステム16へ電力W1(>500μW)を供給し、無線通信モジュール15、センサー17およびアクチュエータ18を駆動するための電力を無線通信モジュール15、センサー17およびアクチュエータ18へ供給する。更に、電源制御部19は、ホストシステム16から指示信号COM2を受けると、ホストシステム16へ電力W2を供給し、無線通信モジュール15、センサー17およびアクチュエータ18への電力の供給を停止する。
【0049】
従って、電源制御部19は、スリープ状態においては、500μWの電力をウェイクアップ信号受信機13およびウェイクアップ判定器14へ供給し、W2(<W1))の電力をホストシステム16へ供給する。また、電源制御部19は、起動状態においては、500μWの電力をウェイクアップ信号受信機13およびウェイクアップ判定器14へ供給し、W1(>500μW)の電力をホストシステム16へ供給し、駆動するための電力を無線通信モジュール15、センサー17およびアクチュエータ18へ供給する。ここで、無線通信モジュール15、センサー17およびアクチュエータ18を駆動するための電力をαとすると、電源制御部19は、スリープ状態において、500μW+W2の電力を供給し、起動状態において、500μW+W1(>W2)+αの電力を供給する。その結果、無線ノード1におけるスリープ状態は、起動状態よりも消費電力が少ない状態である。
【0050】
電源20は、電力を電源制御部19へ供給する。
【0051】
なお、図1に示す無線ノード2〜6,72の各々も、図2に示す無線ノード1と同じ構成からなる。
【0052】
図3は、図2に示すホストシステム16の機能ブロック図である。図3を参照して、ホストシステム16は、ルーティングテーブル161と、無線通信部162と、経路制御部163と、状態制御部164と、電源制御部165と、アクチュエータ制御部166と、センサー制御部167と、割込制御部168と、ウェイクアップ制御部169と、タイマー制御部170とを含む。
【0053】
ルーティングテーブル161は、経路情報を格納する。
【0054】
無線通信部162は、無線通信モジュール15を制御するとともに、センサー値または制御指示を含むデータパケット、または制御パケットを送受信する。そして、制御パケットまたはデータパケットを送信する場合、無線通信部162は、送信先のアドレスを出力するように経路制御部163に依頼する。
【0055】
また、無線通信部162は、センサー制御部167からセンサー値を受けると、その受けたセンサー値を含むデータパケットを生成して無線通信モジュール15へ出力し、センサー値を含むデータパケットを送信するように無線通信モジュール15を制御する。
【0056】
更に、無線通信部162は、無線通信モジュール15から制御指示を含むデータパケットを受けると、その受けたデータパケットから制御指示を取り出し、その取り出した制御指示をアクチュエータ制御部166へ出力する。
【0057】
経路制御部163は、RPLに従って、各無線ノード1〜6からサーバ7までの経路を確立し、その確立した経路の経路情報を含むルーティングテーブル161を作成する。そして、経路制御部163は、その作成したルーティングテーブル161を管理する。
【0058】
状態制御部164は、割込制御部168からの依頼に応じて、無線ノード1の状態をスリープ状態から起動状態へ移行させるように電源制御部165に依頼する。また、状態制御部164は、経路制御部163からの依頼に応じて、無線ノード1の状態を起動状態からスリープ状態へ移行させるように電源制御部165に依頼する。
【0059】
電源制御部165は、状態制御部164からの依頼に応じて、指示信号COM1または指示信号COM2を電源制御部19へ出力する。
【0060】
アクチュエータ制御部166は、無線通信部162から制御指示を受け、その受けた制御指示に従ってアクチュエータ18を制御する。
【0061】
センサー制御部167は、無線通信部162からセンサー値の読込指示またはセンサー値の通知周期に従ってセンサー値をセンサー17から読み込む。そして、センサー制御部167は、その読み込んだセンサー値を無線通信部162へ出力する。
【0062】
割込制御部168は、ホストシステム16を起動状態へ移行させるための割込みの要因の設定を行う。ここで、割込みの要因は、次の起動時刻を設定するタイマーによる割込み、またはウェイクアップ信号を受信した場合の割込みである。タイマーによる割込みは、例えば、RTC(Real Time Clock)タイマーによる割込みからなる。
【0063】
また、割込制御部168は、外部からの割込みを受信して、ホストシステム16を起動状態へ移行させるように状態制御部164に依頼する。
【0064】
タイマー制御部170は、ホストシステム16をスリープ状態へ移行させる前に、次回の起動時刻を設定するために、タイマー割込みの制御を行う。
【0065】
図4は、図1に示すサーバ7の構成を示す概略図である。図4を参照して、サーバ7は、パーソナルコンピュータ71と、無線ノード72と、RS−232C73,74と含む。
【0066】
パーソナルコンピュータ71は、RS−232C73,74によって無線ノード72に接続される。パーソナルコンピュータ71は、RS−232C73を介して制御指示等を無線ノード72へ出力し、RS−232C74を介してセンサー値等を無線ノード72から受ける。なお、無線ノード72のホストシステム16がRS−232C73,74に接続される。
【0067】
図5は、図4に示すパーソナルコンピュータ71の構成を示す概略図である。図5を参照して、パーソナルコンピュータ71は、Webサーバ711と、データベース712とを含む。
【0068】
Webサーバ711は、RS−232C74を介して無線ノード72から送信元のアドレスとセンサー値とを受け、その受けた送信元のアドレスおよびセンサー値を相互に対応付けてデータベース712に格納する。
【0069】
Webサーバ711は、LANまたはWLANを介して表示端末8からセンサー値の閲覧要求を受け、またはLANまたはWLANを介して表示端末8の表示画面に描画する。
【0070】
データベース712は、センサー値を送信元のアドレスに対応付けて記憶する。
【0071】
図6は、制御パケットDIOの構成図である。図6を参照して、制御パケットDIOは、rootのアドレスと、送信先と、送信元と、ID格納部と、Rankと、DTSNとを含む。
【0072】
rootのアドレスは、サーバ7のアドレス、即ち、無線ノード72のアドレスからなる。
【0073】
送信先は、制御パケットDIOの送信先の無線ノードのアドレスからなる。送信元は、制御パケットDIOを生成した無線ノードのアドレスからなる。ID格納部は、ESSIDまたはPANIDからなる。Rankは、256×n(nは、正の整数)からなり、サーバ7(=無線ノード72)からのホップ数が1ホップ増加するごとに“256”づつ増加する。そして、Rankは、数値が小さい程、rootに近いことを表わす。DTSNは、正の整数からなり、1つの無線ノード(=サーバ7の無線ノード72および無線ノード1〜6のいずれか)が新たな制御パケットDIOを生成するごとに“1”づつ増加する。DTSNは、各無線ノード1〜6が同じ無線ノードから制御パケットDIOを受信した場合に、制御パケットDAOを送信するか否かの判定基準になる。より具体的には、各無線ノード1〜6は、同じ無線ノードから制御パケットDIOを受信した場合に、その受信した制御パケットDIOのDTSNが、以前に受信した制御パケットDIOのDTSNよりも増加していると判定したとき、制御パケットDAOを送信し、受信した制御パケットDIOのDTSNが、以前に受信した制御パケットDIOのDTSNよりも増加していないと判定したとき、制御パケットDAOを送信しない。そして、DTSNが増加していることは、親ノードが変更されたことに相当する。
【0074】
図7は、制御パケットDAOの構成図である。図7を参照して、制御パケットDAOは、親ノードのアドレスと、送信元と、DAOSequenceとを含む。
【0075】
親ノードのアドレスは、制御パケットDAOを生成する無線ノードよりも1ホップだけroot側に存在し、制御パケットDAOを生成する無線ノードが無線通信可能な全ての無線ノードのアドレスからなる。
【0076】
送信元は、制御パケットDAOを生成する無線ノードのアドレスからなる。DAOSequenceは、制御パケットDAOのシーケンス番号である。そして、DAOSequenceの初期値は、“240”である。DAOSequenceは、“0”〜“255”の範囲の整数からなる。DAOSequenceは、新たな制御パケットDAOが送信される毎にインクリメントされる。DAOSequenceが“128”よりも小さい場合、最大値は、“127”であり、DAOSequenceが“128”以上である場合、最大値は、“255”である。DAOSequenceは、“255”の次に、“0”になり、その後、“1”づつインクリメントされる。
【0077】
制御パケットDAOが新しいか否かは、次の方法によって決定される。ここでは、比較する2つのDAOSequenceをそれぞれA,Bとする。
【0078】
(i)Aが“128”〜“255”であり、Bが“0”〜“127”である場合
・(256+B−A)がSEQUENCE_WINDOW(=16)以下である場合、Aは、Bよりも小さい。
【0079】
・(256+B−A)がSEQUENCE_WINDOW(=16)よりも大きい場合、Bは、Aよりも小さい。
【0080】
そして、大きい方(AまたはB)を有する制御パケットDAOが新しいと判定される。
【0081】
(ii)両方の値が“127”以下、または“128”以上である場合
・2つの値の差の絶対値がSEQUENCE_WINDOW(=16)以下である場合、比較結果がそのまま結果となる。
【0082】
・2つの値の差の絶対値がSEQUENCE_WINDOW(=16)よりも大きい場合、同期されていないと判定され、2つのA,Bは、比較できないと判定される。
【0083】
この場合、受信した制御パケットDAOが最新であると判定しないか、最後に受信したDAOSequenceを有する制御パケットDAOを最新であると判定してもよい。
【0084】
この発明の実施の形態においては、次の3つのウェイクアップIDを定義する。
【0085】
(1)ユニキャストID
(2)マルチキャストID
(3)ブロードキャストID
ユニキャストIDは、任意の無線ノードを指し示すウェイクアップIDであり、各無線ノードのMACアドレス等の一意に無線ノードを特定可能なIDである。
【0086】
マルチキャストIDは、電波範囲内の特定の無線ノードのグループを起動状態へ移行させるためのウェイクアップIDである。
【0087】
マルチキャストIDは、LocalマルチキャストID、ParentマルチキャストIDおよびChildマルチキャストIDからなる。
【0088】
LocalマルチキャストIDは、ESSIDまたはPANIDで表わされる同一システムの無線ノードを起動状態へ移行させるためのウェイクアップIDである。
【0089】
ParentマルチキャストIDは、無線センサーネットワーク10において各無線ノード1〜6から見た場合に親ノードになる得る無線ノード群を示すウェイクアップIDである。
【0090】
ChildマルチキャストIDは、無線センサーネットワーク10において各無線ノード1〜6から見た場合に子ノードとして収容した無線ノード群を示すウェイクアップIDである。
【0091】
ブロードキャストIDは、電波範囲内の全ての無線ノードを起動状態へ移行させることができるウェイクアップIDであり、予め無線センサーネットワーク10において決められている。そして、ブロードキャストIDは、無線ノード1〜6,72のウェイクアップ制御部169に予め設定されている。
【0092】
この発明の実施の形態においては、上述したユニキャストID、マルチキャストIDおよびブロードキャストIDをウェイクアップIDとして用いる。
【0093】
図8は、フレーム長とデータとの対応表を示す図である。図8を参照して、対応表TBLは、フレーム長とデータとを含む。フレーム長およびデータは、相互に対応付けられる。
【0094】
12.80msecのフレーム長は、“0x0”のデータに対応付けられる。12.88msecのフレーム長は、“0x1”のデータに対応付けられる。12.96msecのフレーム長は、“0x2”のデータに対応付けられる。13.04msecのフレーム長は、“0x3”のデータに対応付けられる。
【0095】
13.12msecのフレーム長は、“0x4”のデータに対応付けられる。13.20msecのフレーム長は、“0x5”のデータに対応付けられる。13.28msecのフレーム長は、“0x6”のデータに対応付けられる。13.36msecのフレーム長は、“0x7”のデータに対応付けられる。
【0096】
13.44msecのフレーム長は、“0x8”のデータに対応付けられる。13.52msecのフレーム長は、“0x9”のデータに対応付けられる。13.60msecのフレーム長は、“0xA”のデータに対応付けられる。13.68msecのフレーム長は、“0xB”のデータに対応付けられる。
【0097】
13.76msecのフレーム長は、“0xC”のデータに対応付けられる。13.84msecのフレーム長は、“0xD”のデータに対応付けられる。13.92msecのフレーム長は、“0xE”のデータに対応付けられる。14.00msecのフレーム長は、“0xF”のデータに対応付けられる。
【0098】
そして、0x0〜0xFの各々は、4ビットからなる。
【0099】
この発明の実施の形態においては、ウェイクアップIDは、フレーム長によって表される。より具体的には、ウェイクアップIDは、WuID1〜WuID4によって表される。従って、ウェイクアップ信号は、WuID1〜WuID4のビット値にそれぞれ対応する4個のフレーム長を有する4個のフレームからなる(対応表TBL参照)。
【0100】
そして、ユニキャストIDにおいては、WuID1は、0x1に固定され、WuID2〜WuID4は、起動対象となる無線ノードのMACアドレスから求められた12ビットのハッシュ値からなる。
【0101】
また、ブロードキャストIDにおいては、WuID1は、0xFに固定され、WuID2〜WuID4は、起動元の無線ノードのMACアドレスから求められた12ビットのハッシュ値からなる。
【0102】
更に、マルチキャストIDのLocalマルチキャストIDにおいては、WuID1は、0x2に固定され、WuID2〜WuID4は、PANIDまたはRPL instance ID等の同一システムを示す識別子からなる。PANIDまたはRPL instance IDが12ビットでない場合、PANIDまたはRPL instance IDのハッシュ値を演算して12ビットにする。
【0103】
更に、マルチキャストIDのParentマルチキャストIDにおいては、WuID1は、0x3に固定され、WuID2〜WuID4は、起動元の無線ノードのMACアドレスから求められた12ビットのハッシュ値からなる。
【0104】
更に、マルチキャストIDのChildマルチキャストIDにおいては、WuID1は、0x4に固定され、WuID2〜WuID4は、起動元の無線ノードのMACアドレスから求められた12ビットのハッシュ値からなる。
【0105】
図9は、図3に示すルーティングテーブル161の構成図である。図9を参照して、ルーティングテーブル161は、送信先と、次の無線ノードと、ホップ数と、Rankとを含む。送信先、次の無線ノード、ホップ数およびRankは、相互に対応付けられる。
【0106】
送信先は、ウェイクアップ信号、制御パケットDIO,DAOおよびデータパケット等の受信先の無線ノードのMACアドレスMACaddからなる。次の無線ノードは、送信先までの経路上においてルーティングテーブル161を保持する無線ノードに送信先側で隣接する無線ノードのMACアドレスMACadd_NBからなる。
【0107】
ホップ数は、ルーティングテーブル161を保持する無線ノードから送信先の無線ノードまでのホップ数hからなる。Rankは、送信先の無線ノードのサーバ7に対する近さの程度を示し、r=256×n(=256,512,768,・・・)からなる。
【0108】
図10は、図1に示す無線センサーネットワーク10における無線ノード1,2、サーバ7および表示端末8の配置状態を示す図である。
【0109】
図10を参照して、無線ノード72,1,2は、それぞれ、電波範囲REG1〜REG3を有する。無線ノード72は、2つの電波範囲REG1,REG2が重なった領域に存在する。無線ノード1は、3つの電波範囲REG1〜REG3が重なった領域に存在する。無線ノード2は、2つの電波範囲REG2,REG3が重なった領域に存在する。
【0110】
このように、自己の電波範囲がサーバ7まで届かない無線ノードが存在する状態において、各無線ノード1〜6からサーバ7までの経路の構築が行われる。
【0111】
経路の構築方法について説明する。図11は、経路を構築するときの動作を説明するためのフローチャートである。図11を参照して、経路を構築する動作が開始されると、サーバ7の無線ノード72において、割込制御部168は、タイマー制御部170から起動時刻を受け、無線ノード72を起動状態へ移行するように状態制御部164に依頼する。そして、状態制御部164は、割込制御部168からの依頼に応じて、無線ノード72を起動状態へ移行するように電源制御部165に依頼する。電源制御部165は、状態制御部164からの依頼に応じて指示信号COM1を電源制御部19へ出力する。そして、無線ノード72は、起動状態へ移行する。そうすると、割込制御部168は、他の無線ノードを起動させるようにウェイクアップ制御部169に依頼する。ウェイクアップ制御部169は、割込制御部168からの依頼に応じて、無線通信モジュール15が送信するウェイクアップ信号のウェイクアップIDとしてブロードキャストIDを選択する。そして、ウェイクアップ制御部169は、対応表TBLを予め保持しており、対応表TBLを参照して、ブロードキャストIDのWuID1〜WuID4を4個のフレーム長FL1〜FL4に変換する。そうすると、ウェイクアップ制御部169は、4個のフレーム長FL1〜FL4を無線通信モジュール15へ出力し、4個のフレーム長FL1〜FL4を有する4個のフレームを生成するように無線通信モジュール15を制御する。
【0112】
無線通信モジュール15は、4個のフレーム長FL1〜FL4をホストシステム16のウェイクアップ制御部169から受け、その受けた4個のフレーム長FL1〜FL4を有する4個のフレームを生成し、その生成した4個のフレームからなるウェイクアップ信号WuSをアンテナ12を介してブロードキャストする(ステップS1)。
【0113】
無線ノード1のウェイクアップ信号受信機13は、アンテナ11を介してウェイアップ信号WuSを受信し、その受信したウェイクアップ信号の受信電波を一定周期で包絡線検波する。そして、無線ノード1のウェイクアップ信号受信機13は、包絡線検波の検波値の個数をカウントし、そのカウントした検波値の個数に一定周期を乗算して4個のフレーム長FL1〜FL4を求める。そうすると、無線ノード1のウェイクアップ信号受信機13は、4個のフレーム長FL1〜FL4をウェイクアップ判定器14へ出力する。
【0114】
無線ノード1のウェイクアップ判定器14は、予め、対応表TBLを保持しており、4個のフレーム長FL1〜FL4をウェイクアップ信号受信機13から受けると、対応表TBLを参照して、4個のフレーム長FL1〜FL4をビット値に変換してブロードキャストIDを取得する。そうすると、無線ノード1のウェイクアップ判定器14は、ブロードキャストIDが、予め保持したウェイクアップID(=ブロードキャストID)に一致すると判定し、起動信号を生成してホストシステム16へ出力する。
【0115】
無線ノード1のホストシステム16において、割込制御部168は、起動信号をウェイクアップ判定器14から受けると、無線ノード1の状態をスリープ状態から起動状態へ移行させるように状態制御部164に依頼し、状態制御部164は、無線ノード1の状態をスリープ状態から起動状態へ移行させるように電源制御部165に依頼する。そして、電源制御部165は、状態制御部164からの依頼に応じて指示信号COM1を生成して電源制御部19へ出力する。電源制御部19は、指示信号COM1に応じて、電力W1をホストシステム16へ供給し、駆動に必要な電力を無線通信モジュール15、センサー17およびアクチュエータ18へ供給する。これによって、無線ノード1は、スリープ状態から起動状態へ移行する(ステップS2)。
【0116】
その後、無線ノード1のホストシステム16は、無線ノード1のアドレスMACadd1を含む起動通知を生成し、その生成した起動通知を無線通信モジュール15へ出力する。そして、無線ノード1の無線通信モジュール15は、起動通知をホストシステム16から受け、その受けた起動通知をアンテナ12を介してブロードキャストする。
【0117】
無線ノード72において、無線通信モジュール15は、アンテナ12を介して起動通知を受信する。そして、無線ノード72において、ホストシステム16の無線通信部162は、無線通信モジュール15から起動通知を受け、その受けた起動通知を経路制御部163へ出力する。
【0118】
無線ノード72において、ホストシステム16の経路制御部163は、無線通信部162から起動通知を受けると、無線ノード1が起動状態へ移行したことを検知する。そして、経路制御部163は、サーバ7(=無線ノード72)のアドレスMACadd72からなるrootのアドレスと、無線ノード1のMACアドレスMACadd1からなる送信先と、サーバ7(=無線ノード72)のアドレスMACadd72からなる送信元と、ESSIDまたはPANIDからなるID格納部と、256からなるRankと、1からなるDTSNとを含むDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を生成し、その生成したDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を無線通信部162へ出力する。
【0119】
無線ノード72において、ホストシステム16の無線通信部162は、DIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を経路制御部163から受け、その受けたDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を無線通信モジュール15へ出力し、DIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を送信するように無線通信モジュール15を制御する。そうすると、無線ノード72の無線通信モジュール15は、アンテナ12を介してDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を送信する(ステップS3)。
【0120】
その後、無線ノード72において、ホストシステム16の状態制御部164は、DIO1の送信完了を経路制御部163から受け、無線ノード72を起動状態からスリープ状態へ移行させるように電源制御部165に依頼する。電源制御部165は、状態制御部164からの依頼に応じて指示信号COM2を電源制御部19へ出力する。無線ノード72の電源制御部19は、指示信号COM2に応じて、電力W2をホストシステム16へ供給し、無線通信モジュール15、センサー17およびアクチュエータ18への電力の供給を停止する。これによって、無線ノード72は、起動状態からスリープ状態へ移行する。
【0121】
一方、無線ノード1の無線通信モジュール15は、DIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]をアンテナ12を介して受信し(ステップS4)、その受信したDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]をホストシステム16へ出力する。
【0122】
無線ノード1において、ホストシステム16の無線通信部162は、DIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を無線通信モジュール15から受け、その受けたDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を経路制御部163へ出力する。
【0123】
無線ノード1において、ホストシステム16の経路制御部163は、無線通信部162からDIO1=[MACadd72/MACadd1/MACadd72/ESSID/256/1]を受ける。そして、無線ノード1の経路制御部163は、DIO1の先頭のアドレスMACadd72を参照して、rootがサーバ7(=無線ノード72)であることを検知する。また、無線ノード1の経路制御部163は、DIO1の2個目のアドレスMACadd1を参照して、DIO1の送信先が無線ノードであることを検知する。更に、無線ノード1の経路制御部163は、DIO1の3個目のアドレスMACadd72を参照してDIO1の送信元がサーバ7(=無線ノード72)であることを検知する。更に、無線ノード1の経路制御部163は、“256”からなるRankおよび“1”からなるDTSNをDIO1から取り出して保持する。そして、無線ノード1の経路制御部163は、“256”からなるRankに基づいて、サーバ7から無線ノード1までのホップ数が“1”であることを検知する。“256”のRankは、Rankの最小値であり、無線ノード1は、その最小値である“256”からなるRankをサーバ7から直接受信したからである。また、無線ノード1の経路制御部163は、サーバ7が最小のRankを有するので、サーバ7が無線ノード1の親ノードであることを検知する。
【0124】
そうすると、経路制御部163は、ルーティングテーブル161の送信先にMACadd72を格納し、次の無線ノードにMACadd72を格納し、ホップ数に“1”を格納し、Rankに“256”を格納する。そして、経路制御部163は、“256”のRankに基づいて、無線ノード1のRankが“512”からなることを検知し、“512”のRankを保持する。
【0125】
その後、無線ノード1の経路制御部163は、DIOを最初に受信したので、“1”からなるDTSNに基づいて、DTSNが増加したことを検知し、DAOを送信すると判定する。
【0126】
そうすると、無線ノード1において、ウェイクアップ制御部169は、経路制御部163からの依頼に応じて、無線通信モジュール15が送信するウェイクアップ信号のウェイクアップIDとしてユニキャストIDを生成する。DAOは、サーバ7(=無線ノード72)へ送信されるので、ウェイクアップ制御部169は、サーバ7(=無線ノード72)のMACアドレスMACadd72を経路制御部163から受ける。そして、ウェイクアップ制御部169は、MACアドレスMACadd72に基づいて、上述した方法によってユニキャストIDを生成する。
【0127】
そして、ウェイクアップ制御部169は、保持している対応表TBLを参照して、ユニキャストIDのWuID1〜WuID4を4個のフレーム長FL1〜FL4に変換する。そうすると、ウェイクアップ制御部169は、4個のフレーム長FL1〜FL4を無線通信モジュール15へ出力し、4個のフレーム長FL1〜FL4を有する4個のフレームを生成するように無線通信モジュール15を制御する。
【0128】
無線ノード1の無線通信モジュール15は、4個のフレーム長FL1〜FL4をホストシステム16のウェイクアップ制御部169から受け、その受けた4個のフレーム長FL1〜FL4を有する4個のフレームを生成し、その生成した4個のフレームからなるウェイクアップ信号WuSをアンテナ12を介してユニキャストする(ステップS5)。
【0129】
無線ノード72のウェイクアップ信号受信機13は、アンテナ11を介してウェイクアップ信号WuSを受信し、その受信したウェイクアップ信号WuSの受信電波を一定周期で包絡線検波する。そして、無線ノード72のウェイクアップ信号受信機13は、上述した方法によって4個のフレーム長FL1〜FL4を求める。そうすると、無線ノード72のウェイクアップ信号受信機13は、4個のフレーム長FL1〜FL4をウェイクアップ判定器14へ出力する。
【0130】
無線ノード72のウェイクアップ判定器14は、4個のフレーム長FL1〜FL4をウェイクアップ信号受信機13から受けると、対応表TBLを参照して、4個のフレーム長FL1〜FL4をビット値に変換してユニキャストIDを取得する。そうすると、無線ノード72のウェイクアップ判定器14は、ユニキャストIDが、予め保持したウェイクアップIDに一致すると判定し、起動信号を生成してホストシステム16へ出力する。
【0131】
無線ノード72のホストシステム16において、割込制御部168は、起動信号をウェイクアップ判定器14から受けると、無線ノード72の状態をスリープ状態から起動状態へ移行させるように状態制御部164に依頼し、状態制御部164は、無線ノード72の状態をスリープ状態から起動状態へ移行させるように電源制御部165に依頼する。そして、電源制御部165は、状態制御部164からの依頼に応じて指示信号COM1を生成して電源制御部19へ出力する。電源制御部19は、指示信号COM1に応じて、電力W1をホストシステム16へ供給し、駆動に必要な電力を無線通信モジュール15、センサー17およびアクチュエータ18へ供給する。これによって、無線ノード72は、スリープ状態から起動状態へ移行する(ステップS6)。
【0132】
その後、無線ノード72は、無線ノード1と同じ方法によって起動通知を生成してブロードキャストする。
【0133】
そうすると、無線ノード1の経路制御部163は、無線ノード72から送信された起動通知に応じて、MACアドレスMACadd72からなる親ノードのアドレスと、MACアドレスMACadd1からなる送信元と、“1”からなるDAOSequenceとを含むDAO1=[MACadd72/MACadd1/1]を生成して無線通信部162へ出力する。
【0134】
無線ノード1の無線通信部162は、DAO1=[MACadd72/MACadd1/1]を経路制御部163から受ける。そして、無線ノード1の無線通信部162は、その受けたDAO1=[MACadd72/MACadd1/1]を無線通信モジュール15へ出力し、DAO1=[MACadd72/MACadd1/1]を送信するように無線通信モジュール15を制御する。
【0135】
その後、無線ノード1の無線通信モジュール15は、無線通信部162からの制御に従ってDAO1=[MACadd72/MACadd1/1]をアンテナ12を介して送信する(ステップS7)。
【0136】
その後、無線ノード1は、上述した無線ノード72と同じ動作によって起動状態からスリープ状態へ移行する。
【0137】
無線ノード72の無線通信モジュール15は、アンテナ12を介してDAO1=[MACadd72/MACadd1/1]を受信し(ステップS8)、その受信したDAO1=[MACadd72/MACadd1/1]をホストシステム16へ出力する。
【0138】
無線ノード72のホストシステム16において、経路制御部163は、無線通信部162を介して無線通信モジュール15からDAO1=[MACadd72/MACadd1/1]を受ける。そして、無線ノード72の経路制御部163は、DAO1の先頭のアドレスMACadd72および2番目のアドレスMACadd1を参照して、無線ノード1がサーバ7の子ノードであることを検知する。無線ノード72は、無線ノード1からDAO1を直接受信したからである。そうすると、無線ノード72の経路制御部163は、ルーティングテーブル161の送信先および次の無線ノードにアドレスMACadd1を格納し、ホップ数に“1”を格納し、Rankに“512”を格納する。この場合、無線ノード72の経路制御部163は、DAO1を無線ノード1から直接受信したので、サーバ7から無線ノード1までのホップ数が“1”であることが解る。また、無線ノード72の経路制御部163は、サーバ7から無線ノード1までのホップ数が“1”であるので、無線ノード1のRankが“512”であることが解る。
【0139】
その後、無線ノード1は、ステップS1におけるサーバ7(=無線ノード72)の動作と同じ動作を実行し、ウェイクアップ信号WuSをブロードキャストする(ステップS9)。
【0140】
そして、無線ノード2は、ステップS2における無線ノード1の動作と同じ動作によってスリープ状態から起動状態へ移行し(ステップS10)、アドレスMACadd2を含む起動通知をブロードキャストする。
【0141】
その後、無線ノード1は、起動通知を受信すると、ステップS3におけるサーバ7(=無線ノード72)の動作と同じ動作によってDIOを送信し(ステップS11)、起動状態からスリープ状態へ移行する。
【0142】
無線ノード2は、DIOを受信し(ステップS12)、その受信したDIOに基づいて、上述した無線ノード1と同じ方法によってルーティングテーブル161に新たな経路の経路情報を格納する。また、無線ノード2は、受信したDIOに含まれるRank(=512)に基づいて、自己のRankが“768”であることを検知し、“768”からなるRankを保持する。更に、無線ノード2は、受信したDIOに含まれるDTSNの数値が増加していることを検知し、DAOを送信すると判定する。
【0143】
そうすると、無線ノード2は、ステップS5における無線ノード1の動作と同じ動作によってユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSをユニキャストする(ステップS13)。
【0144】
無線ノード1は、ステップS2における動作と同じ動作によって、スリープ状態から起動状態へ移行し(ステップS14)、無線ノード1のアドレスMACadd1を含む起動通知をブロードキャストする。
【0145】
無線ノード2は、起動通知を受信すると、ステップS7における動作と同じ動作によってDAOを送信する(ステップS15)。その後、無線ノード2は、起動状態からスリープ状態へ移行する。
【0146】
無線ノード1は、DAOを受信し(ステップS16)、DAOに含まれるDAOSequence基づいて、上述した方法によって、受信したDAOが最新であると判定し、DAOを転送すべきと判定する。
【0147】
そして、無線ノード1は、ステップS5の動作と同じ動作によってユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS17)。
【0148】
そして、サーバ7の無線ノード72は、ステップS6における動作と同じ動作によってスリープ状態から起動状態へ移行し(ステップS18)、無線ノード72のアドレスMACadd72を含む起動通知をブロードキャストする。
【0149】
その後、無線ノード1は、起動通知を受信すると、ステップS6における動作と同じ動作によってDAOを送信する(ステップS19)。
【0150】
サーバ7の無線ノード72は、DAOを受信し(ステップS20)、DAOの親ノードのアドレスがMACadd1からなり、送信元がMACアドレスMACadd2からなるので、ルーティングテーブル161の送信先にMACアドレスMACadd2を格納し、次の無線ノードにMACアドレスMACadd1を格納し、ホップ数に“2”を格納し、Rankに“768”を格納してルーティングテーブル161を更新する。なお、無線ノード72は、自己から無線ノード1までのホップ数が“1”であることが無線ノード1を送信先とする経路に対応してルーティングテーブル161に既に格納されており、無線ノード2の親ノードが無線ノード1であるので、自己から無線ノード2までのホップ数が“2”であることを検知できる。また、無線ノード72は、無線ノード1のRankが“512”であることが無線ノード1を送信先とする経路に対応してルーティングテーブル161に既に格納されており、無線ノード2の親ノードが無線ノード1であるので、無線ノード2のRankが“768”であることを検知できる。
【0151】
以降、サーバ7(=無線ノード72)および無線ノード1〜6は、上述した動作を繰り返し実行し、サーバ7から各無線ノード1〜6までの経路を確立し、その確立した経路の経路情報を含むルーティングテーブル161を作成する。そして、無線ノード72は、その作成したルーティングテーブル161に基づいて、無線ノード1〜6,72のトポロジー状態を示すトポロジー図を作成して保持する。
【0152】
図11に示すフローチャートにおいて、サーバ7の無線ノード72は、DIOを送信する場合、ウェイクアップ信号をブロードキャストして無線ノード1を起動状態へ移行させ、その後、DIOを送信する(ステップS1〜S3参照)。そして、無線ノード72は、DIOの送信を完了すると、スリープ状態へ移行する。
【0153】
また、無線ノード1は、ウェイクアップ信号に応じて起動状態へ移行すると、DIOを受信し、DAOを送信する場合、ウェイクアップ信号をユニキャストして無線ノード72を起動状態へ移行させ、その後、DAOを送信する(ステップS4,S5,S7参照)。そして、無線ノード1は、DAOの送信を完了すると、スリープ状態へ移行する。
【0154】
更に、無線ノード1は、DIOを送信する場合、ウェイクアップ信号をブロードキャストして無線ノード2を起動状態へ移行させ、その後、DIOを送信する(ステップS9〜S11参照)。そして、無線ノード1は、DIOの送信を完了すると、スリープ状態へ移行する。
【0155】
更に、無線ノード2は、ウェイクアップ信号に応じて起動状態へ移行すると、DIOを受信し、DAOを送信する場合、ウェイクアップ信号をユニキャストして無線ノード1を起動状態へ移行させ、その後、DAOを送信する(ステップS12,S13,S15参照)。そして、無線ノード2は、DAOの送信を完了すると、スリープ状態へ移行する。
【0156】
更に、無線ノード1は、ウェイクアップ信号に応じて起動状態へ移行すると、DAOを受信し、DAOを転送する場合、ウェイクアップ信号をユニキャストしてサーバ7の無線ノード72を起動状態へ移行させ、その後、DAOを送信する(ステップS16,S17,S19参照)。そして、無線ノード1は、DAOの送信を完了すると、スリープ状態へ移行する。
【0157】
このように、無線ノード1,2,72の各々は、起動状態へ移行すると、必要な動作を行った後、スリープ状態へ移行する。そして、起動状態においては、無線ノード1は、無線ノード2から受信したDAOの転送が必要な場合、DAOの送信を完了した後にスリープ状態へ移行する。その結果、無線ノード2から送信されたDAOは、迅速にサーバ7へ届けられる。つまり、各無線ノード1,2,72は、必要な場合のみ起動状態へ移行して必要な動作を行った後、スリープ状態へ移行する。
【0158】
従って、高い省電力性および高いレスポンス性を実現できる。
【0159】
図12は、図11に示すフローチャートに従って構築されるトポロジーの例を示す図である。
【0160】
図12を参照して、図11に示すステップS1〜S8が実行されることにより、無線ノード1がサーバ7に接続される(図12の(a)参照)。
【0161】
その後、図11に示すステップS9〜S20が実行されることにより、無線ノード2が無線ノード1に接続される(図12の(b)参照)。
【0162】
そして、図11に示すステップS1〜ステップS20が繰り返し実行されることにより、無線ノード3がサーバ7に接続され(図12の(c)参照)、無線ノード4が無線ノード3に接続され、無線ノード5が無線ノード3に接続され、無線ノード6が無線ノード4に接続される(図12の(d)参照)。
【0163】
rootノードである無線ノード72がルーティングテーブル161を作成する場合、無線ノード72は、無線ノード1〜6の各々が作成した制御パケットDAOを受信し、その制御パケットDAOには、制御パケットDAOを作成した無線ノード(=無線ノード1〜6のいずれか)の親ノードのアドレスが格納されている。従って、無線ノード72は、無線ノード1〜6の各々が作成した制御パケットDAOを順次受信することによって、図12の(d)に示すトポロジーを把握できる。
【0164】
このように、無線センサーネットワーク10においては、ループ状の経路が存在せず、かつ、ツリー構造のトポロジーがRPLに従って構築される。
【0165】
そして、サーバ7の無線ノード72がrootであり、無線ノード1,3の親ノードが無線ノード72である。また、無線ノード1は、無線ノード2の親ノードであり、無線ノード3は、無線ノード4,5の親ノードである。更に、無線ノード4は、無線ノード6の親ノードである。
【0166】
一方、無線ノード1,3は、無線ノード72の子ノードであり、無線ノード4,5は、無線ノード3の子ノードであり、無線ノード6は、無線ノード4の子ノードである。
【0167】
その結果、無線ノード72は、2つの無線ノード1,3を子ノードとして持ち、無線ノード1は、1つの無線ノード2を子ノードとして持ち、無線ノード3は、2つの無線ノード4,5を子ノードとして持ち、無線ノード4は、1つの無線ノード6を子ノードとして持つ。
【0168】
このように、無線ノード1〜6,72は、RPLに従って、各無線ノードの親ノードが1個であるようにトポロジーを構築する。
【0169】
また、同じ値からなるRankを含む複数のDIOを受信した場合、各無線ノードは、単位時間当たりに送受信されるDIOの送受信数である送受信確率を演算し、その演算した送受信確率が最大であるDIOを送信した無線ノードを親ノードとして選択する。
【0170】
図11に示すフローチャートは、定期的(例えば、30分ごと)に実行され、または新たな無線ノードが無線センサーネットワーク10に参入したときに実行され、または各無線ノード1〜6の親ノードが変更または削除されたときに実行される。また、図11に示すフローチャートは、トポロジーが変化したときに実行される。
【0171】
新たな無線ノードが無線センサーネットワーク10に参入した場合、新たに参入した無線ノードは、DIOの送信要求であるDISをブロードキャストする。そして、DISを受信した無線ノードがDIOを送信することによって図11に示すフローチャートが実行され、新たなトポロジーが構築される。
【0172】
図13は、図9に示すルーティングテーブル161の具体例を示す図である。なお、図13に示すルーティングテーブル161−1は、図12の(d)に示す無線ノード4におけるルーティングテーブル161である。
【0173】
図13を参照して、無線ノード4のルーティングテーブル161−1は、送信先として、無線ノード3,6,72を有する。送信先が無線ノード3(MACadd3)である場合、送信先に対応する「次の無線ノード」には、無線ノード3のMACアドレスMACadd3が格納される。そして、送信先に対応する「ホップ数」には、“1”が格納される。また、送信先に対応する「Rank」には、“512”が格納される。
【0174】
無線ノード4は、無線ノード3で生成された制御パケットDIOを無線ノード3から受信し、その受信した制御パケットDIOに含まれる送信元が無線ノード3(=MACadd3)であることを検知することにより、無線ノード3が自己に隣接する無線ノードであること、および無線ノード3までのホップ数が“1”であることを検知する。また、無線ノード4は、無線ノード3から受信した制御パケットDIOに含まれる「Rank」に“512”が格納されていることを検知し、無線ノード3の「Rank」が“512”であることを検知する。従って、無線ノード4は、ルーティングテーブル161−1の第1行目の経路情報を作成できる。
【0175】
また、無線ノード4は、無線ノード3から受信した制御パケットDIOに含まれる「Rank」が“512”であり、制御パケットDIOに含まれる「rootのアドレス」がMACadd72であることを検知すると、自己の「Rank」が“768”(=512+256)であることを検知する。そして、無線ノード4は、自己の「Rank」が“768”であり、「Rank」は、1ホップごとに“256”づつ増加するので、“768”を“256”で除算し、その除算結果“3”から“1”を減算することにより、無線ノード72までのホップ数(=2)を取得する。なお、除算結果“3”から“1”を減算するのは、無線ノード72の「Rank」が“256”であるので、ホップ数を求めるには、「Rank」が何回増加したかを求める必要があるからである。また、「rootのアドレス」がMACadd72であるので、無線ノード4は、送信先としての無線ノード72に対応する「Rank」が“256”であることが解る。更に、無線ノード4は、制御パケットDIOを無線ノード3から受信し、無線ノード72までのホップ数が“2”であるので、送信先としての無線ノード72に対応する「次の無線ノード」が無線ノード3(=MACadd3)であることを検知する。従って、無線ノード4は、ルーティングテーブル161−1の第2行目の経路情報を作成できる。
【0176】
更に、無線ノード4は、無線ノード3から受信した制御パケットDIOに基づいて、同様にして、ルーティングテーブル161−1の第4行目の経路情報を作成する。
【0177】
更に、無線ノード4は、無線ノード6から制御パケットDAOを受信し、その受信した制御パケットDAOに含まれる送信元(=MACadd6)に基づいて、無線ノード6が自己に隣接する子ノードであることを検知する。制御パケットDAOに含まれる「親ノードのアドレス」がMACadd4(=無線ノード4)からなり、制御パケットDAOは、制御パケットDIOの応答であり、かつ、上り方向(各無線ノード1〜6からサーバ7(=無線ノード72)への方向)で送信される制御パケットである。従って、無線ノード4は、無線ノード6が自己の子ノードであることを検知する。また、無線ノード4は、制御パケットDAOを無線ノード6から直接受信したので、無線ノード6までのホップ数が“1”であることを検知する。更に、無線ノード4は、自己の「Rank」が“768”であり、無線ノード6までのホップ数が“1”であるので、無線ノード6の「Rank」が“1024”であることを検知する。従って、無線ノード4は、ルーティングテーブル161−1の第3行目の経路情報を作成できる。
【0178】
なお、サーバ7(=無線ノード72)が制御指示を含むデータパケットを無線ノード6へ送信する場合、サーバ7(=無線ノード72)は、無線ノード72から無線ノード6までの経路情報(=無線ノード72→無線ノード1→無線ノード4→無線ノード6)と制御指示とを含むデータパケットを生成して送信する。従って、経路情報(=無線ノード72→無線ノード1→無線ノード4→無線ノード6)上の無線ノード1,4の各々は、経路情報(=無線ノード72→無線ノード1→無線ノード4→無線ノード6)を参照することによって、自己から2ホップ以上離れた無線ノードを送信先とする経路情報をルーティングテーブル161に格納できる。
【0179】
その結果、無線ノード1〜6の各々は、無線センサーネットワーク10を構成する全ての無線ノードを送信先とする経路情報をルーティングテーブル161に格納できる。
【0180】
図14は、図1に示す無線センサーネットワーク10におけるセンサー値の転送動作を説明するためのフローチャートである。
【0181】
図14を参照して、無線ノード2において、ホストシステム16の割込制御部168は、タイマー制御部170から起動時刻を受けると、無線ノード2を起動状態へ移行させるように状態制御部164に依頼する。
【0182】
状態制御部164は、割込制御部168からの依頼に応じて、無線ノード2を起動状態へ移行させるように電源制御部165に依頼する。そして、電源制御部165は、状態制御部164からの依頼に応じて指示信号COM1を電源制御部19へ出力する。
【0183】
電源制御部19は、指示信号COM1に応じて、電力W1をホストシステム16に供給し、駆動に必要な電力を無線通信モジュール15、センサー17およびアクチュエータ18に供給する。
【0184】
これによって、無線ノード2は、起動状態へ移行する。そして、無線ノード2のセンサー制御部167は、センサー値を検出するようにセンサー17を制御する。無線ノード2のセンサー17は、センサー制御部167からの制御に従ってセンサー値を検出し、その検出したセンサー値をセンサー制御部167へ出力する。
【0185】
無線ノード2のセンサー制御部167は、センサー17からセンサー値を受けると、その受けたセンサー値を無線通信部162へ出力するとともにセンサー値をサーバ7(=無線ノード72)へ送信するために無線ノード2の親ノードを起動させるように割込制御部168に依頼する。
【0186】
無線通信部162は、センサー値を受けると、その受けたセンサー値をサーバ7(=無線ノード72)へ送信するために無線ノード2の親ノードを経路制御部163に問い合わせる。経路制御部163は、無線通信部162からの問い合わせに応じて、ルーティングテーブル161を参照して無線ノード2の親ノードとして無線ノード1を検出し、その検出した無線ノード1のアドレスMACadd1を無線通信部162へ出力する。
【0187】
無線通信部162は、無線ノード1のアドレスMACadd1を受けると、無線ノード1のアドレスMACadd1とセンサー値とを含むデータパケットを生成して無線通信モジュール15へ出力し、センサー値を含むデータパケットを無線ノード1へ送信するように無線通信モジュール15を制御する。
【0188】
一方、割込制御部168は、センサー制御部167からの依頼に応じて、無線ノード2の親ノードを起動させるようにウェイクアップ制御部169に依頼する。ウェイクアップ制御部169は、割込制御部168からの依頼に応じて、センサー値の送信先を無線通信部162に問い合わせ、センサー値の送信先として無線ノード1のアドレスMACadd1を無線通信部162から受ける。
【0189】
その後、無線ノード2は、図11に示すステップS13における動作と同じ動作によって、ユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS21)。
【0190】
そして、無線ノード1は、図11に示すステップS2における動作と同じ動作によって、無線ノード2からのウェイクアップ信号WuSに応じてスリープ状態から起動状態へ移行し(ステップS22)、無線ノード1のアドレスMACadd1を含む起動通知をブロードキャストする。
【0191】
無線ノード2は、起動通知を受信すると、無線ノード1が起動したことを検知する。そして、無線ノード2の無線通信モジュール15は、センサー制御部167から受けたアドレスMACadd1およびセンサー値と、無線ノード2のアドレスMACadd2と、サーバ7のアドレスMACadd72とを含むパケットPKT1=[MACadd72/MACadd1/MACadd2/センサー値]を生成し、その生成したパケットPKT1=[MACadd72/MACadd1/MACadd2/センサー値]をアンテナ12を介して送信する(ステップS23)。その後、無線ノード2は、起動状態からスリープ状態へ移行する。
【0192】
無線ノード1は、無線ノード2からパケットPKT1=[MACadd72/MACadd1/MACadd2/センサー値]を受信する(ステップS24)。そして、無線ノード1は、パケットPKT1の先頭のアドレスがサーバ7のアドレスMACadd72であることを検知し、パケットPKT1をサーバ7へ転送すべきことを検知する。
【0193】
そして、無線ノード1は、ステップS21における無線ノード2の動作と同じ動作によって、ユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS25)。サーバ7の無線ノード72は、無線ノード2からのウェイクアップ信号WuSに応じて、スリープ状態から起動状態へ移行し(ステップS26)、無線ノード72のアドレスMACadd72を含む起動通知をブロードキャストする。
【0194】
無線ノード1は、起動通知を受信すると、パケットPKT1=[MACadd72/MACadd1/MACadd2/センサー値]のアドレスMACadd1をアドレスMACadd72に変えたパケットPKT2=[MACadd72/MACadd72/MACadd2/センサー値]を生成し、その生成したパケットPKT2=[MACadd72/MACadd72/MACadd2/センサー値]を送信する(ステップS27)。そして、無線ノード1は、起動状態からスリープ状態へ移行する。
【0195】
サーバ7の無線ノード72は、無線ノード1からパケットPKT2=[MACadd72/MACadd72/MACadd2/センサー値]を受信する(ステップS28)。そして、無線ノード72の無線通信モジュール15は、その受信したパケットPKT2から送信元のアドレスMACadd2およびセンサー値を取り出し、その取り出したアドレスMACadd2およびセンサー値をホストシステム16へ出力する。
【0196】
そして、無線ノード72のホストシステム16は、無線通信モジュール15からアドレスMACadd2およびセンサー値を受け、その受けたアドレスMACadd2およびセンサー値をRS−232C74を介してパーソナルコンピュータ71へ出力する。
【0197】
パーソナルコンピュータ71のWebサーバ712は、アドレスMACadd2およびセンサー値を受け、その受けたアドレスMACadd2およびセンサー値を相互に対応付けてデータベース712に格納する。
【0198】
その後、無線ノード1は、タイマー割込みによってスリープ状態から起動状態へ移行し、センサー17によってセンサー値を検出する。そうすると、無線ノード1は、ステップS21における無線ノード2の動作と同じ動作によって、ユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS29)。
【0199】
サーバ7の無線ノード72は、無線ノード1からのウェイクアップ信号WuSに応じてスリープ状態から起動状態へ移行し(ステップS30)、無線ノード72のアドレスMACadd72を含む起動通知をブロードキャストする。
【0200】
無線ノード1は、起動通知を受信すると、ステップS23における無線ノード2の動作と同じ動作によって、センサー値を含むパケットPKT3=[MACadd72/MACadd72/MACadd1/センサー値]を送信する(ステップS31)。
【0201】
サーバ7の無線ノード72は、パケットPKT3=[MACadd72/MACadd72/MACadd1/センサー値]を受信し(ステップS32)、パケットPKT3から送信元のアドレスMACadd1とセンサー値とを取り出す。そして、サーバ7は、ステップS28における動作と同じ動作によって、アドレスMACadd1およびセンサー値を相互に対応付けてデータベース712に格納する。
【0202】
その後、表示端末8は、LANまたはWLANを介してセンサー値の閲覧要求をサーバ7へ送信する(ステップS33)。サーバ7において、パーソナルコンピュータ71のWebサーバ711は、閲覧要求に応じて、データベース712からセンサー値および送信元を読み出し、その読み出したセンサー値および送信元に基づいて、表示端末8の表示画面に無線ノード1〜6のトポロジーを描画するとともに、各無線ノード1〜6が配置された部分に対応するセンサー値を描画する(ステップS34)。
【0203】
このように、図13に示すフローチャートに従って、無線ノード1〜6で検出されたセンサー値がサーバ7へ送信され、表示端末8に表示される。
【0204】
図13に示すフローチャートにおいて、無線ノード2は、センサー値を送信する場合、ウェイクアップ信号をユニキャストして無線ノード2を起動状態へ移行させ、その後、センサー値を送信する(ステップS21〜S23参照)。そして、無線ノード2は、センサー値の送信を完了すると、スリープ状態へ移行する。
【0205】
また、無線ノード1は、ウェイクアップ信号に応じて起動状態へ移行すると、センサー値を受信し、センサー値を転送する場合、ウェイクアップ信号をユニキャストして無線ノード72を起動状態へ移行させ、その後、センサー値を送信する(ステップS25,S26,S27参照)。そして、無線ノード1は、センサー値の転送を完了すると、スリープ状態へ移行する。
【0206】
更に、無線ノード1は、自己のセンサー17が検出したセンサー値を送信する場合、ウェイクアップ信号をユニキャストして無線ノード72を起動状態へ移行させ、その後、センサー値を送信する(ステップS29〜S31参照)。そして、無線ノード1は、センサー値の送信を完了すると、スリープ状態へ移行する。
【0207】
このように、無線ノード1,2,72の各々は、センサー値のサーバ7への送信および転送動作において、起動状態へ移行すると、必要な動作を行った後、スリープ状態へ移行する。そして、起動状態においては、無線ノード1は、無線ノード2から受信したセンサー値を転送する場合、センサー値の転送を完了した後にスリープ状態へ移行する。その結果、無線ノード2から送信されたセンサー値は、迅速にサーバ7へ届けられる。つまり、各無線ノード1,2,72は、必要な場合のみ起動状態へ移行して必要な動作を行った後、スリープ状態へ移行する。
【0208】
従って、センサー値のサーバ7への送信および転送動作において、高い省電力性および高いレスポンス性を実現できる。
【0209】
図15は、表示端末8の表示画面の例を示す図である。図15を参照して、表示端末8の表示画面81には、無線ノード1〜6のトポロジーが描画されるとともに、無線ノード1〜6がそれぞれ検出した温度、温度、CO濃度、照度、湿度、および照度が表示される。
【0210】
図16は、図1に示す無線センサーネットワーク10におけるアクチュエータ18の制御動作を説明するためのフローチャートである。
【0211】
図16を参照して、アクチュエータ18の制御が開始されると、表示端末8は、アクチュエータ18のリスト要求をサーバ7へ送信する(ステップS41)。
【0212】
サーバ7のパーソナルコンピュータ71は、リスト要求を受信し、データベース712に格納された無線ノード1〜6のアドレスMACadd1〜MACadd6を読み出し、その読み出したアドレスMACadd1〜MACadd6をアクチュエータ18のリストとして表示端末8へ送信する(ステップS42)。
【0213】
なお、アドレスMACadd1〜MACadd6をアクチュエータ18のリストとするのは、無線ノード1〜6は、全て、アクチュエータ18を備えているので、無線ノード1〜6のアドレスMACadd1〜MACadd6で無線ノード1〜6に備えられたアクチュエータ18を表すことにしたからである。
【0214】
表示端末8は、アクチュエータ18のリストを受信すると、その受信したアクチュエータ18のリストを表示画面812に表示する。そして、端末装置8は、キーボード等の入力装置を介して各アクチュエータ18に対する制御指示を受け付ける。
【0215】
そうすると、表示端末8は、制御指示をサーバ7へ送信する(ステップS43)。
【0216】
サーバ7のパーソナルコンピュータ71は、制御指示を受信し、その受信した制御指示をRC−232C73を介して無線ノード72へ出力する。
【0217】
無線ノード72において、ホストシステム16のアクチュエータ制御部166は、制御指示をパーソナルコンピュータ71から受け、その受けた制御指示を無線通信部162へ出力するとともに制御指示を無線ノード2へ送信するために無線ノード72の子ノードを起動させるように割込制御部168に依頼する。
【0218】
無線通信部162は、制御指示を受けると、その受けた制御指示を無線ノード2へ送信するための経路を経路制御部163に問い合わせる。経路制御部163は、無線通信部162からの問い合わせに応じて、ルーティングテーブル161を参照して無線ノード72から無線ノード2までの経路=[MACadd72→MACadd1→MACadd2]を検出し、その検出した経路=[MACadd72→MACadd1→MACadd2]を無線通信部162へ出力する。
【0219】
無線通信部162は、経路=[MACadd72→MACadd1→MACadd2]を受けると、経路=[MACadd72→MACadd1→MACadd2]と制御指示とを含むパケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]を生成して無線通信モジュール15へ出力し、パケットPKT4を無線ノード2へ送信するように無線通信モジュール15を制御する。
【0220】
一方、割込制御部168は、センサー制御部167からの依頼に応じて、無線ノード72の子ノードを起動させるようにウェイクアップ制御部169に依頼する。ウェイクアップ制御部169は、割込制御部168からの依頼に応じて、制御指示の送信先を無線通信部162に問い合わせ、制御指示の送信先として無線ノード1のアドレスMACadd1を無線通信部162から受ける。
【0221】
その後、無線ノード72は、図11に示すステップS13における動作と同じ動作によって、ユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS44)。
【0222】
そして、無線ノード1は、図11に示すステップS2における動作と同じ動作によって、無線ノード72からのウェイクアップ信号WuSに応じてスリープ状態から起動状態へ移行し(ステップS45)、無線ノード1のアドレスMACadd1を含む起動通知をブロードキャストする。
【0223】
無線ノード72は、起動通知を受信すると、無線ノード1が起動したことを検知する。そして、無線ノード72の無線通信モジュール15は、パケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]をアンテナ12を介して送信する(ステップS46)。
【0224】
無線ノード1の無線通信モジュール15は、パケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]を受信する(ステップS47)。そして、無線ノード1の無線通信モジュール15は、パケットPKT4をホストシステム16の無線通信部162へ出力する。
【0225】
無線ノード1の無線通信部162は、パケットPKT4の経路=[MACadd72→MACadd1→MACadd2]を参照して、パケットPKT4を無線ノード2へ送信すべきことを検知する。
【0226】
そして、無線ノード1の無線通信部162は、パケットPKT4を無線ノード2へ送信するために無線ノード2を起動させるようにウェイクアップ制御部169に依頼する。
【0227】
その後、無線ノード1は、ステップS44における動作と同じ動作によって、ユニキャストIDを表すフレーム長を有するフレームからなるウェイクアップ信号WuSを送信する(ステップS48)。
【0228】
無線ノード2は、無線ノード1からのウェイクアップ信号WuSに応じて起動状態へ移行し(ステップS49)、無線ノード2のアドレスを含む起動通知をブロードキャストする。
【0229】
無線ノード1は、起動通知を受信し、無線ノード2が起動したことを検知する。そして、無線ノード1の無線通信モジュール15は、パケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]を送信する(ステップS50)。
【0230】
無線ノード2の無線通信モジュール15は、パケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]を受信し、その受信したパケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]をホストシステム16の無線通信部162へ出力する。
【0231】
無線ノード2の無線通信部162は、パケットPKT4=[[MACadd72→MACadd1→MACadd2]/制御指示]を受け、その受けたパケットPKT4の経路=[MACadd72→MACadd1→MACadd2]を参照して、パケットPKT4の宛先が無線ノード2であることを検知する。そして、無線ノード2の無線通信部162は、パケットPKT4から制御指示を取り出し、その取り出した制御指示をアクチュエータ制御部166へ出力する。
【0232】
無線ノード2のアクチュエータ制御部166は、制御指示を受け、その受けた制御指示に従って、アクチュエータ18を制御する(ステップS51)。
【0233】
アクチュエータ18の制御が完了すると、アクチュエータ制御部166は、アクチュエータ18の制御が完了したことを示すアクチュエータ制御応答を生成して無線通信部162へ出力し、アクチュエータ制御応答をサーバ7へ送信するように依頼する。
【0234】
無線ノード2の無線通信部162は、アクチュエータ制御部166からの依頼に応じて、アクチュエータ制御応答をサーバ7へ送信するように無線通信モジュール15を制御する。
【0235】
その後、無線ノード2は、図13に示すステップS23における動作と同じ動作によってアクチュエータ制御応答を無線ノード1へ送信し(ステップS52)、起動状態からスリープ状態へ移行する。
【0236】
そして、無線ノード1は、無線ノード2から受信したアクチュエータ制御応答をサーバ7へ転送し(ステップS53)、起動状態からスリープ状態へ移行する。
【0237】
サーバ7の無線ノード72は、無線ノード1からアクチュエータ制御応答を受信し、その受信したアクチュエータ制御応答をRS−232C74を介してパーソナルコンピュータ71へ出力し、パーソナルコンピュータ71は、無線ノード72から受けたアクチュエータ制御応答をLANまたはWLANを介して表示端末8へ送信する(ステップS54)。そして、無線ノード72は、起動状態からスリープ状態へ移行する。これによって、アクチュエータ18の制御動作が終了する。
【0238】
図16に示すフローチャートにおいて、無線ノード72は、制御指示を送信する場合、ウェイクアップ信号をユニキャストして無線ノード1を起動状態へ移行させ、その後、制御指示を送信する(ステップS44〜S46参照)。そして、無線ノード72は、アクチュエータ制御応答を受信し、アクチュエータ制御応答を表示端末8へ送信すると(ステップS53,S54参照)、スリープ状態へ移行する。
【0239】
また、無線ノード1は、ウェイクアップ信号に応じて起動状態へ移行すると、制御指示を受信し、制御指示を転送する場合、ウェイクアップ信号をユニキャストして無線ノード2を起動状態へ移行させ、その後、制御指示を送信する(ステップS47,S48,S50参照)。そして、無線ノード1はアクチュエータ制御応答を受信し、アクチュエータ制御応答をサーバ7へ送信すると(ステップS52,S53参照)、スリープ状態へ移行する。
【0240】
更に、無線ノード2は、ウェイクアップ信号に応じて起動状態へ移行すると、制御指示を受信し、アクチュエータを制御する(ステップS51参照)。そして、無線ノード2は、アクチュエータ制御応答を送信すると(ステップS52参照)、スリープ状態へ移行する。
【0241】
このように、無線ノード1,2,72の各々は、アクチュエータ18の制御動作において、起動状態へ移行すると、必要な動作を行った後、スリープ状態へ移行する。そして、起動状態においては、無線ノード1は、無線ノード72から受信した制御指示を無線ノード2へ転送し、無線ノードから受信したアクチュエータ制御応答を無線ノード72へ転送した後にスリープ状態へ移行する。その結果、制御指示は、無線ノード72から無線ノード2へ迅速に届けられる。また、アクチュエータ制御応答は、無線ノード2からサーバ7へ迅速に届けられる。
【0242】
従って、アクチュエータ18の制御動作において、高い省電力性および高いレスポンス性を実現できる。
【0243】
上述した経路確立(図11参照)、センサー値の転送動作(図14参照)およびアクチュエータの制御動作(図16参照)においては、各無線ノード1〜6,72は、スリープ状態においてウェイクアップ信号を受信し、起動状態において制御パケットDIO,DAOおよびデータパケット(センサー値または制御指示を含む)を送受信する。そして、各無線ノード1〜6,72のスリープ状態における消費電力は、起動状態における消費電力よりも少ない。
【0244】
従って、各無線ノード1〜6,72は、無線通信により制御パケットまたはデータパケットを送受信可能な無線通信機能と、無線通信機能よりも低消費電力でウェイクアップ信号を受信可能な信号受信機能とを備える。そして、各無線ノード1〜6,72は、スリープ状態でウェイクアップ信号を待ち受けるので、スリープ状態とは、無線通信機能よりも低消費電力でウェイクアップ信号を受信可能な信号受信機能でウェイクアップ信号を待ち受ける状態とも言うことができる。
【0245】
ウェイクアップIDとしてのマルチキャストIDの実施例について説明する。LocalマルチキャストIDを用いる例としては、複数システムが同時に運用されている例、および待機系ネットワークの例が想定される。また、ParentマルチキャストIDおよびChildマルチキャストIDを用いるのが便利な場合もある。
【0246】
図17は、複数のシステムが同時に運用される例を示す図である。図17を参照して、白四角は、サーバを表し、白三角および白丸は、無線ノードを表す。サーバSv1,Sv2の各々は、サーバ7と同じ構成からなり、無線ノードN1〜N14の各々は、無線ノード1〜6と同じ構成からなる。
【0247】
無線ノードN1〜N7は、図11に示すフローチャートに従ってサーバSv1をrootノードとするツリー構造を形成する。無線ノードN8〜N14は、図11に示すフローチャートに従ってサーバSv2をrootノードとするツリー構造を形成する。
【0248】
即ち、サーバSv1および無線ノードN1〜N7は、無線センサーネットワークWSN1を構成し、サーバSv2および無線ノードN8〜N14は、無線センサーネットワークWSN2を構成する。
【0249】
この場合、LocalマルチキャストIDを用いることによって無線センサーネットワークWSN1に属する無線ノードN1〜N7のみを起動させることができる。即ち、サーバSv1は、無線センサーネットワークWSN1を一意に特定するESSID、PANIDおよびRPL instance IDのいずれかを用いてLocalマルチキャストIDを生成し、その生成したLocalマルチキャストIDを対応表TBLを参照してフレーム長に変換し、その変換したフレーム長を有するフレームをウェイクアップ信号としてブロードキャストする。
【0250】
これによって、無線ノードN8〜N14は、サーバSv1から送信されたウェイクアップ信号を受信しても起動状態へ移行せず、無線ノードN1〜N7は、サーバSv1から送信されたウェイクアップ信号を受信して起動状態へ移行する。
【0251】
無線センサーネットワークWSN2に属する無線ノードN8〜N14のみを起動させる場合も同様に行う。
【0252】
図18は、待機系ネットワークの例を示す図である。図18を参照して、白四角は、サーバを表し、白三角および白丸は、無線ノードを表す。サーバSv1は、サーバ7と同じ構成からなり、無線ノードN1〜N13の各々は、無線ノード1〜6と同じ構成からなる。
【0253】
サーバSv1および無線ノードN1〜N13は、図11に示すフローチャートを実行してサーバSv1をrootノードとするツリー構造を形成している。そして、無線ノードN1〜N8は、主系の無線ノードであり、無線ノードN9〜N13は、待機系の無線ノードである。
【0254】
サーバSv1は、主系の無線ノードN1〜N8と、待機系の無線ノードN9〜N13とを収容する。そして、無線ノードN1〜N8における使用チャネルは、無線ノードN9〜N13における使用チャネルと異なる。また、無線ノードN1〜N13の各々は、主系のLocalマルチキャストIDと待機系のLocalマルチキャストIDとを予め保持している。更に、主系の無線ノードN1〜N8は、主系のLocalマルチキャストIDで起動し、待機系の無線ノードN9〜N13は、待機系のLocalマルチキャストIDで起動する。
【0255】
そして、センサー値の収集には、主系の無線ノードN1〜N8を使用し、トポロジーの構築/維持には、待機系の無線ノードN9〜N13を使用する。
【0256】
無線ノードN8がセンサー値をサーバSv1へ送信する場合、無線ノードN8と無線ノードN5との間で通信障害が発生した場合、無線ノードN8は、待機系のLocalマルチキャストIDを生成し、その生成したLocalマルチキャストIDを対応表TBLを参照してフレーム長に変換し、その変換したフレーム長を有するフレームを送信して待機系の無線ノードN9〜N13を起動状態へ移行させる。その後、無線ノードN8は、無線ノードN5に代えて無線ノードN13へセンサー値を送信する。これによって、センサー値は、迅速にサーバSv1へ届く。
【0257】
従って、主系のLocalマルチキャストIDおよび待機系のLocalマルチキャストIDを用いた場合、主系の無線ノードN1〜N8から待機系の無線ノードN9〜N13への切り替えを迅速に行うことができ、無線センサーネットワーク10の信頼性を向上できる。
【0258】
図19は、ParentマルチキャストIDおよびChildマルチキャストIDを用いる例を示す図である。図19を参照して、白四角は、サーバを表し、白丸は、無線ノードを表す。サーバSv1は、サーバ7と同じ構成からなり、無線ノードN1〜N12の各々は、無線ノード1〜6と同じ構成からなる。
【0259】
サーバSv1および無線ノードN1〜N12は、図11に示すフローチャートを実行してサーバSv1をrootノードとするツリー構造を構築している。
【0260】
無線ノードN6は、自己の親ノードである無線ノードN1〜N3をまとめて起動させる場合、無線ノードN1〜N3をまとめて起動させるためのParentマルチキャストIDをルーティングテーブル161に基づいて生成する。より具体的には、無線ノードN6は、ルーティングテーブル161において、自己のRankよりも“256”だけ小さいRankを有する送信先によって示される全ての無線ノードN1〜N3を検出し、その検出した無線ノードN1〜N3のMACアドレスMACaddN1〜MACaddN3のハッシュ値を演算して無線ノードN1〜N3をまとめて起動させるためのParentマルチキャストIDを生成する。そして、無線ノードN6は、その生成したParentマルチキャストIDを対応表TBLを参照してフレーム長に変換し、その変換したフレーム長を有するフレームをウェイクアップ信号として送信する。これによって、無線ノードN6は、無線ノードN1〜N3をまとめて起動でき、無線ノードN1〜N3のうちの任意の1つを経由してサーバSv1へ制御パケットDAOを送信できる。従って、制御パケットDAOをサーバ7へ送信するときの経路選択の自由度を大きくできる。図19においては、無線ノードN6は、3個の無線ノードN1〜N3を親ノードとして有することを示すが、図19に示すトポロジーは、サーバSv1までの経路を確立する過程において形成されるものであり、最終的に構築されるトポロジーではない。また、RPLに従って構築されたトポロジーにおいては、各無線ノードの親ノードは、本来、1個であるが、親ノードの候補を含めると、ParentマルチキャストIDを用いて複数の親ノードを指定できる。従って、ParentマルチキャストIDを送信して複数の親ノードのいずれかを起動させ、その起動させた無線ノードへセンサー値を送信することができる。
【0261】
このように、サーバSv1から2ホップ以上離れている無線ノードN6は、自己からサーバSv1までの経路において自己よりもサーバSv1側に存在し、かつ、特定のグループに含まれる複数の無線ノードN1〜N3へ電波範囲内の特定の無線ノードのグループを起動状態へ移行させるためのParentマルチキャストIDをフレーム長変調してブロードキャストし、複数の無線ノードN1〜N3のいずれかへセンサー値を送信する。そして、この処理は、図14に示すステップS21,S23において実行され、「第8の処理」を構成する。
【0262】
また、サーバSv1から2ホップ以上離れている無線ノードN6は、他の無線ノード(例えば、無線ノードN11)からのセンサー値を転送するとき、ParentマルチキャストIDをフレーム長変調したウェイクアップ信号の受信に応じて起動状態へ移行してセンサー値を受信し、かつ、自己からサーバSv1までの経路において自己よりもサーバSv1側に存在し、かつ、特定のグループに含まれる複数の無線ノードN1〜N3へ電波範囲内の特定の無線ノードのグループを起動状態へ移行させるためのParentマルチキャストIDをフレーム長変調してブロードキャストするとともに、受信したセンサー値を複数の無線ノードN1〜N3へ送信する。そして、この処理は、図14に示すステップS22,S24,S25,S27において実行され、「第9の処理」を構成する。
【0263】
一方、無線ノードN6は、自己の子ノードである無線ノードN9〜N12をまとめて起動させる場合、無線ノードN9〜N12をまとめて起動させるためのChildマルチキャストIDをルーティングテーブル161に基づいて生成する。ChildマルチキャストIDをルーティングテーブル161に基づいて生成するときの具体的な動作は、ParentマルチキャストIDをルーティングテーブル161に基づいて生成するときの具体的な動作と同じである。
【0264】
無線ノードN6は、ChildマルチキャストIDを生成すると、その生成したChildマルチキャストIDを対応表TBLを参照してフレーム長に変換し、その変換したフレーム長を有するフレームをウェイクアップ信号として送信する。これによって、無線ノードN6は、無線ノードN9〜N12をまとめて起動でき、無線ノードN9〜N12のうちの任意の1つを経由して制御指示を送信できる。従って、制御指示を無線ノードへ送信するときの経路選択の自由度を大きくできる。
【0265】
図20は、センサー値を転送するときに親ノードを選択する例を示す図である。図20を参照して、白四角は、サーバを表し、白丸は、無線ノードを表す。サーバSv1は、サーバ7と同じ構成からなり、無線ノードN1〜N8の各々は、無線ノード1〜6と同じ構成からなる。
【0266】
無線ノードN1〜N8の各々は、ParentマルチキャストIDを保持している。無線ノードN6は、本来の親ノードである無線ノードN2を起動できなかった場合、ParentマルチキャストIDを送信し、いずれかの親ノード(無線ノードN1〜N3のいずれか)を起動させ、起動した親ノードにセンサー値を送信する。
【0267】
従って、信頼性の高いリンクを代替経路として使用できる。
【0268】
図20においても、親ノードの候補を含めると、ParentマルチキャストIDを用いて複数の親ノードを指定できるので、ParentマルチキャストIDを送信して無線ノードN1〜N3のいずれかを起動させ、その起動させた無線ノードへセンサー値を送信できる。
【0269】
図21は、ChildマルチキャストIDを用いる例を示す図である。図21を参照して、白四角は、サーバを表し、白丸は、無線ノードを表す。サーバSv1は、サーバ7と同じ構成からなり、無線ノードN1〜N9の各々は、無線ノード1〜6と同じ構成からなる。
【0270】
無線ノードN5は、子ノードである無線ノードN6〜N9から一斉にセンサー値を収集する場合、ChildマルチキャストIDを用いて無線ノードN6〜N9を一斉に起動させ、その後、無線ノードN6〜N9へセンサー値の送信要求を送信し、無線ノードN6〜N9からセンサー値を受信する。
【0271】
従って、単一のウェイクアップ信号によって子ノードのみを起動できる。
【0272】
上記においては、ウェイクアップ信号は、フレーム長によって表されると説明したが、この発明の実施の形態においては、これに限らず、ウェイクアップ信号は、ビット列によって表されていてもよい。
【0273】
また、無線ノード1〜6の各々は、センサー17およびアクチュエータ18を備えると説明したが、この発明の実施の形態においては、これに限らず、無線ノード1〜6の各々は、センサー17のみを備えていてもよい。
【0274】
この発明の実施の形態においては、図11に示すステップS1,S3またはステップS9,S11は、電波範囲内に存在する全ての無線ノードを起動状態へ移行させるための第1のIDを含む第1のウェイクアップ信号をブロードキャストし、かつ、サーバまでの近さを示すRank値を含む第1の制御パケットを送信してスリープ状態へ移行する「第1の処理」を構成する。
【0275】
また、図11に示すステップS6,S8またはステップS18,S20は、サーバまたは任意の無線ノードを起動状態へ移行させるための第2のIDを含む第2のウェイクアップ信号の受信に応じて起動状態へ移行するとともに第1の制御パケットに対する応答である第2の制御パケットを受信してスリープ状態へ移行する「第2の処理」を構成する。
【0276】
更に、図11に示すステップS2,S4またはステップS10,S12は、第1のウェイクアップ信号の受信に応じて起動状態へ移行し、かつ、第1の制御パケットを受信する「第3の処理」を構成する。
【0277】
更に、図11に示すステップS5,S7またはステップS13,S15は、第3の処理に続いて、第2のウェイクアップ信号をユニキャストし、かつ、自己のRank値よりも小さいRank値を有するサーバまたは無線ノードのアドレスと自己のIDとを含む前記第2の制御パケットを送信して前記スリープ状態へ移行する「第4の処理」を構成する。
【0278】
更に、図11に示すステップS14,S16,S17,S19は、第2のウェイクアップ信号の受信に応じて起動状態へ移行するとともに第2の制御パケットを受信し、かつ、第2のウェイクアップ信号を送信するとともに受信した第2の制御パケットを転送してスリープ状態へ移行する「第5の処理」を構成する。
【0279】
更に、図14に示すステップS21,S23またはステップS29,S31は、自己からサーバまでの経路において自己よりもサーバ側に存在する第1の無線ノードまたはサーバへ第2のウェイクアップ信号をユニキャストし、かつ、第1の無線ノードまたはサーバへセンサー値を送信してスリープ状態へ移行する「第6の処理」を構成する。
【0280】
更に、図14に示すステップS22,S24,S25,S27は、第2のウェイクアップ信号の受信に応じて起動状態へ移行してセンサー値を受信し、かつ、自己からサーバまでの経路において自己よりもサーバ側に存在する第2の無線ノードまたはサーバへ第2のウェイクアップ信号をユニキャストするとともに受信したセンサー値を第2の無線ノードまたはサーバへ送信してスリープ状態へ移行する「第7の処理」を構成する。
【0281】
この発明の実施の形態においては、各無線ノード1〜6がセンサー値または制御指示を含むデータパケットを宛先の無線ノードへ送信する場合、データパケットの送信元の無線ノードは、データパケットを送信すると、宛先の無線ノードからデータパケットに対する応答を受信するようにしてもよい。例えば、図14に示すフローチャートにおいて、無線ノード2は、センサー値を含むデータパケットを無線ノード1を介して無線ノード72へ送信すると、データパケットを受信したことを示す応答を無線ノード72から受信してもよい。従って、この発明の実施の形態においては、各無線ノード1〜6は、自己がデータパケットを宛先ノードへ送信し、そのデータパケットの応答を受信する必要があるとき、自己から宛先の無線ノードまでのマルチホップ経路に基づいて中継ノードを決定し、その決定した中継ノードのIDを含むウェイクアップ信号を送信し、その後、データパケットを送信し、データパケットに対する応答を宛先ノードから受信した後にスリープ状態へ移行する。
【0282】
また、上記においては、無線ノード1〜6からサーバ7(=無線ノード72)までの経路は、RPLに従って構築されると説明したが、この発明の実施の形態においては、これに限らず、無線ノード1〜6からサーバ7(=無線ノード72)までの経路は、例えば、AODV(Ad hoc On−Demand Distance Vector)に従って構築されてもよい。AODVにおいては、制御パケットとしてRREQ(Route Request)、RREP(Route Reply)およびRREP−ACK(Route Reply Acknowledgement)が用いられる。従って、AODVを用いて経路を構築する場合、各無線ノード1〜6,72は、起動状態へ移行すると、上述したウェイクアップ信号を送信して相手先を起動状態へ移行させ、その後、RREQ、RREPおよびRREP−ACK等の制御パケットを送信し、スリープ状態へ移行する処理を繰り返し実行する。
【0283】
そして、この発明の実施の形態においては、無線ノード1〜6からサーバ7(=無線ノード72)までの経路は、どのようなプロトコルに従って確立されてもよく、各無線ノード1〜6は、経路を構築する場合、起動状態へ移行すると、上述したウェイクアップ信号を送信して相手先を起動状態へ移行させ、その後、採用しているプロトコルにおける制御パケットを送信し、スリープ状態へ移行する処理を繰り返し実行する。
【0284】
更に、上記においては、無線センサーネットワーク10において経路を構築することについて説明したが、この発明の実施の形態においては、これに限らず、アドホック無線ネットワークにおいて、上述した方法によって経路を構築するものであってもよく、一般的には、無線マルチホップネットワークにおいて、上述した方法によって経路を構築するものであればよい。
【0285】
従って、この発明の実施の形態による無線マルチホップネットワークは、各々が、無線通信により制御パケットの送受信が可能な無線通信機能と、起動状態へ移行させるためのウェイクアップ信号を前記無線通信機能よりも低消費電力で受信可能な信号受信機能とを有し、ウェイクアップ信号を受信すると、信号受信機能でウェイクアップ信号を待ち受けるスリープ状態から起動状態へ移行する複数の無線ノードを備え、複数の無線ノードの各々は、無線ノード間の経路を構築するための第1の制御パケットをブロードキャスト送信する場合、電波範囲内に存在する全ての無線ノードを起動状態へ移行させるための第1のIDを含む第1のウェイクアップ信号を送信し、その後、第1の制御パケットを送信してスリープ状態へ移行する第1の処理を繰り返し実行し、無線ノード間の経路を構築するための第2の制御パケットをユニキャスト送信する場合、ユニキャスト送信の相手先を表わす第2のIDを含む第2のウェイクアップ信号を送信し、その後、第2の制御パケットを送信して前記スリープ状態へ移行する第2の処理を繰り返し実行するものであればよい。
【0286】
また、この発明の実施の形態による無線マルチホップネットワークは、各々が、無線通信によりデータパケットの送受信が可能な無線通信機能と、起動状態へ移行させるためのウェイクアップ信号を無線通信機能よりも低消費電力で受信可能な信号受信機能とを有し、ウェイクアップ信号を受信すると、信号受信機能でウェイクアップ信号を待ち受けるスリープ状態から起動状態へ移行する複数の無線ノードを備え、複数の無線ノードの各々は、自己がデータパケットを宛先ノードへ送信し、データパケットに対する応答を受信する必要があるとき、自己から前記宛先ノードまでのマルチホップ経路に基づいて中継ノードを決定し、その決定した中継ノードを表わすIDを含むウェイクアップ信号を送信し、その後、データパケットを送信し、宛先ノードから所望の応答を受信した後にスリープ状態へ移行する処理を実行するものであればよい。
【0287】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【0288】
この発明は、無線マルチホップネットワークに適用される。
【符号の説明】
【0289】
1〜6,72 無線ノード、7 サーバ、8 表示端末、10 無線センサーネットワーク、11,12 アンテナ、13 ウェイクアップ信号受信機、14 ウェイクアップ判定器、15 無線通信モジュール、16 ホストシステム、17 センサー、18 アクチュエータ、19,165 電源制御部、20 電源、71 パーソナルコンピュータ、161 ルーティングテーブル、162 無線通信部、163 経路制御部、164 状態制御部、166 アクチュエータ制御部、167 センサー制御部、168 割込制御部、169 ウェイクアップ制御部、170 タイマー制御部、73,73 RS−232C、711 Webサーバ、712 データベース。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21