図1は、本開示の幾つかの実施例から利益を得ることができる、典型的なシステム100を示すブロック図である。図1に示されるように、システム100は構造体105、所在地(位置)110、センサネットワーク115、通信チャンネル140およびリモートステーション150を含むことができる。所在地110は如何なる自然なあるいは任意の境界を有する地域であってもよい。典型的な所在地110は居住用ビルディングのような構造体105の周りの土地エリアであってもよい。しかしながら、所在地110は本明細書に一致する実施例にしたがって述べる特徴を有する如何なる空間であってもよい。
センサネットワーク115は、所在地110の数個または全ての部分を個々および/または全体的にモニタできる、典型的なノード120−130を含む特別なネットワークであってもよい。幾つかの実施例に一致して、センサネットワーク115は通信ネットワーク140を介してリモートステーション115に状態情報を提供する。センサセットワークのアドホック特性により、特定のネットワークノードは、他のノードが通信を試みているとき、利用可能であることを保証されない。しかしながら、ネットワークノードの動作状態は、ノードが通信サイクルを重畳させるように整合される。この重畳された通信サイクルにおいて、休止状態に入る前に、センサネットワーク115内の数個または全てのノード120−130が状態情報を交換する。センサネットワーク115は、ライン、リング、スター、バス、ツリー、メッシュまたは穴の開いたメッシュを含む如何なるトポロジに構成可能である。図1は例えば穴の開いたメッシュトポロジを有するセンサネットワーク115を示す。このセンサネットワーク115は、不規則な地形、物体(例えば構造体105)または所在地110内またはその周りの他の障害物を包含する実施例において、効果がある。
センサネットワーク115内の各ネットワークノード120−130は、他の一つのネットワークノード(図5参照)により送信される1以上のデータパケット500内に含まれる状態情報を受信し保存(記憶)するように構成できる。データパケット500は、センサネットワーク115に含まれる1以上のノードの状態を示す情報を含むデータフィールド510を有する、一組のコンピュータ可読データでよい。ネットワークノードは個々のノードに記憶された他のノードに関する状態情報を含むデータパケットと、周期的に通信できる。ネットワークノード120−130間の通信は、ワイヤレスまたは直接接続(例えばワイヤまたは光ファイバ通信線)でよい。さらに、ノード120−130は送信範囲にある全てのノードによる受信のために、状態情報を送信することにより通信でき、あるいはノードは、センサネットワーク115内の1以上の他のノードに情報を特別に送信できる。例えば、いくつかの実施例に一致して、センサノード125Aはセンサノード125Aについての状態情報と範囲内の他のセンサノード125Bから受信した状態情報とを合わせて含むデータパケットを、ワイヤレスで送信できる。このように、センサネットワーク115内の各ノードの状態は、全ての他のノード120−130に対して各々がネットワーク115内の全てのノードの状態に関する情報の集合を記憶できるように伝播できる。一実施例において、この状態情報は通信サイクルの動作中にのみ何れかの特別のノードに記憶される。他の実施例において、マルチ通信サイクルに関する状態情報は1以上のネットワークノード内に記憶される。もう一つの実施例において、マルチサイクルからの状態情報はベースノード120内に記憶される。さらに他の実施例において、マルチ通信サイクルからの状態情報はリモートステーション150内に記憶される。
図1に例示したように、センサネットワーク115はベースノード120、センサノード125およびリレーノード130を含む複数のネットワークノードを含んでもよい。さらに、サービスノード135はセンサネットワーク115を設置しサービスする際に技術者137を補助するために使用できる。以下に、より詳しく記載するように、ベースノード120は他のネットワークノード125−130の各々から状態情報を受信し通信リンク140上を通ってリモートステーション150と情報を交換する装置であってもよい。センサネットワーク115から受信した状態情報は1以上の状態メッセージ内の通信ネットワーク140上を通ってリモートステーション150と通信するためベースノード120で受信できる。いくつかの実施例において、ベースノード120により受信した状態情報はベースノード120と関連したデータベース内に記憶でき、記憶された状態情報は1以上の状態メッセージ内に結合したリモートステーション150と周期的に通信できる。他の実施例においてベースノード120はセンサネットワーク115から受信した各データパケットを個別の状態メッセージにおいてリモートステーション150と通信できる。さらに、ベースノード120はリモートステーション150から命令情報を受信でき、その情報をセンサネットワーク115に通信できる。
センサノード125は、情報を収集しセンサネットワーク115内の他のノードに情報を送信するネットワーク装置であってもよい。情報は、ノードに接続された1以上のセンサによって検出され測定された1以上のパラメータに関するデータを含むことができる。エネルギ消費を最小にするためセンサノード125は休止状態および非休止状態を介して循環させるように構成することができる。非休止状態中、センサノード125はセンサ125の状態を記載する情報を受信および/または送信できる。休止状態中、しかしながらセンサノード125は通信およびデータ処理のような活動を最小にすることができる。大多数の時間を休止状態にすることによって、センサノード125およびリレーノード130はエネルギを保存でき、それにより例えば電源(例えばバッテリ)を交換するためのサービス量を減少させることができ、その結果、センサネットワーク115を維持するコストを減少させることができる。
リレーノード130はセンサネットワーク115内のノードの他の一つから受信した情報をリプレイするためのネットワーク装置であってもよい。いくつかの実施例において、リレーノード130はセンサを除外することを除きセンサノード125に類似した部品を含んでもよい。他の実施例において、リレーノードはセンサノードと同一のものであり得るが、ネットワークの複数の部分を接続するように配置される。この部分は、リレーノードによる接続が無い場合、ネットワークにおいて互いに孤立している(送信範囲の外側にある)部分である。データパケット500が他のノードから受信されるとき、リレーノード130は順次受信したパケット内の情報510−560を記憶し、記憶したデータを含むデータパケットを送信できる。リレーノード130に関する状態データは、ある実施例において、0値として記憶できる。他の実施例において、しかしながら、リレーノード130は状態情報を記憶せず、代わりに受信するや否や即座に他のノードから受信したそれぞれの状態パケットを再送信する。
サービスノード135は、センサネットワーク115を配備しサービスする装置であってもよい。サービスノード135は、センサノード125に類似した部品で構成してもよいが、サービスノード135は一人で持ち運べるように適合できかつ技術者137が装置と対話できるようにする1以上のヒューマンユーザインターフェースを含むことができる。技術者137はネットワークノード120−130が互いの送信範囲内に設置されることを確実にするように、例えばサービスノード135を使用できる。さらに、技術者137はサービスノード135を使用しサービス訪問中にセンサノード125を設置することができる。
図1にさらに示されるように、ベースノード120は、通信チャンネル140上で状態メッセージをリモートステーション150に送信でき、および/または命令メッセージをリモートステーション150から受信できる。状態メッセージはセンサネットワーク115からベースノード120により受信したネットワークノードに関する情報を含む。センサネットワーク115に関する状態情報は、センサネットワーク115内の1以上のネットワークノード120−130の状態を示す情報を含むことができる。例えば、センサノード125の状態情報はノードが休止状態にあるか否か、ノードのバッテリ電源が低いか否か、または特定のセンサがトリガされたか否かを示すことができる。
命令メッセージは、リモートステーション150からのネットワーク115に対する指示を含むことができ、かつネットワークノード120−130に対する命令を含むことができる。例えば、いくつかの実施例に一致して、リモートステーション150を用いてセンサネットワーク115をモニタするペストコントロールプロバイダは、サービス訪問が必要であることを決定できる。技術者137をサービス訪問のために派遣する前に、ペストコントロールプロバイダはリモートステーション150を介してサービス状態命令を発行できる。命令メッセージは次にベースノード120によって受信でき、ベースノード120から、サービス状態を開始する命令が通信サイクル中に各非休止状態ノードに伝播される。
状態メッセージおよび命令メッセージは如何なる形式のファイル、文書、メッセージまたは記録であってもよい。例えば、これらのメッセージは一組のコンピュータ可読データ、電子メール、ファクシミリメッセージ、シンプルメッセージサービス(SMS)、またはメッセージまたはマルチメディアメッセージサービス(MMS)メッセージであってもよい。さらに、これらのメッセージは、レター、テキストファイル、フラットファイル、データベースレコード、スプレッドシートまたはデータファイルのような文書を有する。メッセージ内の情報は一般にテキスト(本文)であってもよいが、音声、ビデオ、絵または他の視聴覚情報のような、他のコンテンツを含んでもよい。
通信チャンネル140は、センサネットワーク115とリモートステーション150との間の状態情報の通信に使用される、如何なるチャンネルであっても良い。通信チャンネル140はエクストラネット、イントラネット、インターネット、ローカルエリアネットワーク(LAN)、広域(ワイド)エリアネットワーク(WAN)、公衆交換電話網(PSTN)、総合デジタル通信網(ISDN)、ラジオリンク、ケーブルテレビジョンネットワーク、衛星テレビネットワーク、地上ワイヤレスネットワーク、または有線またはワイヤレス通信ネットワークの他のいずれかの形状である、広域またはローカルエリアネットワークの全てを含む、共用の、公的、私的またはピアツーピアのネットワークであってもよい。さらに通信チャンネル140はシステム100のコンポーネントにより使用される何れかの形式のデータを交換する通信プロトコルに互換性があるもの、イーサネット(登録商標)プロトコル、ATMプロトコル、通信制御インターネットプロトコル(TCP/IP)、ハイパテキスト転送プロトコル(HTTP)、ハイパテキスト転送プロトコルセキュア(HTTPS)、実時間転送プロトコル(RTP)、実時間ストリーミングプロトコル(RTSP)、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM)および符号分割多重アクセス方式(CDMA)のワイヤレス形式、ワイヤレスアプリケーションプロトコル(WAP)、高帯域ワイヤレスプロトコル(例えばEV−DO、WCDMA)またはピアツーピアプロトコルであればよい。通信チャンネル140の特別な構成およびプロトコルはベースノード120とリモートステーション150との間の通信が可能である限り重要ではない。
リモートステーション150はセンサネットワーク115から遠く離れて配置されたデータ処理システムであってよく、状態メッセージおよび命令メッセージを通信チャンネルを介してベースノード120と交換するよう適合される。リモートステーション150は例えばパーソナルコンピュータ、マイクロコンピュータ、マイクロプロセッサ、ワークステーション、メーンフレーム、携帯インテリジェント端末または一般に当該技術分野で使用される同様なコンピュータのプラットフォーム等の1以上のコンピュータシステムであってもよい。さらに、リモートステーション150は、例えばプロセッサ、メモリおよびデータ記憶装置を含むコンピュータシステムの典型的なコンポーネントであってもよい。いくつかの実施例において、リモートステーション150はインターネットのようなネットワークを介してユーザに状態情報を提供するウェブサーバであってよい。例えば、リモートステーション150はリモートコンピュータ(図示せず)でユーザがインターネットを介してセンサネットワーク115についての状態情報をダウンロードすることを可能にする。
さらに、図1は、システム100における情報のフローを示す。1以上のネットワークノード120−130はセンサネットワーク115内の他のネットワークノード120−130と通信できる。ノード120−130の一つにより通信されるデータパケット[500]は、センサネットワーク115の周りの何れの方向にも通過できる。例示するように、いくつかの実施例においてネットワークノード120−130はワイヤレスで通信できる。センサネットワーク115の各ノード120−130は制限された通信範囲をもつことができるので情報フローの経路はセンサネットワーク115内のノードのトポロジに依存し得る。したがって、センサネットワーク115におけるノード120−130は、各ノードが少なくとも一つの他のノードの通信範囲内にあるように配置される。このようにして、ノード120−130は複数の可能な通信経路の何れを介しても情報を交換できる。例えば、図1に示す穴の開いたメッシュトポロジを有するセンサネットワーク115において、ベースノード120はセンサネットワーク115の回りに時計方向または反時計方向に移動した情報をセンサノード125Aから受信できる。
例として、図1は、センサノード125A、125B、125Cおよび125Dを示す。センサノード125Cの送信範囲はセンサノード125Bの位置と重なるので、センサノード125Bと情報を直接交換できる。さらにセンサノード125Cはセンサノード125Aの直接の範囲内にないが、センサノード125Aからの情報はセンサノード125Bを介してセンサノード125Cにより間接的に受信できる(その逆も真)。ある例において、2つのノードは送信範囲の外側あってもよい。例えば、センサノード125Dはセンサノード125Cの範囲内でないかもしれない。しかしながら、ノード間のギャップをブリッジするためセンサネットワーク115は1以上のリレーノード130を含んでもよい。
本書で開示する実施例に一致して、典型的な位置110は構造体105を含む居住用財産であってよく、センサネットワーク115は財産におけるペスト(有害生物)の存在を検出するセンサを有するセンサノード125を含んでよい。センサノード125から受信する情報を用いて、ベースノード120はリモートステーション150にペスト検出情報を送信できる。リモートコンピュータ(図示せず)におけるペスト制御プロバイダは、1以上の位置110についての状態情報を含むリモートステーション150からウェブページ等を検索できる。ウェブページに提示されたセンサネットワーク115についての情報を用いて、ペスト制御プロバイダは、例えば、ノードが低バッテリ電力状態であるような、サービス上の問題点がセンサネットワーク115内に存在するか否かを決定する。状態情報に基づいて、ペスト制御プロバイダは位置110へのサービス訪問が必要か否かを決定できる。必要な場合、センサネットワーク115に命令メッセージを発行するためにリモートステーション150を用いて、ペスト制御プロバイダは、技術者137による訪問に先立ってセンサネットワーク115をサービスモードに設定し、サービスユニット135を使用するネットワークノードの特定を促進することができる。
本書に開示した実施例に一致して、ネットワーク115内のセンサノード125は実質的に地下に配置し、地上のアンテナからデータパケット500を送信することができる。センサノード125が地中に設置される場合、各センサノード125の小さな部分が地表上に突出する。この構造は、環境に対する頑健性を増し、さらに芝刈り機が妨害されること無く通過するのを可能にするが、しかし、ノードの送信範囲を減少させ、ノード間を伝播する送信能力に影響を与える。このような問題を克服するため、地中センサノード125は、地表面上で大部分の送信信号をガイドするアンテナ(F形式のアンテナ)を装備できる。これは、(FHSSのような)周波数ダイバーシティ、空間ダイバーシティ(マルチノード=マルチ受信アンテナ)およびメッセージの冗長性(マルチ周波数の各々で多数回再送信された同一データパケット)と結びつけることができる。
センサノード125は、特定のセンサノード125が他のセンサノード125の数個または全てと見通し線(ラインオブサイト)をもつことができる、実質的に平らな面内に配置することができる。ある事例においては、この平面は、センサノード125間のラインオブサイトを妨害する地形、構造、対象または他の障害物によって破壊される。障害物を回避するため、リレーノード130は平面から離れて配置され、ノード間の通信を可能とする。例えば、センサノード125が位置110の実質的な地下に配置される実施例に一致して、この地面は、グランドプレーンを定義し、このグランドプレーンにおいて、センサノード125の地表アンテナは、グランドプレーン上で他のセンサノード125に対するラインオブサイトを有する。グランドプレーンが公共変圧器のような障害物により破壊される場合、センサノード125Cおよび125Dは直接の通信経路をもつことができず、あるいは通信範囲の外側に配置されるようになる。このような状況下において、リレーノード130をグランドプレーン上に設置して、障害物にも拘わらず、センサノード125Cと125Dとの間の通信を可能にすることができる。
さらに、センサノード125は、ベースノード120に状態情報をリレーできる。このベースノード120は、センサネットワーク115の他のノードを介して住居内に配置され、住居の電源を用いて作動する。ベースユニット120はセンサノード125により捕らえた全てのセンサ情報を記憶できる。したがって、センサノード125A内のペストセンサがトリガされたとき、例えば検出を示す状態情報を含むデータパケットは結果的にベースノード120を含むセンサネットワーク115内の各ノードに伝播できる。ベースノード120は次にセンサノード125Aの検出情報を含む状態メッセージ情報を、リモートステーション150に送信することができ、このリモートステーション150ではその情報をペスト制御プロバイダに通信できる。
図1は、構造体105の回りのリング内に配置された単一のベースステーション120、数個のセンサノード125および2つのリレーノード130を含む信号センサネットワーク115を含む、システム100を示す。しかしながら、容易に理解されるように、システム100の他の実施例は、異なった形状および多数のノードを有する複数の隣接するかまたは重なったセンサネットワークを含む。典型的なセンサネットワーク115はリング状に配置されているが、当業者であれば配列115が如何なる形状またはパターン(例えば直線、長方形、ボックス、グリッド)にも配置でき、あるいは特別な位置の形状および/または応用に依存して、十分に接続した、リング、メッシュ、穴の開いたメッシュ、星、線、木またはバスを含むネットワークトポロジの寄せ集め、または組み合わせを利用することができる。一実施例において、センサネットワークは、構造体105の周りの穴の開いたメッシュトポロジ内で利用できる。
図2Aおよび2Bは開示の実施例に一致した例としてのネットワークノードを示すブロック図である。ベースノード120は種々の独立型ワイヤレスセンサノード125およびリレーノード130からリモートデータ伝送を受信するように構成できる。さらに、ベースノード120は受信した状態情報を記憶し、状態情報を状態メッセージ(例えばTCP/IP形式)に変換し、状態メッセージを通信チャンネル140(例えばWAN)を介してリモートステーションに送信するように適合できる。
ベースノード120は例えば、埋め込みシステム、パーソナルコンピュータ、マイクロコンピュータ、ワークステーション、メーンフレームまたは当該技術分野で典型的に使用される同様なコンピュータプラットフォームを含み、このようなシステムに典型的なコンポーネントを含む。図2Aに示されるようにベースノード120は、典型的なユーザ入出力装置および他の周辺装置と同様に、コントローラ210を含むことができる。ベースノード120はまた、センサネットワーク115と通信するため、送受信機250、アンテナ255およびデータ記憶装置260を含むことができる。
コントローラ210は、本書に開示した機能および特徴を提供する1以上のメモリ装置に記憶されたコンピュータ命令を実行するように適合された、1以上の処理装置であってもよい。コントローラ210はプロセッサ212、通信インターフェース214、ネットワークインターフェース216およびメモリ218を含むことができる。プロセッサ212はメモリ218内に記憶された命令とデータを処理することにより、ベースノード120に対して制御と処理機能とを提供する。プロセッサ212は市販のマイクロプロセッサまたはベースノード120用に特に適合された、特定用途向け集積回路のような従来のコントローラでよい。
通信インターフェース214は、データを、送受信機250を含む外部装置からプロセッサ212に送信および/または受信する、1以上のインターフェースを提供する。通信インターフェース214は例えばシリアルポート(例えば、RS−232、RS−422、汎用シリアルバス(USB)、IEEE−1394)、パラレルポート(例えばIEEE−1284)、またはワイヤレスポート(例えば赤外線、紫外線または無線周波数送受信機)であってもよい。ある実施例において、送受信機250からの信号および/またはデータがインターフェース214と通信することにより受信でき、プロセッサ212に適切なデータに変換される。
他の実施例において、ベースノード120はセンサを除外することを除きセンサノード125と類似したコンポーネントを含むことができる。一実施例において、ベースノード120はパーソナルコンピュータを備えており、このパーソナルコンピュータは、マイクロプロセッサ、メモリおよびネットワーク115内のセンサノード125−130とワイヤレスでインターフェースして動作するワイヤレス送受信機を含むシステムオンチップ(SoC)に基づいた、送受信機250を含んでいる。送受信機/SoC250は、第2マイクロプロセッサ212および永久データ記憶装置260と例えばシリアルインターフェース等を介して接続されていても良い。
ネットワークインターフェース216は、プロセッサ212とネットワーク通信チャンネル140との間でデータを送信し受信する如何なる装置でもよい。ネットワークインターフェース216はさらに、データメッセージを、通信チャンネル140のデータチャンネル(ケーブル、電話線またはワイヤレスで)上で送信するための信号に、変調しおよび/または復調することができる。さらに、ネットワークインターフェース216は如何なる遠隔通信またはデータネットワーク、例えばイーサネット(登録商標)、WiFi(Wireless-Fidelity: ワイヤレス忠実度)、WiMax(World Interoperability for Microwave Access: ワイマックス)、トークンリング、ATM(Asynchronous Transfer Mode: 非同期転送モード)、DSL(Digital Subscriber Line: デジタル加入者回線)、ISDN(Integrated services Digital Network: 総合デジタル通信網)をもサポートする。代わりに、ネットワークインターフェース216は、通信インターフェース214を介してコントローラ210に接続された外部ネットワークインターフェースであってもよい。
メモリ218は、プロセッサ212により実行されたとき、本書に記載する処理を遂行するためのデータ、OSおよびアプリケーション命令を記憶する、1以上の記憶装置であり得る。メモリ218はRAM、ROM、電気的消去可能ROM(EEPROM)、フラッシュメモリ、光ディスク、磁気ディスク等の半導体および磁気メモリを含む。
送受信機250およびアンテナ255は1以上のネットワークノード125−130と送信し送信信号を受信するように適合できる。送受信機250は無線周波数送受信機であってもよい。本書に開示し上記した実施例に一致して、送受信機250は、テキサス州ダラスのテキサスインスツルメント社により提供される Chipcon CC2510マイクロコントローラ/RF送受信機であり、アンテナ255は反転F形アンテナであってもよい。送受信機250は、直接シーケンススプレッドスペクトラム(DSSS)または周波数ホッピングスペクトラム(FHSS)を含む多様な技術を使用して、データを送信し受信できる。
データ記憶装置260は開示の実施例に一致して、ソフトウェアおよびデータを記憶するベースノード120と関連し得る。データ記憶装置260は多様なコンポーネントまたは例えば磁気ディスクドライブ、光ディスクドライブ、フラッシュメモリまたは他の情報を記憶する装置を含むサブシステムで構成できる。
図2Bは典型的なベースノード120の機能ブロック図を示す。コントローラ210はネットワークノード125および130とリモートステーション150との間で情報を交換するように適合される。さらにOSおよび/または当該技術において公知のアプリケーションソフトウェアに対し、コントローラ210は、符号器/復号器モジュール265、状態データベース270、ネットワークインターフェースモジュール275およびユーザインターフェースモジュール280を実行できる。
符号器/復号器モジュール265は、アンテナ255を介して送受信機250により受信されたデータパケット500を符号/復号するプロセッサにより実行される命令を含む、ソフトウェアであってもよい。符号器/復号器モジュール265は、センサネットワーク115の他のノードによって送信されかつアンテナ255を介して送受信機250によって受信される、データパケット500を復号する。さらに、符号器/復号器モジュール265は、リモートステーション150から受信した命令データと同様に、センサネットワーク115の他のノードにより送信された情報を含むデータフィールドを含んだ、データパケット500を符号化できる。図2Bに示されるように、状態データおよび/または命令データを含むデータパケットが受信されたとき、このデータは、先にセンサネットワーク115から受信されたデータと共に状態データベース270に記憶される。
状態データベース270はセンサネットワーク115についての状態データを記憶し、質問し、検索するためのデータベースであり得る。図4について以下により詳しく記すように、センサネットワーク115のノード120−130に関連する状態データは、ノード状態、通信状態、電源状態およびセンサ状態を含む。状態データベース270はセンサネットワーク115内に含まれる各ノードに対応する入力を含むことができる。ある実施例に一致して、センサネットワーク115は既定のネットワークノード数(例えば40ノード)を含み、状態データベース270はセンサネットワーク115内の実際のノード数より大きい、既定の数に対応するエントリーを含むように構成される。状態データベース270内のエントリーは、単一の通信サイクル中に生成された情報に対応し、あるいは、他の実施例において、一個以上の通信サイクルにわたって発生した情報に対応する。ある実施例にしたがって、状態データベース270は、mySQLデータベース、SQL言語(Structured Query Language)を実行するオープン・ソースのデータベース・エンジンとして実現できる。
状態データベース270がデータ記憶装置260内のセンサネットワークからの全ての通信を記憶するので、センサネットワークのヒストリはベースノード120を介してローカルに、またはリモートステーション150を介してリモートで試験される。状態データベース270の使用は、データの一時的な保持に対しても、センサネットワークからのデータの受信およびこれらのデータを報告するアップストリーム間で、ベースノード120が最小のデータ損失で電源干渉を経験することを可能とする。他の実施例において、状態データベース270はリモートステーション150に配置され、データ記憶装置260は単に最も直近の通信サイクルに関する情報を含む。
ネットワークインターフェースモジュール275は、コンピュータ実行可能な命令であり、かつ、潜在的に、コントローラ210によって実行された場合通信チャンネル140から送信され受信されたデータを変換するデータであり得る。ネットワークインターフェースモジュール275は、データを少なくとも状態データベース270およびネットワークインターフェース216で交換できる。状態メッセージをリモートステーション150に送信するとき、ネットワークインターフェースモジュール275は状態データベース270から状態情報を受信し、その情報を、(先に述べたような)通信プロトコルに従って、ネットワークインターフェース216により通信チャンネル140上を送信させるための形式に変えることができる。
さらに、ユーザインターフェースモジュール280は、個々のユーザにベースノード120との対話を可能にするマンマシンインターフェースを提供できる。例えば、ユーザインターフェースモジュール280を介して、典型的な入出力装置を用いて、技術者137は状態データベース270にアクセスすることができ、センサネットワーク115内に含まれるノードの状態データベース270中の状態データエントリーを観ることができる。
図3Aおよび3Bは、開示する実施例に一致する、典型的なセンサノード125を示すブロック図である。センサノード125は、センサネットワーク115内のノードの状態を示す状態情報とセンサノード125が位置110における状態またはイベントを検出したか否かを含む情報とを送信し、受信し、記憶するワイヤレス装置であってもよい。図3Aに示すように、センサノード125は、コントローラ310、センサ340、送受信機350、アンテナ355、データ記憶装置360および電源370を含むことができる。
コントローラ310は、本書に開示したような機能と特徴を提供する1以上の記憶装置に記憶された、コンピュータ命令を実行する1以上の処理装置であってもよい。コントローラ310は、プロセッサ313、通信インターフェース314、メモリ316およびクロック320を含むことができる。一実施例において、コントローラは、センサ340、アンテナ355および/またはデータ記憶装置360に接続されたチップコンCC2510マイクロコントローラ/RF送受信機であってもよい。
プロセッサ313は、メモリ316内に記憶された命令およびデータを処理することによって、センサノード125に制御および処理機能を提供する。プロセッサ313は既製のマイクロプロセッサまたはセンサノード125に特に適合する特定用途向け集積回路のような、如何なる市販のコントローラであっても良い。
通信インターフェース314は、外部装置からデータを受信しおよび/またはプロセッサ313に送信する1以上のインターフェースを提供する。通信インターフェース314は例えばシリアルポート(例えば、RS−233、RS−422、汎用シリアルバス(USB)、IEEE−1394)、パラレルポート(例えばIEEE−1384)またはワイヤレスポート(例えば赤外線、紫外線または無線周波数送受信機)であってもよい。ある実施例において、センサ340からの信号および/またはデータは通信インターフェース314により受信できプロセッサ313に適したデータに変換される。
メモリ316は、データ、OSおよびプロセッサ313によって実行されるとき本書に記載した処理を遂行するアプリケーション命令を記憶する、1以上の記憶装置であってもよい。メモリ316は、RAM、ROM、電気的消去可能ROM(EEPROM)、フラッシュメモリ、光ディスク、磁気ディスク等の半導体および磁気メモリを含む。一実施例において、センサノード125がデータ記憶装置360にインストールされたコンピュータ実行可能な命令を実行するとき、プロセッサ313はデータ記憶装置360からの命令の少なくとも一部分をメモリ316にロードできる。
クロック320はベースノード120またはセンサノード125内の時間の経過を測定する、1以上の装置であってもよい。本書に開示した実施例に一致するように、クロック320を用いて、センサノード125は、ある場合、休止状態と非休止状態の間でいつ、状態を変化させるかを決定することができる。クロック320がネットワーク内の他のノードと同期しない場合もあるので、異なるセンサノード125は、同じ瞬間に異なる状態になり得る。
送受信機350およびアンテナ355は、1以上のネットワークノード120−130との伝送を送信し受信するように適合できる。送受信機350は無線周波数送受信機であってもよい。本書に開示する実施例に一致して、送受信機350はChipcon CC3510マイクロコントローラ/RF送受信機であり、アンテナ355は反転F形アンテナであってもよい。送受信機350は直接シーケンススプレッドスペクトラム(DSSS)または周波数ホッピングスペクトラム(FHSS)を含む多様な技術を用いて、データを送信し受信できる。さらに、アンテナ355は反転F形式アンテナであり、回路板に集積され、最大伝送開口用のユニットの頂上に配置される。アンテナ355は、地面に送信された放射電力量を最小にするため、地下ではなく、実質的に地上に広がる放射パターンを提供するように適合できる。
データ記憶装置360は開示の実施例に一致して、ソフトウェアおよびデータを記憶するためセンサノード130と関連し得る。データ記憶装置360は多様なコンポーネントまたは例えば磁気ディスクドライブ、光ディスクドライブ、フラッシュメモリのような不揮発性メモリ、または情報を記憶可能な他の装置を含むサブシステムによって実現できる。
電源370は電力をセンサノード125に供給する如何なる装置であってもよい。本書に開示した実施例に一致して、センサノード125は独立型装置であってよく、電源370は電力消費電源であってもよい。例えば、電源はバッテリ、燃料電池または他の形式のエネルギ貯蔵装置でよい。したがって、電力消費を減少させることにより(例えば休止期間を用いて)、センサノード125は電源370の交換の必要を最小限とし、本書の開示に一致するように、センサネットワーク115を維持するコストを減少させることができる。電源は交換が要求される前に電源370の寿命を伸ばすため、電力(例えば、太陽、熱、運動、熱または音響エネルギ)を発生および/またはスカベンジ(清掃)するための追加のコンポーネントを含んでもよい。
本書に開示の実施例に一致した例において、センサノード125は大部分が地下でアンテナ355のみが突き出るようにして、地面のレベルまたは地下に設置できる。地面に接近することによって、地面からの反射により高度のマルチパスフェージングが導入され、さらに、例えば、除草していない草のような周囲の物質による所定の波長の吸収に基づいて、周波数選択的フェージングの成分が導入される。有利なことに地下のセンサノード125は送信信号の大部分を地表面上に向けるアンテナ(F形アンテナのような)を装備できる。これは、特定のノード125についての状態情報を含むデータパケットが、ベースノード120を含む他のノードにより受信される可能性を増加させるため、(FHSSのような)周波数ダイバーシティ、空間ダイバーシティ(マルチノード=マルチ受信アンテナ)およびメッセージの冗長性(マルチ周波数の各々で多数回再送信された同一データパケット)と結合させることができる。
先に述べた例に続き、センサノード125は構造体105の回りのセンサノードの周囲により使用されるペストセンサであってよく、この場合、センサ340はシロアリの誘引シートを介した光伝送を用いてその活動を検出する。センサ340はシロアリにより食べられた領域を検出するため誘引材料の不透過率を試験できる。いくつかの実施例において、誘引材料のシートは、回路ボードのそれぞれの側にある2つの光ガイドによってサンドウィッチされる。1方の光ガイドの角度は誘引材料に対し垂直であり、他方の光ガイドは、誘引材料を通過する全ての光が回路板上の他方の側の検出器に戻るように案内する。シロアリがいないとき、誘引材料は入射光の大部分を吸収し、検出器の出力は低くなる。しかしながら、誘引材料の一部分が食べられると、さらなる入射光が検出器に向かって通過し、センサヒットがフラグ付けされる。ペストを検出するために光を用いた例としてペストセンサを記載したが、ペスト検出の当業者に公知の他の方法を使用することができる。例えば、開示の実施例に一致するペストセンサは、重量、熱、運動、吸音または化学に基づいた検出器(例えば臭気または排泄)と同様に、磁気、常磁性および/または電磁性(例えばコンダクタンス、インダクタンス、キャパシタンス、磁界等)における変化あるいは変更に基づくパラメータを検出することができる。
図3Bは、典型的なセンサノード125の機能ブロック図である。コントローラ310はセンサ340および送受信機350から受信した情報を処理し、記憶しかつ送信するように適合されたソフトウェア処理を実行できる。当業者に公知のオペレーティングシステムおよび/またはソフトウェアアプリケーションに加えて、コントローラ310はデータの符号化/復号化モジュール365、データの取得モジュール375および状態メモリ370を実行できる。
符号化/復号化モジュール365は、プロセッサ313により実行可能な命令を含むソフトウェアモジュールであり、アンテナ355を介して送受信機350により受信された状態パケットを符号化/復号化する。符号化/復号化モジュール365は、センサネットワーク113のノードにより送信されアンテナ355を介して送受信機350により受信される状態データパケットを復号化できる。図3Bに示されるように、状態データおよび/またはサービスデータが受信されたとき、このデータは、特定の通信サイクル中に、センサネットワーク115内の他のノードから先に受信したデータとともに、状態メモリ370に記憶できる。
状態メモリ370はセンサネットワーク115についての状態データを記憶し、質問し、検索するためのメモリである。状態メモリ370はセンサネットワーク115内に含まれる各ノードに対応するエントリーを含むことができる。いくつかの実施例にしたがって、状態メモリ370はmySQLデータベースとして実施でき、Open Source(オープン・ソース)データベース・エンジンがSQLを実施する。状態メモリ370はセンサネットワーク115内に含まれる各ノードに対応するエントリーを含むことができる。いくつかの実施例に一致して、センサネットワーク115は予め決定した数(例えば40ノード)のネットワークノードを含むことができるように構成でき、状態メモリ370はセンサネットワーク115内の実際のノード数より大きい、予め決定した数に対応するエントリーを含むことができる。
データ取得モジュール375はセンサ340と送受信機350とが接続される通信インターフェース314を連続的にポーリングできる。センサ314から受信したデータは、データ取得モジュール375により処理され、状態メモリ370に記憶される。
センサノード125に類似した装置であり得るリレーノード130は、センサノード125が送信範囲内でないか、または障害のない通信経路がネットワーク115内のセンサノード間で保証されない環境下で、センサネットワーク115内に含まれうる。例えば、リレーノード130は、センサデータをセンサノード125間に渡すために使用でき、さもなければ障害物または範囲により通信を不能にする。ある実施例において、リレーノード130はセンサノード125の容器に似た容器内にパッケージすることができる。例えば、障害物が地上にあるような他の実施例において、リレーノード130をパッケージして、回りにネットワーク115が設置される構造体105の軒先のような、センサノード125が設置される位置のレベルよりも高い位置に設置しても良い。
サービスノード135もまた図3Aに示されるようにセンサノード125に類似したコンポーネントを含む装置であってもよい。上記したように、サービスノード135はセンサネットワーク115を配置しサービスする装置であってもよい。いくつかの実施例と一致するように、サービスノード135は、携帯可能に適合でき技術者137が装置との対話を可能にするユーザインターフェースを含む。技術者137は例えばネットワークノード120−130が他のものの送信範囲内に設置されることを確実にするために、サービスノード135を使用できる。さらに、サービスノード135は、例えばイベントがネットワークノードを不能にするとき、ネットワークノードを探し出しおよび/またはサービスするために使用できる。センサノード125をシミュレーションするために、サービスノード135はセンサノード125内に設けられた同一形式のアンテナを含む。しかしながら、サービスノード135はセンサノードの次の一つの配置のために適切なスポットを探している間、1以上のノードから受信された信号の品質の表示を技術者137に提供できる。この場合、サービスノード135は技術者137の手中にあって、ワイヤレスパターンが最も弱い下方から信号を受信することになる。サービスノード135はこの場合、結果として信号を受信する困難を経験できる。
サービスノード135は、タスクに応じてアンテナを水平面の何れの側にも放射できるようにするために、上方または下方の何れの方向にも操作できる。サービスノード135はまたユーザ入力ボタンをハウジングの側部に設けることができるのと同様に、装置の上面および下面の両方にディスプレー(例えばLCD画面)を設けることができる。一実施例において、サービスノードが地面のレベルに置かれたときアンテナがセンサノード125の突出部と同一レベルにあるように、アンテナはユニットの端部から突き出ることができ、センサノードの突出部にマッチするプラスチックキャップにより被うことができる。
サービスノード135により提供されるユーザインターフェースは、1以上の表示器を含むことができる。いくつかの実施例において、上記したようにユーザインターフェースは1以上のネットワークノードから受信した信号の品質を示すことができる。信号の品質は例えば信号の強度および/または信号のデータエラー率(例えばビットエラーレート)を示す値に基づくことができる。他の実施例においてユーザインターフェースはサービスノードの範囲内のネットワークノード120−130のネットワーク識別を示すディスプレーを、ある場合には各ノードの信号品質表示とともに提供できる。例えば、サービスノード135はいくつかの実施例における各ノードのリストおよびリストされた各ノードの信号品質を表示できる。
ハードウェアコンポーネントおよびソフトウェアモジュールの構成または関係を図2A−3Bに例として示す。センサノード125のコンポーネントは動作可能に接続された独立のコンポーネントでよく、または数個または全てのコンポーネント210−280および310−375の機能を含む1以上コンポーネントに集積されたものでもよい。コンポーネントの異なる構成は、制限されないが、知られたように、コスト、サイズ、スピード、波形率、容量、携帯性、電力消費および信頼性を含む要因を考慮して、ベースノード120またはセンサノード125の特定の実施要求に基づき選択できる。さらに開示する実施例の実行に有用なベースノード120またはセンサノード125は、図2Aまたは図3Aに示すより多いかまたは少ないコンポーネントであってもよい。
図4は、センサノード125の典型的な状態を示す状態図である。いくつかの開示した実施例に一致して、状態は休止常態、傾聴状態、通信状態、再整合状態およびサービス状態を含むことができる。休止状態は、既定の期間を有する非常に低い電力状態であり、この期間においてノードは実質的に非活動状態に留まる。開示の実施例に一致して、センサノード125は、電力を節約するため大部分の時間を休止状態で費やす。休止状態において、センサノード125のセンサ340、送受信機350およびデータ記憶装置360は非起動され、コントローラ310は非常に低電力で動作できる。休止状態の既定の期間は、クロック320により決定できる。ある例では、電力節約を最大にするため、クロック320は、休止期間中に使用する低電力クロックを含むことができる。非休止状態中、コントローラ310による処理が要求される高電力クロックを代わりに起動することができる。既定の休止状態の期間の最後に、センサノード125は非休止状態に入り、この期間にデータを受信しおよび/または通信することができる。
センサノード125は、既定の休止状態がタイムアウトした後、傾聴状態に入ることができる。傾聴状態は非休止状態であって、その期間中、センサノード125は低電力で動作して(“ウェークオンラジオ”として知られる)他のノードからの通信に対して待機する。例えば、他のノードから送信されたデータパケットを受信するために、送受信機350を起動することができるが、しかし、起動センサノードは傾聴状態中如何なるデータパケットをも送信することはできない。センサノード125は、既定の期間、または通信を同一センサネットワーク115内の他のノードから受信するまで傾聴状態に留まることができる。
傾聴状態の間に通信を受信したとき、または傾聴状態の期間が終了したとき、センサノード125は通信状態に変化する。幾つかの実施例に一致して、センサノード125は、センサネットワーク115に属するノードから有効なデータパケットを受信した場合にのみ、遷移する。特に、各データパケットは、センサネットワーク識別子とノード識別子とを含むことができる。通信を受信した後、センサノード125は、ネットワークIDおよびノードIDに部分的に基づいて、受信したデータパケットが同一センサネットワーク115内の他のノードからのものであること確認できる。センサノード125が受信した通信源がセンサネットワーク115であることを確認することにより、例えば他のすぐ近くのセンサネットワーク、または、干渉周波数でデータを送信する他のソースによって送信された通信による、偽のトリガを避けることができる。さもなければ、通信が何等受信されないとき、センサノード125は、クロック320により決定される既定の期間が終了するまで、傾聴状態に留まることができる。
通信状態中、センサノード125はデータパケットを送信でき、他のノードにより送信されたデータパケットを受信できる。通信状態において、ベースノード120は、サービスの訪問の前にサービス状態に入るためにセンサノードをトリガするためのデータフィールドを含む、データパケットをも送信できる。通信状態は予め決定した期間、または、休止状態に入るノードから通信を受信するまで、継続することができる。最初の場合、クロック320に基づき決定された既定の通信期間の最後において、通信が他のノードから受信されており、既定の通信状態期間がタイムアウトした場合、センサノード125は、センサノード125が休止状態であることを示す状態情報を記憶し、データパケットにおいて記憶された情報を送信し、既定の期間、再休止状態に入ることができる。他の場合では、センサノード125がセンサネットワーク115の他のノードから通信を受信し、この通信が他のノードが休止状態であることを示すとき、センサノード125は、他のノードから受信した状態情報を記憶し、ノード125が休止状態であることを示す状態を含むそれ自身の状態情報を記憶した後、状態パケット内において記憶した情報を送信し、予め決定した通信期間の終了を待つことなしに予め決定した休止状態に再度入る。
再整合状態において、センサノード125は、通信状態中にネットワーク125内の他のノードから有効な通信の受信に失敗した後、センサネットワーク115との通信の再設定を試みることができる。ノードが他のノードからの情報を受信しないとき、センサノード125の状態は、例えばクロック320のゆっくりと時間をかけたドリフトにより、センサネットワーク115内の他のノードとの整合を失う。センサネットワーク115との通信を再設定するため、センサノード125は休止状態の持続期間を修正することによりネットワーク115内の他のノードとその動作サイクルを再調整できる。
センサノード125は、技術者によるサービスの準備のために、サービス状態に置くことができる。サービス状態は、1以上の環境において開始できる。一例において、センサ125が他のノードから送信されたデータパケット内にサービス命令を受信したとき、サービス状態を開始できる。いくつかの開示された実施例に一致して、ペスト制御プロバイダは、リモートステーション150を介して、技術者137によるサービス訪問に先立って既定の時間内でセンサネットワークをサービス状態に置くことをリクエストできる。他の例においてセンサノード125は、他のノードとの通信が再整合状態の終わりの時点で設定できないときサービス状態を開始できる。サービス状態にある間、センサノード125は、ある場合、低電力モードに入り、その間にセンサノード125は他のノード、特に、技術135により運び込まれたサービスノード135からの通信を待ちかつ傾聴する。
延長された休止状態を有するアドホックネットワークにおいてセンサノード125を提供することにより、センサネットワーク115内のセンサノード125は、電源交換のようなサービスなしで長時間動作でき、それにより技術者による高価なサービス訪問を減少させることができる。さらに、アドホックベースで通信することにより、ネットワーク115の全動作に影響を与えることなくセンサノードをシステムに追加しかつ除去できるので、このセンサネットワーク115は極めてロバストとなる。さらに、アドホックスキームを用いることにより、同期が要求されないので、センサノードは電力を節約できる。前述の状態はセンサノード125に関して議論されているが、幾つかの実施例では、リレーノード130が同じ状態を有していてもよく、さらにセンサノードであっても良い。センサノード125およびベースノード120は同様に、ある特定のネットワーク設備の一部分を接続しあるいは分離するために、リレーノードとして作動しても良い。
図5は、センサネットワーク115において、ノードから送信された典型的なデータパケットを示す。ベースノード120、センサノード125および/またはリレーノード130間の通信は、本書に開示した実施例に一致したデータパケットプロトコルを用いて実施できる。データパケット500は、同期データ505、データフィールド510−560およびチェックデータ565を含むことができる。
同期データ505は、入力データパケット500を同期させるための情報を含むことができる。例えば、同期データ505は、データパケット500の始まりを通知する多数の前段ビットおよび同期ワードを含むことができる。さらに、いくつかの実施例において、同期データ505は、データパケットの長さを識別する情報を提供できる。データフィールド510−560はネットワークノードについてネットワークノード内に記憶された状態情報と同様に、他のノードの送信からこのノードにより受信された状態情報を含む。情報はビット、テキスト、データワード等如何なる形式でもよい。チェックデータ565は、受信データパケットがエラー、例えば周期的冗長チェック等、を含まないことを確認するための情報を含むことができる。
データパケット500は、複数のノード120−130の状態情報を含む多数のデータフィールドを含むことができる。図5に示されるように、例えば、典型的なデータパケット500は、ノードA125A、ノードB125B、ノードC125Cの状態情報を含む。もちろん特定のデータパケット500は、どの状態情報がノード120−130の特別な一つにより受信され、かつその特別なノードの状態メモリ370中に記憶されたかに依存する、多少の情報を含むことができる。
データパケット500内の典型的なデータフィールドは、ネットワーク識別子510、ノード識別子520、ノード状態530、通信状態540、電力状態550およびセンサ状態560、を含むことができる。ネットワーク識別子(“ID”)は、例えば隣接したセンサネットワークからこのネットワークを識別するために、センサネットワーク115を識別できる。というわけで、2つ以上のネットワークが、データを他のものから捕獲されずに、隣接してまたは混在させて配置することができる。ノードID520は、例えば、センサネットワーク115におけるセンサノード125またはリレーノード130であるノード120−130の一つを、一意的に識別できる。
いくつかの実施例において、データパケット500は、その起源のノードを特に識別することなくあるノードから送信でき、受信したノードは、特別なパケット起源情報(隣接するネットワークからパケットを識別するためのネットワークID以外のもの)を要求されない。このような実施例において、送信データパケット500は、パケットが他のノードに対して特別にアドレスされていないので、ネットワークID510を含むことができるがノードID520を含むことはできない。ネットワーク115内の各ノードに対する状態情報は、このようなノードに対応するデータパケット内の固有のフィールド内に記憶され得る。例えば、図6A−6Eに示されるように、ノードAのセンサ情報は、ノードAに対応するデータパケット500内の第1の位置に配置でき、ノードBに対応する状態情報は、ノードBに対応するデータパケット500内の第2の位置に記憶でき、以下同様である。したがって、このような状態情報を含む放送データパケット500が他のノードにより受信された場合、受信ノードは、特定のノードに対応するデータフィールド内の状態メモリ370内にその情報を記憶することにより、その情報を自身のネットワークに関する知識に加えることができる。受信したノードがなお通信状態にあるとき、そのノードは引続いてデータパケット500を送信することができ、このデータパケットは同様に特定のノードに関する情報を含んでいる。
ノード状態530は、センサノード125が休止状態に入る準備中であることを示すことができる。いくつかの実施例において、ノード状態530は、リモートステーション150から送信された命令メッセージに応答して、ノードがサービス状態に入ることを示すことができる。通信状態540は、ノードが他のノードと通信したことを示すことができる。電力状態550は、ノードの電源の状態を示すことができる。例えば、電力状態550はノードのバッテリが低いことを示すことができる。センサ状態560は、センサ340が条件を検出したか否かを示す値を提供する。
本書に開示のいくつかの実施例に一致して、状態はブール(Boolean)値の配列でよい。ここで、ノード状態530の値“真”はユニットが休止状態に入る準備中であることを示す。通信状態540における値“真”はノードがその状態を送信したことを示すことができる。電力状態350における値“真”は低バッテリを示すことができる。そして、センサ状態560における値“真”はセンサ340がシロアリの活動のようなイベントによりトリガされたことを示すことができる。ノード状態530および通信状態540はそのサイクル中に配置されたステーションにしたがって変化し、一方センサおよびバッテリのフラグは“偽”のままである。これらのフラグの何れかにおける値“真”は技術者137の注意を要求する問題を示す。
図6A−6Fは、データパケットを、αとして識別される典型的なセンサネットワーク115のノード間を伝搬させるための、典型的なプロセスを示すブロック図である。図6Aに示されるように、典型的なセンサネットワーク115は、各ノードのそれぞれの状態情報を通信しなかった4つのセンサノードA、B、CおよびDを含むことができる。各ノードA、B、CおよびDは、最初は休止状態であっても良い。
図6Bは、状態情報を含むデータフィールド510−560を含んだそれぞれのデータパケットを送信する、典型的なノードA、BおよびCを示す。図6Bに示されるように、各ノードが制限された通信範囲をもつので、各ノードはその範囲に隣接するノードからのデータパケットのみを受信できる。さらに、各ノードが他のノードと未だ通信していないので、各ノードはそれ自身についての状態情報のみを通信する。さらに、本例にしたがえば、典型的なノードDは休止状態を維持し、それゆえ、データパケットを他のノードへ送信せず他のノードから受信しない。というわけで、ノードA、BおよびCはさらに、ノードDについての状態情報を受信しない。
図6Cは、隣接したノードからデータパケットを受信した休止状態のノードA、BおよびCの各々を示す。特に、ノードAおよびCはノードBに隣接し、それゆえノードBからのみデータパケットを受信する。ノードBは、これと比較して、ノードAおよびノードCの両方に隣接する。それゆえ、ノードBは、ノードAおよびノードCの各々からデータパケットを受信する。データパケットを受信した後、各ノードはそれぞれの状態メモリ370内に含まれる状態情報を記憶する。例えば、図6Cは、ノードAおよびノードC同様に、ノードBの状態情報を記憶したノードBを示す。また、ノードDは休止状態に維持されるので、ノードA、BまたはCによって、ノードDに関する如何なるデータも記憶されない。
図6Dは、特定のサイクル内での通信状態のノードA、BおよびCによる送信の別のサブサイクルを示す。ここで、各ノードは、それぞれの状態メモリ370に記憶された各ノード状態情報を含む状態パケットを、再び送信する。このサイクルにおいて、状態情報は他のノードから受信した状態情報を含む。例えば、ノードAは、ノードBから送信された状態パケットに含まれるノードCについての状態情報を受信する(逆も真である)。
図6Eは、パケットを再び受信した後のノードA−Cを示す。図示するように、受信したパケットが隣接していないノードからの情報を含むので、たとえあるノード(例えばノードA)が少なくとも一つの他のノード(例えばノードC)の範囲外であったとしても、複数のノードは全センサネットワーク115の周りに状態情報を伝播できる。このように、ベースノード120はセンサネットワーク115内のノードの各々から状態情報を受信でき、ネットワーク中の全ノードの状態を含む状態メッセージを、リモートステーション150へ通信できる。
図7Aおよび7Bは、開示した実施例のいくつかに一致した、典型的な処理のフローを示す図を提供する。この典型的な実施例によれば、センサノード125は図4に関して上記したように、複数の状態を介したサイクルに構成することができる。このサイクルが休止状態から始まると仮定すると、センサノード125は、休止状態を起動し(ステップ702)、状態情報を記憶する(ステップ704)ことによって、開始する。例えば、センサノード125内のコントローラ310は、センサ340および/または電源370に質問でき、これらのコンポーネントの現在の状態を示す状態データベース内に、情報を記憶できる。上記したように、センサ340の状態情報は、センサがトリガされたか否かおよび電源370の電力が低いか否かを示すブール(Boolean)値であってもよい。
休止状態において、センサノード125は既定の休止期間が終了したか否かを決定する(ステップ706)。終了していないとき、センサノード125は電力を節約するため休止状態を維持する(ステップ706でNo)。しかし、既定の休止期間が終了したとき(ステップ706でYes)、センサノード125はバッテリおよびセンサ340に関する状態情報を記憶でき(ステップ704)、次に傾聴状態を開始する(ステップ707)。この傾聴状態の間、ノード125は送受信機350を起動してセンサネットワーク115内の他のノードから通信を受信するために既定時間待機することができる。
傾聴状態の間、センサノード125は通信が受信されたか否かを決定できる(ステップ708)。終了していないとき(ステップ708でNo)、および傾聴状態の既定期間がタイムアウトされていないとき(ステップ710でNo)、次にセンサノード125は傾聴状態の通信を待ち続ける。一方、傾聴状態の既定期間が終了したとき(ステップ710でYes)、センサノード125は記憶した状態情報を送信でき(ステップ718)、通信状態を開始できる(ステップ750)。
センサノード125が傾聴状態にあるとき(ステップ708でYes)通信を受信する他の環境下において、センサノード125は、状態メモリ370内にセンサノード125の状態情報とともに受信した状態情報を記憶できる。いくつかの実施例において、センサノード125は、受信した情報を記憶する前に通信が有効であることを確認する。例えば、センサノード125は、ネットワークIDに基づき受信した情報がセンサネットワーク115内の他のノードから受信したことを確認できる。
さらに、センサノード125は、受信した状態情報がサービス状態命令を含むか否かを決定できる(ステップ714)。その結果がYes(ステップ714でYes)のとき、次にセンサノード125はサービス状態に遷移することができる(ステップ716)。Noの場合(ステップ714でNo)、次にセンサノード125は状態メモリ370に記憶された状態情報の送信を始め(ステップ718)、通信状態を開始できる(ステップ750)。
通信状態を開始した後(ステップ750)、センサノード125は予め決定した通信状態期間がタイムアウトしたか否かを決定できる(ステップ752)。Noの場合(ステップ752でNo)、ノード125は、送受信機350を介して有効データパケットを傾聴でき、その中に含まれる受信した状態情報を、それぞれのノードのノードID520に関連させて状態メモリ370中に記憶させることができる(ステップ756)。
さらに、センサノード125は、他のノードを示す状態パケットがスリープ状態に入ったか否かを決定する(ステップ756)。他のノードがスリープ状態に入ったことを示す情報がなかったとき、次にセンサノード125は状態メモリ370に記憶された情報を含む状態パケットを送信でき(ステップ758)、次に、通信状態期間がタイムアウトしたかを確認する(ステップ752)ことにより、通信状態サイクルの開始を継続することができる。
しかしながら、センサノード125が、他のノードが休止状態に入ったことを示す状態パケットを受信(ステップ756でYes)したとき、センサノード125はまた、状態メモリ370内のセンサノード125のそれぞれのエントリーにおいて、休止状態に入った(ステップ762)ことを示す情報を記憶できる。次に、センサノード125は、状態メモリ370に記憶された記憶情報を送信し(ステップ766)、休止状態を再開始できる(ステップ704)。
通信状態がタイムアウトした(ステップ752でYes)状況下で、センサノード125は、センサネットワーク115内の他のノードから何れかの有効な通信が受信されたかを決定できる(ステップ760)。通信状態の期間の終わりにおいて、通信が受信されたとき(ステップ760でYes)、センサノード125は、状態メモリ370内のセンサノード125のそれぞれのエントリーにおいて、休止状態に入ったことを示す情報を記憶する(ステップ726)。次に、センサノード125は状態メモリ370に記憶された情報を送信でき(ステップ766)、休止状態を再び開始できる(ステップ704)。しかしながら、通信状態期間の最後までにセンサノード125により通信が受信されなかった(ステップ760でNoの)とき、ノードは状態メモリ370に記憶された状態情報の送信を続行し(ステップ768)、再整合状態を開始する(ステップ770)。いくつかの場合、記憶された状態情報はまた一回以上送信でき、再整合状態を開始する前に他のノードと通信する機会を増大できる。
図8は、いくつかの開示する実施例に一致した、センサノード125を実現する典型的な処理のフローを示す図を提供する。位置110におけるゆっくりとした変化によりセンサノード125がセンサネットワーク115と通信しなくなるということが予想される。例えば、典型的なセンサノード125が住宅の庭の中の地下ペスト検出ステーションにある場合、庭に対する変更(例えば庭園家具等の配置)はセンサノードからの送信を妨害し得る。その結果、センサノード125は隣接するネットワークノードと通信できなくなる可能性がある。各ノードのクロック320のドラフトによって、障害が結果的に除去された場合でも、センサノード125の状態はセンサネットワーク115内の他のノードと整合がずれた状態にあり、そのため、ノード125は通信できない状態に留まることがある。それゆえ、傾聴状態中および/または通信状態中、センサノード125が隣接するノードから通信を受信しないとき、センサノード125は再整合状態に入る場合がある。
再整合状態がセンサノード125により開始された(ステップ802)後、ノードは送受信機350を使用し、既定の期間、センサネットワーク115内の他のノードからの通信を傾聴することができる(ステップ803)。通信が受信されたとき(ステップ803でYes)、再整合状態は終了し、ノードは、通信状態のような(図7B)通常の動作サイクルに戻ることができる(ステップ804)。しかしながら、通信が受信されなかったとき(ステップ803でNo)かつ既定の期間がタイムアウトしたとき(ステップ805でNo)、センサノード125は休止状態の期間を修正できる(ステップ806)。この既定の期間の長さは、典型的な休止期間の開始、終了および/または他の期間において、ある期間、ノードを非休止状態に置くことにより修正できる。この修正された非休止状態の期間、センサノード125は低電力状態を維持し、センサネットワーク115における他のノードから通信を傾聴している。その結果、センサノード125は、センサノード125と整合しない状態サイクルを有する他のネットワークノードから、状態パケットを受信できる。
休止期間を修正した後、通信がネットワーク115内の他のノードから受信されたとき(ステップ810でYes)、再整合状態は終了し、ノードは例えば通信状態(図7B)である通常の動作サイクルに戻ることができる(ステップ804)。通信がネットワーク115内の他のノードから受信されなかったとき(ステップ810でNo)、センサノード125は、再整合モードが最大数のサイクルを完了したか否かを決定できる(ステップ812)。再整合モードが最大数のサイクルを完了しなかった(ステップ812でNo)とき、次にセンサノード125は新しい再整合状態サイクルを開始できる(ステップ802)。
再整合サイクルが最大数を超えたとき(ステップ812でYes)、休止状態に再度入るというより、ノード125は既定の期間、非休止状態に入ることができる(ステップ814)。例えば、センサノード125は、センサネットワーク115との接触を再度設定する最後の試みにおいて、拡張された期間、傾聴状態に入る。この非休止状態の間に通信が受信されたとき(ステップ816でYes)、再整合状態は終了し、ノードは、通信状態(図7B)のような他の通常動作状態に戻ることができる(ステップ804)。通信が受信されないとき(ステップ816でNo)、ノード125はスタンバイモードに入ることができ、ネットワークとのさらなる通信を試みない。例えば、24時間のスタンバイ期間において通信が受信されないとき、ノードは通信からブロックされているか、またはアンテナが破損されている。このような場合、ノード125は、シャットダウン、サービス状態へ入る、傾聴状態に入るまたはビーコン信号の起動を含む、いくつかの改善対策の一つを実行することができる。従って、例えば技術者137は正しく整合されていないセンサノード125を見つけ出すため、サービスノード135を使用できる。
図9は、いくつかの開示する実施例に一致した、センサネットワーク115を設置する典型的な処理のフローを示す図を提供する。一般に、センサネットワーク115の設置中、各ネットワークノードは連続して配置され、少なくとも一つの先行するノードに対するノードの通信能力が確認される。技術者137は最初に、所有物内の適切な位置にベースノード120を設置し(ステップ902)、ネットワークIDをアサインする(ステップ904)。ベースユニット120は、例えば壁の電話ソケットまたは建物または構造体内のイーサネット(登録商標)ルータ等である、通信チャンネル140へのアクセス点近くに配置できる。一度設置されると、ベースノード120は、次のネットワークノードの位置を選択するときに基準として使用されるビーコン信号を発生できる(ステップ906)。各ノードが少なくとも一つの先行するノードの範囲内にあることを確実にするため、ビーコンは配置されたものと同じ位多く、ネットワーク115の周りを伝播させる。各連続するネットワークノードが配置されると、ノードは状態パケットを増分させてビーコンを再送信する。このビーコンはその後、設置されたノードを介して伝播する。さらに、サービスノード135は、ネットワーク内に連続性が存在していることを確認しかつ与えられた位置における信号の品質(強度、ビットエラー率等)を測定するため、ビーコンを使用できる。
次に、設置されるべき次のセンサノード125またはリレーノード130がノードIDを割り付けられる(ステップ908)。次に技術者137は、送信範囲(ステップ910)に対するガイドとして少なくとも一つの先行するノードから受信された信号の品質に基づいて、次のノードを設置するための位置を識別することができ、そのノードを選択した位置に設置できる(ステップ912)。設置されたノード(先に設置された如何なるノードにも加えて)は、次のノードの設置をガイドするためビーコンを発生できる(ステップ914)。他のノードが設置されるとき(ステップ916でYes)、同じ処理を実施する。全てのノードが設置されると(ステップ916でNo)、技術者137は新しいセンサネットワーク115の全ノード間の通信の連続性を確認でき(ステップ918)、ネットワーク115の全ノードが適切に動作していることを確認できる(ステップ920)。上記のように、ベースノード130は、通常動作サイクルにおける第1状態に入るようにセンサネットワーク115に命令できる。センサノード125および/またはリレーノード130は、センサおよびバッテリ状態を問い合わせ、それによって、状態パケットを送信できる。サイクルが完了すると、技術者137はベースノード130における各ノード状態を確認でき、正しければセンサネットワークを起動できる(ステップ922)。
図10は、いくつかの開示する実施例に一致した、センサネットワーク115をサービスする典型的な処理のフローを示す図を提供する。サービス訪問によって、ノードが交換されるかまたはネットワークに加えられることが要求される。例えば、実施例に一致して、シロアリの襲撃または低バッテリゆえにノードの交換を必要とするとき、または1以上のノードが通信していないとき、ネットワーク115はサービスを要求できる。このような場合、技術者137はセンサステーション125をサービスする場所を訪問できる。
サービス訪問は、ノードがサービスノード135に応答することを要求する。したがって、技術者137は、サービス訪問に先立ってセンサネットワーク115と通信し、ネットワークノードがサービス状態であるようにする。例えば、リモートステーション150を用いて、センサ状態に入るように、技術者137は命令をセンサネットワーク115に発行できる(ステップ1002)。その結果、サービス状態命令はベースノード120で通信ネットワーク140上を越えてリモートステーション150から受信でき、サービス状態命令は状態パケット内のネットワークノードに、ノードの前述した通信状態の一部分として伝播される。いくつかの実施例において、サービス状態命令はベースノード120から“真”に対するセンサ状態フラグ560を設定することにより開始される。サービス状態命令を受信した後、既定の時間(例えば36時間)、センサノード123はサービス状態に入る(ステップ1004)。この状態は、ネットワークノードがサービスノード135と通信できるような特別の低デューティサイクル傾聴状態であってもよい。
サービス状態にあるセンサノード125は、サービスノード135から送信された通信の受信時にビーコン信号を送信するように構成されている。したがって、サービスノード135から通信が受信されないとき(ステップ1006でNo)で、かつ、既定のサービス状態期間がタイムアウトされない場合(ステップ1008でNo)、ネットワークノードはサービス状態を維持する。しかしながら、サービス状態がタイムアウトしたとき(ステップ1008でYes)、ネットワークノードはサービス状態を終結し、通常の動作サイクルに戻る。
ネットワークノードが、サービス状態である(ステップ1006でYes)サービスノード135から通信を受信したとき、ネットワークノードはビーコン信号を送信することができる(ステップ1010)。このビーコン信号は、技術者がサービスノード135を用いて、問題のノード位置にホームインするために使用することができる(ステップ1012)。例えば、サービスノード135の範囲内にある1以上のネットワークノード120−130により繰り返し送られるデータパケット500に応答して、サービスノード135により表示される方向指示器を使用して、技術者は、見ることができない地中のノードの位置を決定できる。この指示器は、サービスノード135によって地中のノードから受信される信号の品質に基づいている。信号の品質は、ビーコン信号の強度を示す値および/またはビーコン信号のデータエラー率(例えばビットエラー率)を示す値から決定できる。他の場合、技術者137はセンサネットワーク125内のノードを閲覧("browse”)するためにサービスノード135を使用できる。閲覧のとき、サービスノード135の範囲内の各ネットワークノード120−130は、各ノードのそれぞれの識別子を送信できる(ノードID)。受信した識別子を用いて、サービスノード135は例えば範囲内のノードのリストを表示できる。ノード120−130のうち所望の一つを決めた後、技術者137は通常の方法においてノードを修繕するかまたは置換することにより、ノードサービスを行う(ステップ1014)。
いくつかの実施例において、技術者137はまたサービス状態に入るためネットワーク115に命令を与えることなく、ネットワーク115内のノードを加えたり交換したりできる。この場合、サービスノード135は新しいノードをネットワークIDおよびノードIDでプログラムできる。センサネットワーク115は既定のネットワークノード数を含むように構成されているので、新しいノードは、状態データベース270および/または状態メモリ370において既定のエントリーを占めることにより、ネットワーク内の既に存在するスロット内においてセンサネットワーク115に追加することができる。センサネットワーク115に加えられた後、この追加のノードは再整合状態に入り、ノードの次の通信状態において、アドホックベースでセンサネットワーク115と通信できるようになる。このようにして、ノードが新しいノードと交換されたとき、交換ノードは単に現存する位置に挿入することができる。
ノードを提供した後、技術者はサービスノード135を用いてサービス状態の終了を選択的に要求できる(ステップ1016)。そうでなく、かつ既定のサービス状態の期間がタイムアウトされなかったとき(ステップ1008)、次に技術者はセンサネットワーク115のサービス(点検、修理)を続けなければならない。しかしながら、技術者がサービス状態の終了を要求するならば、サービスノード135は命令を送信してサービス状態を終了させることができる。サービスノード135の範囲内のネットワークノード120−130はこの命令を受信でき、先に記したように、その命令をネットワークノード120−130の他のものに伝送できる。サービス状態を終了する命令を受信した後、センサネットワーク115のノード120−130は、休止状態または通信状態に入ることによって、通常の動作サイクルに戻る。
説明に役立つ実例
本書に開示したいくつかの実施例に一致して、居住用財産環境における昆虫種の検出用ワイヤレスセンサのネットワークを配置する実現可能性を立証するテストが実施された。この研究はバッテリの寿命および環境の適合性に加えてセンサの配置を含む遠隔測定法の大部分の側面に及んでいる。この研究は、しかしながら昆虫の検出器自身の性能に取り組んではおらず、その詳細は研究中の昆虫種に特定されている。
ベースユニットを含む試験センサ用の通信リンクは、マイクロコントローラとRF送受信機を組み込んだchipcon(チップコン)CC2510により提供される。インバータF形式アンテナは、センサを含む回路板に一体に形成され、2.4GHzISMバンドの最大送信用開口部のためにユニットの頂上に配置される。各センサの電力は2つの標準AAアルカリセルによって提供される。
試験に使用されたセンサにおいて、チップコンCC2510はモジュール化されたプラスチックカプセル内でプリント回路板上に取り付けられ、従来のシロアリ誘引ステーションと同じ方法で地下に挿入される。回路板はセンサ、アンテナおよびバッテリ実装を含む。反転F形式アンテナは、回路板の上端に組み込まれ、カプセルが適切な位置にある場合(地上リピータとして配置されない限り)、地上から突出するようにされている。
テストは屋外の庭で摂氏2.3度から摂氏23.5度の温度範囲、20.2mmの全降雨量で約8週間を越えて行われ(測候所の近くで記録され)た。使用される各テストセンサの意図するサービス寿命は12ヶ月を越えるが、非常に加速した動作サイクルが使用されたので、テスト期間は充分であった。センサおよび遠隔測定法の動作は通常サービス寿命において続行されたが、休止期間は約18時間から20分に省略され、全サイクル期間は40分の1に減少した。休止状態は通常のサービス寿命動作であっても全電力予算の約1%だけを費やした。それゆえ、全サイクル期間におけるこの減少は、時間がサイクルと同等に計数されるので、バッテリ寿命の評価を無効にすることはない。
7つのセンサ(ベースユニットを含む)による小さなテストネットワークが、約300日相当(計画されたサービス寿命の80%以上)連続的に介入なく作動された。芝生と舗道エリアを含む、ソフトとハードな景観の混合を特徴としたテスト環境は、小さな花から実質的な木に至る多様な植物を有する花壇が両側に並んでいた。全テスト用地は、家/中庭/サンルーム(conservatory)レベルと下方のパーゴラ(pergola)風の構造物へ導く芝生のエリアとの間に実質的なレベルの変化がある、緩やかな傾斜を特徴とした。
蓄積された全てのテストは、例えば再整合および種々の配置モードのような特定の構成のソークテストおよび短縮調査を含む、1800サイクル以上(3年以上に相当)であった。温度および湿度の変化は、2つのユニット内に僅かに凝縮された浸入の痕跡があるだけで、成型プラスチックカプセル内に収容されたセンサに対して殆ど影響を与えなかった。バッテリの寿命は長持ちし、提案されたサービス寿命を越えてテストセンサおよび遠隔測定に電力供給できた。これらのテストで遭遇したより広範囲の環境温度および湿度によって、バッテリの寿命が幾分か低下するが、これを補うのに利用可能なかなりの余裕があると思われる。再整合パラメータは、ロバストな操作と電力消費(5%デューティサイクル傾聴、5短縮探索サイクル、3全探索サイクル)との間の歩み寄りとして、実験的に決定されてきた。
主な配置プロセスは、最初の“daisy-chain(連結)”からネットワークの“利用可能な経路”原理へと、より適切な形式へ開発されてきた。これは、リピートを使用するネットワークにおいて特に重要である。サービスモードの配置は広範囲に使用されてきた。配置が傾聴状態中に起こった場合に、サービスモードが現存するネットワークのタイミングを短くすることを防止するために、サービスモード配置は修正されている。テストネットワークにおいて、通信状態中の配置に関していくつかの問題がなお残されているが、これらは受信された(配置対通常データ)パケットの形式への追加のチェックにより容易に解決され得る。リピータの使用は大部分のネットワークにおいて利点がある。リピータはテストの多様な状況において単独でおよび複数で、信頼性をもって動作することを示して来た。Fアンテナは、センサノードに対する限られた垂直突出アンテナとして上手く動作した。Fアンテナはまた、リピータノードに対し適切であったが、全リピータノード構成またはネットワークトポロジに対し最善の選択ではないかも知れない。
ここに、発明の例示の実施例を記載したが、本発明の範囲は、本開示に基づき当業者に認識されうる、等価の構成要素、修正、省略、組み合わせ(例えば種々の実施例の全域)、適用および/または修正を有する何等かのおよび全ての実施例を含む。特許請求の範囲における限定は、請求項で使用される言語に基づき広く解釈されるべきであり、本明細書に記載された例または本願の審査中に限定されず、例は包括的なものとして解釈される。
本発明の所定の特徴と実施例が記載されたが、本発明の他の実施例は本明細書と本書に開示の本発明の実施例の構成を考慮することにより、当業者に明白である。例としてペスト検出ステーションに関し実施例を記載したが、本発明は、例えば検出環境条件を含む他の環境下でも等しく適用可能である。さらに、開示された方法のステップは、本発明の原理から逸脱することなく、ステップの再配列および/または挿入または消去を含むことによる何れの方法でも修正できる。それゆえ、明細書および例は例としてのみ考慮され、本発明の真の範囲および精神は以下の特許請求の範囲における請求項により示される。