(57)【要約】  本開示は、一般に、センサネットワークを制御するシステムおよび方法に関係する。センサネットワークは、特定用途向けシステム内のデバイスの動作パラメータを監視するためのセンサを有する複数のセンサノードを有する。各ノードがネットワークの他のノードと無線で通信することができるように、各ノードに無線通信モジュールが設けられる。ユーザが１つまたは複数のノードの作用を制御するための様々なスクリプトを定義し、ネットワークが必要に応じて様々なノードへこのスクリプトを分配し、それによって、このスクリプトで定義された作用を実施する。したがって、ユーザは、構成または再構成されているノードへ物理的にアクセスする必要なく、容易にかつ動的に任意のノードの作用を構成または再構成することができる。
2010527473.tif 000002
【特許請求の範囲】
【請求項１】
無線センサネットワークであって、
当該ネットワークに対して新規の作用を定義する第１のスクリプトを受け取り、当該ネットワークを介して前記第１のスクリプトを無線で伝送するように構成された第１のノードと、
複数のセンサノードであって、それぞれがデバイスの動作パラメータを検出するためのセンサを有し、前記複数のセンサノードのうちの１つが、前記第１のスクリプトを受け取って前記第１のスクリプトがいつ起動されるべきかを示すイベントデータを保存するように構成され、前記１つのセンサノードが、イベントデータと前記１つのセンサノードのセンサからのセンサデータとの間の比較を実行し、前記比較に基づいて前記第１のスクリプトを起動し、それによって前記新規の作用を実施するように構成された複数のセンサノードとを備える無線センサネットワーク。
【請求項２】
前記１つのセンサノード上で前記第１のスクリプトを実行することが、前記１つのセンサノードに、前記１つのセンサノードの前記センサによって監視されるデバイスの動作状態を制御させる請求項１に記載のネットワーク。
【請求項３】
前記イベントデータが閾値を含み、前記比較が前記閾値に基づくものである請求項１に記載のネットワーク。
【請求項４】
前記１つのセンサノード上で前記第１のスクリプトを実行することが、前記１つのセンサノードに、前記第１のノードへの通知を無線で伝送させる請求項１に記載のネットワーク。
【請求項５】
前記第１のノードが、第２のスクリプトを受け取って、前記１つのセンサノードへ前記第２のスクリプトを無線で伝送するように構成され、前記１つのセンサノードが、前記第２のスクリプトを実行することによって前記イベントデータを更新する請求項１に記載のネットワーク。
【請求項６】
それぞれがセンサを有する複数のセンサノードを設けるステップと、
前記複数のセンサノードのうちの１つにおいて、前記ネットワークの別のノードから、前記１つのセンサノード向けの新規の作用を定義する第１のスクリプトを受け取るステップと、
前記第１のスクリプトを起動するべきイベントを示すイベントデータを保存するステップと、
前記１つのセンサノードのセンサからセンサデータを受け取るステップと、
前記センサデータを前記イベントデータと比較するステップと、
前記新規の作用が前記１つのセンサノードによって実施されるように、前記比較するステップに基づいて前記第１のスクリプトを起動するステップとを含む、無線センサネットワーク向けのノード作用を動的に変化させる方法。
【請求項７】
請求項６に記載の方法であって、前記センサデータがデバイスの動作パラメータを示し、前記方法が、前記起動された第１のスクリプトに基づいて前記デバイスの動作状態を制御するステップをさらに含む方法。
【請求項８】
前記イベントデータが閾値を含み、前記比較するステップが、前記イベントデータを前記閾値と比較するステップを含む請求項６に記載の方法。
【請求項９】
前記起動された第１のスクリプトに基づいて前記ネットワークを介して通知を伝送するステップをさらに含む請求項６に記載の方法。
【請求項１０】
第２のスクリプトを受け取るステップと、
前記第２のスクリプトに基づいて前記イベントデータを更新するステップとをさらに含む請求項６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００７年５月２日出願の、「Ｗｉｒｅｌｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｍｏｄｕｌｅｓ」という名称の、米国仮出願第６０／９１５，５３６号の優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。本出願は、２００７年５月２日出願の、「Ｎｏｄｅｓ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ」という名称の、米国仮出願第６０／９１５，５５２号の優先権も主張するものであり、参照によりこの出願を本明細書に組み込む。本出願は、２００７年５月２日出願の、「Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ」という名称の、米国仮出願第６０／９１５，５７１号の優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。本出願は、２００７年６月２５日出願の、「Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ」という名称の、米国仮出願第６０／９３７，０３１号の優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。本出願は、２００７年８月２日出願の、「Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ」という名称の、米国仮出願第６０／９５３，６３０号の優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。本出願は、２００７年５月２日出願の、「Ｐｒｏｔｏｃｏｌｓ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」という名称の、米国仮出願第６０／９１５，４５８号の優先権を主張するものであり、参照によりこの出願を本明細書に組み込む。
【背景技術】
【０００２】
無線センサネットワーク（ＷＳＮ）などのセンサネットワークは、本明細書で「センサノード」と称される、様々なイベントを検知するためにセンサを監視する様々なノードを有する。例えば、センサネットワークは、様々なデバイスまたはシステムの動作を監視するために工場または他の製造設備で用いられてよい。単なる実施例として、モータの温度が特定の閾値を超過したとき警報が与えられ、それによって過熱状態が生じていることを示すように、センサがモータの温度を検出してよい。さらに、センサネットワークは、検知された状態に基づいて様々なデバイスの自動制御をもたらすように構成されてよい。例えば、センサがモータの過熱を検出する前述の実施例では、センサネットワークが、過熱したモータを自動的にシャットダウンする、あるいは、作業者に警告メッセージを伝送し、次いで作業者が過熱状態を調査することができるなど、他の何らかの措置をとるように構成されてよい。
【０００３】
センサは、様々なデバイスおよび／またはシステムを監視し制御するのに非常に有効であり得るが、センサネットワークの実施は、非常に厄介で高価になることがある。実際、センサネットワークは、その用途向けに少なくともある程度特化した設計をする必要があるほど、センサネットワークの機能は特定用途向けであることが多い。さらに、ＷＳＮについては、無線通信を可能にすると、複雑さおよびコストが追加されることがある。この点に関して、ＷＳＮは、製造設備内などノイズの多い環境で実施されることがあって、非常に頑健な通信システムを必要とする。その上、所望の用途に適当なセンサネットワークの設計は、困難で、高くつき、かつ時間がかかることがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国仮出願第６０／９１５，５３６号
【特許文献２】米国仮出願第６０／９１５，５５２号
【特許文献３】米国仮出願第６０／９１５，５７１号
【特許文献４】米国仮出願第６０／９３７，０３１号
【特許文献５】米国仮出願第６０／９５３，６３０号
【特許文献６】米国仮出願第６０／９１５，４５８号
【特許文献７】米国特許出願第１２／１１４，５４６号
【０００５】
本開示は、以下の図面を参照することで、よりよく理解され得る。図面の要素は、必ずしも互いに同じ縮尺ではなく、その代わりに、本開示の原理を明らかに示すことに重点が置かれている。さらに、同じ参照数字は、いくつかの図を通して対応する部分を示す。
【図面の簡単な説明】
【０００６】
【図１】本開示の例示的実施形態によるセンサネットワークを示すブロック図である。
【図２】図１に示されたものなど、例示的コーディネータ・ノードを示すブロック図である。
【図３】図１に示されたものなど、例示的コーディネータ・ノードを示す図である。
【図４】図１に示されたものなど、例示的ホストコンピュータを示すブロック図である。
【図５】図２に示されたものなど、例示的センサネットワーク・インターフェイスを示すブロック図である。
【図６】図２に示されたものなど、例示的センサネットワーク・インターフェイスを示す図である。
【図７】図１に示されたものなど、例示的センサノードを示すブロック図である。
【図８】本開示の例示的実施形態によるメッシュネットワークを示すブロック図である。
【図９】センサネットワークのノードによって検知されたパラメータに基づいてスクリプトを起動する例示的方法を示す流れ図である。
【図１０】図１に示されたものなどの例示的センサネットワークを備える例示的通信システム示すブロック図である。
【発明を実施するための形態】
【０００７】
本開示は、一般に、センサネットワークを制御するシステムおよび方法に関係する。センサネットワークは、特定用途向けシステム内のデバイスの動作パラメータを監視するためのセンサを有する複数のセンサノードを有する。各ノードがネットワークの他のノードと無線で通信することができるように、各ノードに無線通信モジュールが設けられる。ユーザが１つまたは複数のノードの作用を制御するための様々なスクリプトを定義し、ネットワークが必要に応じて様々なノードへこのスクリプトを分配し、それによって、このスクリプトで定義された作用を実施する。したがって、ユーザは、構成または再構成されているノードへ物理的にアクセスする必要なく、容易にかつ動的に任意のノードの作用を構成または再構成することができる。
【０００８】
図１は、本開示の例示的実施形態によるセンサネットワーク２０を用いるシステム１５を示す。図１で示されるように、ネットワーク２０は、複数のノード２５を有し、これらは、本明細書で「センサノード」と称され、様々なパラメータおよびイベントを検知するためのセンサ２７を有する。例示の一実施形態では、各センサ２７は、デバイス３１に結合されてデバイス３１の動作パラメータを検知する。単なる実施例として、ネットワーク２０が製造設備の動作を監視してよく、センサ２７が製造設備内の機器の動作パラメータを監視してよい。例えば、背景技術の節で述べたように、センサ２７のうちの１つがモータの温度を検知してよい。別のセンサ２７が、ドアが開くときを検知してよい。他の実施例では、センサ２７によって、様々な他のタイプのパラメータおよび／またはイベントが検知され得る。図１は、話を簡単にするために３つのノード２５、３３を示しているが、他の実施形態では、ネットワーク２０が任意数のノード２５、３３を有してよいことに留意されたい。米国仮出願第６０／９１５，５５２号は、ノード２５、３３のいかなるものにも用いられ得る様々な例示的ノード構成を説明している。その例示的センサネットワークおよび要素が、米国仮出願第６０／９３７，０３１号に説明されている。
【０００９】
ネットワーク２０の少なくとも１つのノード３３が、本明細書では「コーディネータ・ノード」と称されて、ネットワーク２０の様々な態様の制御および／または調整の責任を負う。一実施例として、コーディネータ・ノード３３は、センサノード２５から、本明細書で「センサデータ」と称されるデータを受け取るように構成される。そのようなデータは、ノード２５のセンサ２７によって検知されたイベントを示す。コーディネータ・ノード３３は、検知された各イベントに応じて何らかの措置をとるとしたらどのような措置をとるべきか判断し、次いでその措置をとる。例えば、コーディネータ３３は、センサノード２５のうちのいずれかに対して、センサノード２５のうちのいずれかによって検知されたイベントに応じて特定の措置を実行するように命令を伝送してよい。単なる実施例として、コーディネータ・ノード３３は、温度が閾値を超過した、あるいはドアが開いたなどの特定のイベントに応じてリレー（図示せず）を作動させるようにセンサノード２５のうちの１つに命じるように構成されてよい。一実施例では、イベントに応じてシャットダウンされる、あるいは他の何らかのやり方で制御されるモータに、リレーが結合されてよい。別の実施例では、リレーが、光源に結合されて、センサノード２５のうち１つがドア開きを検出したとき光源を作動させてよい。他の実施例では、様々な他のタイプの、検知されたイベントおよび検知されたイベントに応じた措置があり得る。
【００１０】
図１で示された実施形態では、コーディネータ・ノード３３は、ホストコンピュータ３６に結合される。ホストコンピュータ３６は、ネットワーク２０の用途に基づいてコーディネータ・ノード３３を構成する。この点に関して、ホストコンピュータ３６は、より詳細に今後説明される様々なユーザインターフェイスを有し、これによって、ユーザは、入力を与え、かつ出力を受け取ることが可能になる。したがって、ユーザは、ホストコンピュータ３６を介してコーディネータ・ノード３３と通信することができるが、他の実施形態では、ユーザが、コーディネータ・ノード３３に入力を直接与えて出力を直接受け取ることが可能である。実際、ホストコンピュータ３６の実装が不要になるように、コーディネータ・ノード３３にユーザの入力デバイスおよび／または出力デバイスを装備することが可能である。
【００１１】
一旦コーディネータ・ノード３３がその意図した用途に向けて構成されると、ネットワーク２０からホストコンピュータ３６を取り除くことができる。あるいは、ホストコンピュータ３６は、検知されたパラメータなどの様々な情報をコーディネータ・ノード３３から受け取るためにコーディネータ・ノード３３との通信を続けてもよく、それによって、ユーザが、ホストコンピュータ３６を介してネットワーク２０および／またはデバイス３１を監視することが可能になる。さらに、ユーザは、様々な制御入力を与えるのにホストコンピュータ３６を使用してよい。例えば、少なくとも１つの実施例で前述されたように温度の読取りに応じてコーディネータ・ノード３３がモータをシャットダウンするのではなく、むしろコーディネータ・ノード３３が、ホストコンピュータ３６を介して、ユーザに温度読取りに関する情報を供給してよい。次いで、ユーザは、モータをシャットダウンするべきかどうかを判断してよく、シャットダウンするのであれば、コーディネータ・ノード３３に、ユーザが規定した措置をとらせるための入力を供給する。
【００１２】
例示の一実施形態では、ネットワーク２０のノード間の通信は無線であり、例えば無線周波数（ＲＦ）のものである。他の実施形態では、無線でなく物理的な媒体によって通信が行われ得て、他の周波数範囲が可能である。図１で示されたように、コーディネータ・ノード３３は、１つまたは複数のリピータ３９を介してセンサノード２５のうち任意のものと通信してよい。この点に関して、リピータ３９は、センサノード２５またはコーディネータ・ノード３３のいずれかから信号を受け取ってこの信号を再生成してよく、その結果、リピータ３９なしの場合より大きな距離を信号が伝送され得る。センサノード２５のうちのどれでも、同様に信号を再生成することができ、したがって、リピータ３９に関する前述の機能を実行する。例えば、センサノード２５のうちの１つは、センサノード２５の別のものまたはリピータ３９のいずれかから受け取った信号を再生成して伝送することができる。同様に、コーディネータ・ノード３３によって伝送された信号は、宛先のセンサノード２５によって最終的に受け取られる前に、センサノード２５またはリピータ３９のいずれかで受け取られて再生成されてよい。さらに、あらゆる信号が、意図された最終宛先ノードによって受け取られる前に、多数回再生成されてよい。
【００１３】
各ノード２５、３３は、そのようなノードを、ネットワーク２０内の他のノードから一意に識別する識別子と関連付けられていることに留意されたい。好ましくは、ノードに向かうあらゆる信号がノードの一意の識別子を含み、その結果、この信号を受け取るあらゆるノードが、それ自体が信号の宛先かどうかを判断することができる。そのノードが宛先であると、ノードは信号に適切に応答する。例えば、特定のセンサノード２５を識別するメッセージが措置を実行する命令を定義すると、識別されたノード２５は、信号を受け取ると直ちに信号のノード識別子に基づいて信号をさらに処理し、その後、命じられた措置を実行するように構成される。
【００１４】
例示の一実施形態では、各センサノード２５が、電源投入に際してコーディネータ・ノード３３に登録される。例えば、電源投入に際して、センサノード２５は、それが参加するネットワークを探索していることを示すメッセージを一斉送信してよい。そのメッセージに応じて、コーディネータ・ノード３３は、ノード２５が現在ネットワーク２０の一部分であることを示すデータを保存して、ノード２５に回答メッセージを伝送する。コーディネータ・ノード３３は、命令および／またはデータを伝送して、センサノード２５のうち任意のものが、センサ２７によって様々なイベントを監視する、あるいはコーディネータ・ノード３３または別のものによって命令されたように様々な措置をとるなど、所望の機能を実行することを可能にすることもできる。
【００１５】
図２は、本開示の例示的実施形態によるコーディネータ・ノード３３を示す。図２で示されるように、ノード３３は、ノード３３の動作を全般的に制御するためのコーディネータ・ロジック５２を有する。コーディネータ・ロジック５２は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施することができる。図２に示された例示的実施形態では、コーディネータ・ロジック５２は、ソフトウェアで実施されてメモリ５５に保存される。
【００１６】
コーディネータ・ロジック５２は、ソフトウェアで実施されたとき、命令を取得して実行することができる命令実行装置で使用するために、あるいは命令実行装置に関連して、任意のコンピュータ可読媒体上に保存して移送され得ることに留意されたい。この文献の関連では、「コンピュータ可読媒体」は、命令実行装置で使用するために、あるいは命令実行装置に関連して、プログラムの、含有、保存、伝達、伝搬、または移送が可能なあらゆる手段であり得る。
【００１７】
図２で示されたコーディネータ・ノード３３の例示的実施形態は、少なくとも１つのバスを含むことができるローカル・インターフェイス６６を介してノード３３内の他の要素と通信してその要素を駆動する、少なくとも１つの、デジタル信号プロセッサ（ＤＳＰ）または中央処理装置（ＣＰＵ）などの従来型の処理要素６３を備える。その上、ユニバーサル・シリアル・バス（ＵＳＢ）ポートまたはＲＳ−２３２ポートなどのデータ・インターフェイス６７によって、外部デバイスとのデータ交換が可能になる。例えば、図１のホストコンピュータ３６は、コーディネータ・ロジック５２と通信するためにデータ・インターフェイス６７に結合されてよい。
【００１８】
コーディネータ・ノード３３は、コーディネータ・ロジック５２がセンサノード２５と通信するのを可能にするためのセンサネットワーク・インターフェイス６９も有する。少なくとも１つの例示的実施形態では、インターフェイス６９は、無線信号を伝達するように構成されるが、他の実施形態では、物理的媒体によってノード間の通信が行われてよい。少なくとも１つの実施形態では、センサネットワーク・インターフェイス６９は無線のＲＦ信号を伝達し、話を簡単にするために、今後「ＲＦエンジン」と称される。しかし、他の実施形態では、インターフェイス６９を実施するのに他のタイプの通信デバイスが使用されてよい。
【００１９】
さらに、広域ネットワーク（ＷＡＮ）・インターフェイス７２によって、コーディネータ・ロジック５２がインターネットなどのＷＡＮ（図１および図２は示されていない）と通信することが可能になる。一実施例として、ＷＡＮインターフェイス７２は、ケーブルまたはデジタル加入者回線（ＤＳＬ）モデム、あるいはＷＡＮとの通信に一般に使用される他のタイプのデバイスを備えてよい。ＷＡＮインターフェイス７２は任意選択であり、必要に応じて省略され得ることに留意されたい。さらに、ＷＡＮとセンサネットワーク２０との間の通信を可能にするために、ＷＡＮインターフェイス７２は、ホストコンピュータ３６などネットワーク２０の他の要素に結合されてよい。
【００２０】
図２で示されるように、少なくとも１つの例示的実施形態では、コーディネータ・ノード３３の要素は、少なくとも１つのプリント回路基板（ＰＣＢ）７５上に存在する。図３は、本開示の例示的実施形態によるコーディネータ・ノード３３を示す。図２で示された実施形態では、ノード３３は、ＲＳ−２３２ポート８３およびＵＳＢポート８５のどちらかを介してコーディネータ・ロジック５２との通信を可能にするために、これらのポートを有する。さらに、ノード３３は、必要に応じて、センサ（図示せず）に結合することができる複数のアナログ入出力（Ｉ／Ｏ）ポート８８を有する。この点に関して、コーディネータ・ノード３３は、センサノード２５のうちの任意のものと同様に、情報を受け取り、かつ／またはセンサを制御することができる。図３で示された実施形態では、各ポート８８は、ポート８８に挿入された電線（図示せず）を固定するためにねじ込むことができるねじを有する。しかし、他の実施形態では、他のタイプのＩ／Ｏポートが使用されてよい。
【００２１】
ノード３３は、ユーザが手動入力（例えばリセットまたはオン／オフ）を与えることを可能にするための押しボタン９２も含む。さらに、ノード３３は、１つまたは複数の電池（図示せず）を実装することができる電池台９４を有する。図３で示された実施形態では、一対の単３型電池９６が台９４に取り付けられてよく、ノード３３の回路９７に電力を供給するのに使用される。他の実施形態では、他の数および／または他のタイプの電池を使用することができる。さらに、要素のうちの任意のものに対して、他のタイプの電源によって電力を供給することが可能である。単なる実施例として、ノード３３は、電力コンセント（図示せず）に電気的に結合されてよく、そのようなコンセントから電力を受け取る。
【００２２】
少なくとも１つの例示的実施形態では、ＲＦエンジン６９は、図３に示されたＰＣＢ  ７５と分離したＰＣＢ上で実施される。図３で示された実施形態では、ＰＣＢ  ７５は、ＲＦエンジンのＰＣＢ（図３には示されていない）のピンを受けて電気的に接続するための複数の雌型ピンコネクタ９９を有する。ＲＦエンジン６９が、以下でより詳細に説明される。
【００２３】
ＰＣＢ  ７５は、継ぎ目１０３に沿って、取外し可能なタブ１０１を有する。ＲＦエンジン６９のＰＣＢの上にアンテナが実装されている場合には、そのようなアンテナによって通信されている信号に対する妨害を低減するために、タブ１０１を除去するのが望ましいことがある。
【００２４】
図２で示されたように、コーディネータ・ノード３３のロジックの一部分は、コンパイルしなくても実行することができるユーザ定義の実行可能コードのセットである１つまたは複数のスクリプト１１１によって実施されてよい。さらに、本明細書で「イベント情報」と称されるデータ１１２が、メモリ５５に保存される。スクリプト１１１は、センサノード２５の制御で使用することができ、また、イベント情報１１２は、どのスクリプト１１１がこのイベントに応じて起動されるべきかを示してよい。例えば、スクリプト１１１のうちの１つは、特定のイベントに応答するように用いられてよい。この点に関して、イベントの発生に際して、コーディネータ・ロジック５２がスクリプト１１１を起動してよく、次いで、スクリプト１１１がこのイベントに応じて１つまたは複数の措置を引き起こす。
【００２５】
単なる実施例として、センサノード２５のセンサ２７が閾値を上回る温度を検出したときに、その同じセンサノード２５のうちの１つに結合されたモータがシャットダウンされるのが望ましいと想定する。そのような実施例では、センサノード２５は、センサ２７が閾値を上回る温度を検出したとき通知メッセージを伝送するように構成されてよい。コーディネータ・ノード３３は、ＲＦエンジン６９を介してメッセージを受け取ってよく、次いで、イベントデータ１１２を解析して、検出されたイベントに応じてスクリプト１１１のどれが起動されるべきか判断する。次いで、起動されたスクリプト１１１は、モータをシャットダウンするための命令を、コーディネータ・ノード３３のＲＦエンジン６９を介して伝送させてよい。前述のセンサノード２５は、そのような命令を受け取ってよく、これを受けてモータをシャットダウンする。他の実施例では、他の措置およびイベントが可能である。
【００２６】
例示の一実施形態では、ホストコンピュータ３６（図１）によって、コーディネータ・ノード３３に、スクリプト１１１がダウンロードされる。図４は、本開示の例示的実施形態によるホストコンピュータ３６を示す。図４で示されるように、ノード３３は、ホストコンピュータ３６の動作を全般的に制御するためのホストコンピュータ・ロジック１４１を有する。ホストコンピュータ・ロジック１４１は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施することができる。図４に示された例示的実施形態では、ホストコンピュータ・ロジック１４１は、ソフトウェアで実施され、メモリ１４５に保存される。ソフトウェアで実施されたとき、ホストコンピュータ・ロジック１４１は、命令を取得して実行することができる命令実行装置で使用するために、あるいは命令実行装置に関連して、任意のコンピュータ可読媒体上に保存して移送され得ることに留意されたい。
【００２７】
図４で示されたホストコンピュータ３６の例示的実施形態は、少なくとも１つのバスを含むことができるローカル・インターフェイス１５６を介してホストコンピュータ３６内の他の要素と通信してその要素を駆動する、少なくとも１つの、デジタル信号プロセッサ（ＤＳＰ）または中央処理装置（ＣＰＵ）などの従来型の処理要素１５３を含む。その上、ユニバーサル・シリアル・バス（ＵＳＢ）ポートまたはＲＳ−２３２ポートなどのデータ・インターフェイス１６３によって、外部デバイスとのデータ交換が可能になる。例えば、ノード３３のコーディネータ・ロジック５２とホストコンピュータ・ロジック１４１との間の通信を可能にするために、データ・インターフェイス１６３がデータ・インターフェイス６７（図２）に結合されてよい。
【００２８】
その上、ホストコンピュータ３６のユーザからデータを入力するのに、例えばキーボードまたはマウスである入力デバイス１７２を使用することができ、また、ユーザへデータを出力するのに、例えばプリンタまたはモニタである表示デバイス１７５を使用することができる。デスクトップコンピュータ、ラップトップコンピュータ、または携帯情報端末（ＰＤＡ）などのあらゆる既知のコンピュータまたは将来開発されるコンピュータが、ホストコンピュータ３６を実施するのに用いられてよい。さらに、無線信号を介して、あるいは物理的な媒体によって、ホストコンピュータ３６とコーディネータ・ノード３３とが通信することが可能である。
【００２９】
少なくとも１つの例示的実施形態では、ホストコンピュータ３６は、ＡＴメッセージによってコーディネータ・ノード３３と通信し、また、ユーザは、ホストコンピュータ３６を用いてコーディネータ・ロジック１４１を構成してよく、具体的にはコーディネータ１４１が様々なイベントにどのように応答するかということを構成してよい。例えば、ユーザは、スクリプト１１１（図２）をダウンロードしてよく、これは、実行されたとき、コーディネータ・ノード３３に、イベントに応じて何らかの措置をとるなど、ネットワーク２０の一態様を制御させる。ユーザは、スクリプト１１１をいつ実行するべきかということも明示してよい。例えば、ユーザは、センサ２７が特定の温度または他のパラメータを検知するなど特定のイベントが生じたときに、ダウンロードされたスクリプト１１１が実行されるべきであることを示すデータを入力してよい。そのようなデータは、イベントデータ１１２としてメモリ５５（図２）に保存される。この点に関して、イベントデータ１１２は、スクリプト１１１を様々なイベントと関連付ける。したがって、コーディネータ・ロジック５２は、特定のイベントが生じたというメッセージをセンサノード２５から受け取ると、データ１１２を解析して、どのスクリプト１１１が検出されたイベントと関連しているか判断する。次いで、ロジック５２が、関連したスクリプト１１１を起動し、次いで、スクリプト１１１は、コーディネータ・ノード３３に、特定の措置を実行するようにセンサノード２５に命じるなど何らかの措置を実行させる。
【００３０】
図５は、本開示の例示的実施形態によるＲＦエンジン６９を示す。図５で示されるように、ＲＦエンジン６９は、ＲＦエンジン６９の動作を全般的に制御するための通信ロジック２０２を有する。通信ロジック２０２は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施することができる。図５に示された例示的実施形態では、通信ロジック２０２は、ソフトウェアで実施されてメモリ１０５に保存される。ソフトウェアで実施されたとき、通信ロジック２０２は、命令を取得して実行することができる命令実行装置で使用するために、あるいは命令実行装置に関連して、任意のコンピュータ可読媒体上に保存して移送され得ることに留意されたい。
【００３１】
図５で示されたＲＦエンジン６９の例示的実施形態は、少なくとも１つのバスを含むことができるローカル・インターフェイス２１６を介してＲＦエンジン６９内の他の要素と通信してその要素を駆動する、少なくとも１つの、デジタル信号プロセッサ（ＤＳＰ）または中央処理装置（ＣＰＵ）などの従来型の処理要素２１３を含む。その上、複数のＩ／Ｏピンなどのデータ・インターフェイス２２３によって、ＰＣＢ  ７５（図２）上に存在するコーディネータ・ノード３３の要素とのデータ交換が可能になる。トランシーバ２２５は、センサノード２５と通信するように構成される。少なくとも１つの例示的実施形態では、トランシーバ２２５は、無線ＲＦ信号を伝達するように構成されるが、他の実施形態では、トランシーバは、物理的媒体および／または他の周波数帯の信号によって通信してよい。少なくとも１つの例示的実施形態では、ＲＦエンジン６９の要素はＰＣＢ  ２３３上に存在し、ＰＣＢ  ２３３は、データ・インターフェイス２２３を介して図２のＰＣＢ  ７５にプラグ接続されて働く。
【００３２】
図６は、本開示の例示的実施形態によるＲＦエンジン６９を示す。図６で示されるように、ＲＦエンジン６９は、図３で示された雌コネクタ９９と結合可能な複数の導電性Ｉ／Ｏピン２４２を有する。雌コネクタ９９にピン２４２を挿入することによって、ＲＦエンジン６９の回路２４３は、ＰＣＢ  ７５（図３）上に存在する回路９７へ電気的に結合される。
【００３３】
図６は、センサノード２５との無線通信に用いられるアンテナ２４９も示している。雌コネクタ９９にピン２４２を挿入することにより、ＰＣＢ  ７５上にＲＦエンジン６９が実装されるとき、タブ１０１が除去されていないと、アンテナ２４９はタブ１０１に面する。しかし、前述のように、タブ１０１を除去すると、アンテナ２４９を介して送信および／または受信する信号の品質改善を助長することができる。図６は、一般に「Ｆアンテナ」と称されるアンテナ２４９を示すが、他の実施形態では、他のタイプのアンテナが用いられてよい。例示的ＲＦエンジン６９の実施形態は、米国仮出願第６０／９１５，５３６号および同一出願人による２００８年５月２日出願の「Ｗｉｒｅｌｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｍｏｄｕｌｅｓ」という名称の米国特許出願第１２／１１４，５４６号でより詳細に説明されており、参照により米国特許出願第１２／１１４，５４６号を本明細書に組み込む。
【００３４】
ＲＦエンジン６９は、センサネットワーク２０の他のノードとの通信を可能にするように構成される。したがって、コーディネータ・ロジック５２が、センサノード２５のうちのいずれかにメッセージを伝送することになると、コーディネータ・ロジック５２は、メッセージを定義するのに十分な情報をＲＦエンジン６９に供給し、ＲＦエンジン６９は、センサノード２５へそのようなメッセージを無線で伝送する。さらに、ＲＦエンジン６９は、受信通知および他のステータス・メッセージを用いることによって、メッセージの確実な受信を保証するプロトコルを実施してよい。
【００３５】
少なくとも１つの例示的実施形態では、コーディネータ・ロジック５２は、ユーザがホストコンピュータ３６とノード３３との間で通信するのに用いることができるＡＴメッセージと同様に、ＡＴメッセージによってＲＦエンジン６９と通信するように構成される。さらに、スクリプト１１１は、パイソン・プログラミング言語で書かれている。他の実施形態では、他のタイプのメッセージおよびプログラミング言語が用いられてよい。
【００３６】
図５で示されるように、通信ロジック２０２は、コーディネータ・ロジック５２から受け取ったＡＴメッセージをスタック２６６で実施されるワイヤレス通信プロトコルに従って無線信号へ変換するプロトコル・スタック２６６を含む。例示的プロトコルは、２００７年５月２日出願の、米国仮出願第６０／９１５，４５８号、「Ｐｒｏｔｏｃｏｌｓ  ｆｏｒ  Ｗｉｒｅｌｅｓｓ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ」で、より詳細に説明されており、参照によりこの出願を本明細書に組み込む。さらに、ＲＦエンジン６９が受け取った無線信号は、プロトコル・スタック２６６によってコーディネータ・ロジック５２向けのＡＴメッセージに変換される。
【００３７】
図７は、本開示の例示的実施形態によるセンサノード２５を示す。図７で示されるように、ノード２５は、ノード２５の動作を全般的に制御するためのセンサ制御ロジック３１１を有する。センサ制御ロジック３１１は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで実施することができる。図７に示された例示的実施形態では、センサ制御ロジック３１１は、ソフトウェアで実施されてメモリ３１４に保存される。ソフトウェアで実施されたとき、センサ制御ロジック３１１は、命令を取得して実行することができる命令実行装置で使用するために、あるいは命令実行装置に関連して、任意のコンピュータ可読媒体上に保存して移送され得ることに留意されたい。
【００３８】
図７で示されたセンサノード２５の例示的実施形態は、少なくとも１つのバスを含むことができるローカル・インターフェイス３２６を介してノード２５内の他の要素と通信してその要素を駆動する、少なくとも１つの、デジタル信号プロセッサ（ＤＳＰ）または中央処理装置（ＣＰＵ）などの従来型の処理要素３２３を含む。その上、ＵＳＢポートまたはＲＳ−２３２ポートなどのデータ・インターフェイス３２９によって、外部デバイスとのデータ交換が可能になる。
【００３９】
センサノード２５は、センサ制御ロジック３１１が、コーディネータ・ノード３３などの他のノードと通信するのを可能にするためのセンサネットワーク・インターフェイス３３４も有する。例示的実施形態では、インターフェイス３３４は、無線信号を伝達するように構成されるが、他の実施形態では、物理的媒体によって通信が行われてよい。少なくとも１つの実施形態では、センサネットワーク・インターフェイス３３４は無線のＲＦ信号を伝達し、話を簡単にするために、今後「ＲＦエンジン」と称される。しかし、他の実施形態では、インターフェイス３３４を実施するのに他のタイプの通信デバイスが使用されてよい。
【００４０】
さらに、コーディネータ・ノード３３と同様に、図７のセンサノード２５はＰＣＢ  ３３７を備え、ＰＣＢ  ３３７上にノード２５の要素が存在する。センサノード２５のハードウェア要素は、コーディネータ・ノード３３のものと同一または類似でよい。その上、少なくとも１つの例示的実施形態では、任意のノードのハードウェア要素が、他の任意のノードのものと互換性があるように使用されてよい。しかし、ソフトウェアおよび／またはノード２５、３３に保存されたデータは、意図されたノードの機能に対して一意に適合され得る。
【００４１】
センサノード２５のＲＦエンジン３３４は、コーディネータ・ノード３３のＲＦエンジン６９と同一でよい。その上、本明細書で説明されたＲＦエンジンのいずれも、ノード２５、３３の任意のものと互換性があるように用いられてもよい。ＲＦエンジン６９、３３４がノードに実装されると、そのノードは、そのようなＲＦエンジンによって無線通信が可能になる。
【００４２】
この点に関して、ＲＦエンジン３３４は、図５に示されたＲＦエンジン６９のプロトコル・スタック２６６によって実施されるのと同一のプロトコルを実施するプロトコル・スタックを有する。したがって、各ノード２５、３３は、他のノードとの無線通信に同一のプロトコルを用いる。さらに、センサノード２５のＲＦエンジン３３４は、ＲＦエンジン６９がコーディネータ・ロジック５２と通信するやり方と同様に、ＡＴメッセージによってセンサ制御ロジック３１１と通信するが、他の実施形態では、他のタイプのメッセージが用いられてよい。
【００４３】
コーディネータ・ノード３３によって、少なくともある程度まで、センサノード２５のうちの任意のものが構成され得ることに留意されたい。この点に関して、コーディネータ・ノード３３は、センサノード２５によってそのようなノード２５の動作を制御するために用いられるスクリプトおよび／またはデータを伝送してよい。単なる実施例として、センサノード２５のうちの１つは、センサ２７から測定値を受け取って閾値と比較するように構成されてよい。センサ制御ロジック３１１は、測定値が閾値を超過すると、次いでコーディネータ・ノード３３へ通知を伝送するように構成される。しかし、センサノード２５がネットワーク２０に参加する前に閾値が定義される必要はない。この点に関して、一旦ノード２５がネットワーク２０に参加すると、前述のように、コーディネータ・ノード３３は、センサノード２５へ、そのセンサ２７からの測定値を監視するように命令する情報を伝送してよい。そのような情報は、コーディネータ・ノード３３への通知メッセージを起動するのに用いられることになる閾値を含んでよい。他の実施例では、センサノード２５を構成および／または制御するための他のタイプの技法が可能である。
【００４４】
例えば、少なくとも１つの例示的実施形態では、コーディネータ・ノード３３は、所望の機能を実行するようにセンサノード２５を構成するために、センサノード２５へスクリプトを無線で伝送する。単なる実施例として、特定のノード２５が、センサ２７からの測定値を監視して、センサ２７からの現在の測定値が閾値を超過したとき、コーディネータ・ノード３３へ通知を伝送するのが望ましいと想定する。そのような実施例では、ユーザは、ホストコンピュータ３６によってスクリプトをダウンロードしてよく、このスクリプトは、センサノード２５によって実行されたとき、センサノード２５に、センサ２７からの測定値を監視して現在の測定値が閾値を超過すると通知を伝送させる。コーディネータ・ノード３３は、ホストコンピュータ３６からスクリプトを受け取り、コーディネータ・ノード３３のＲＦエンジン６９を介して、センサノード２５へスクリプトを無線で伝送する。センサノード２５のＲＦエンジン３３４（図７）がスクリプトを受け取り、センサ制御ロジック３１１がメモリ３１４へスクリプトを保存する。次いで、ロジック３１１は、センサ２７からの測定値が閾値を超過したとき、スクリプトが、センサノード２５に、コーディネータ・ノード３３への通知を伝送させるように、スクリプトを起動する。他の実施形態では、センサノード２５の任意のものへ、他の機能を実行するためのスクリプトが無線で伝送されてよい。例えば、スクリプトは、コーディネータ・ノード３３へ通知を伝送するのでなく、むしろセンサ２７によって監視されているデバイス３１の動作状態の制御など、何らかの措置をセンサノード２５にとらせてよい。
【００４５】
スクリプトを用いることによって、ホストコンピュータ３６またはコーディネータ・ノード３３または別のものなどの中央の位置から、ネットワーク２０の作用を動的に構成することが可能になることに注意されたい。例えば、ユーザは、任意のノード２５、３３に新規の機能を実行させるように少なくとも１つの新規のスクリプトを定義することができ、次いで、このスクリプトは、ノード２５、３３がこのスクリプトの導入以前には実行できなかった機能をノード２５、３３に実行させるのに用いられる。そのようなやり方で、ノード２５、３３の作用を動的に変化させることができる。さらに、ネットワーク２０によってノードからノードへスクリプトを伝達することができるので、ユーザは、作用が変更されているノードへ物理的にアクセスする必要がない。物理的にアクセスする代わりに、ユーザは、中央の位置または別の位置から、スクリプトをダウンロードすることができ、このスクリプトは、必要に応じて、ネットワーク２０によって任意のノード２５、３３へ伝達され得る。
【００４６】
上記のことをよりよく説明するために、センサノード２５のうちの１つがモータ温度の監視用センサ２７に結合されていると想定する。そのようなノード２５のセンサ制御ロジック３１１（図８）が、検知された温度を監視して、閾値「ＴＨ１」を上回る温度が検知されたときコーディネータ・ノード３３に報告するように当初は構成されるとさらに想定する。コーディネータ・ノード３３は、ＴＨ１を超過していることを示すメッセージを受け取ると、リレーを作動させることによりモータをシャットダウンするように命じる命令をノード２５へ伝送する。
【００４７】
これも前述のセンサノード２５に結合されたファンに、モータが近接していることも想定する。ある時点で、ユーザは、モータを冷却してモータの温度が実際にＴＨ１に達することになる可能性を低下するために、モータの温度がＴＨ１に達する前にファンを作動させるのが望ましいはずだと決定してよい。そのような実施例では、ユーザは、システム２０が希望通りに作用するように、中央の位置または別の位置から、ファンに結合されたノード２５に対して物理的にアクセスすることなくシステム２０を再構成することができる。上記のことを実行することができる様々なやり方がある。
【００４８】
一実施例では、ユーザは、ホストコンピュータ３６によって、コーディネータ・ノード３３へ、「新規のスクリプト」と称される１つまたは複数のスクリプトをダウンロードする。新規のスクリプトのうち少なくとも１つは、コーディネータ・ノード３３に、モータおよびファンに結合されたセンサノード２５と通信して、モータ温度がＴＨ１より低い新規の閾値「ＴＨ２」を超過したときコーディネータ・ノード３３へ通知するようにセンサノード２５に命令させる。この少なくとも１つの新規のスクリプトはまた、コーディネータ・ノード３３に、モータ温度がＴＨ２を超過していることを示すノード２５からのメッセージに応じて新規のスクリプトのうちの１つが起動されるべきであることを示すようにイベントデータ１１２（図２）を更新させる。
【００４９】
センサノード２５を、モータ温度がＴＨ２を超過したときコーディネータ・ノード３３に通知するように構成することができる様々なやり方があることに留意されたい。例えば、例示の一実施形態では、センサ制御ロジック３１１が監視する閾値を定義するデータが、メモリ３１４に保存される。センサ制御ロジック３１１は、検知された温度が閾値のうちのどれか１つを超過した場合、コーディネータ・ノード３３に通知するように構成される。その上、センサ制御ロジック３１１（図８）は、ＴＨ２を含むコーディネータ・ノード３３からの命令に応じてＴＨ２をセンサノード２５に保存された閾値のリストへ追加するように構成される。したがって、センサ制御ロジック３１１は、検知された温度を更新された閾値リストと比較することにより、検知された温度がＴＨ２を超過したときコーディネータ・ノード３３へ通知メッセージを伝送するべきであると判断する。他の実施例では、コーディネータ・ノード３３へ通知メッセージをいつ伝送するべきか判断するのに、他の技法が用いられてよい。
【００５０】
その上、検知された温度がノード２５でＴＨ２を超過すると、ノード２５は、このイベントを示すメッセージを伝送し、また、コーディネータ・ロジック５２は、そのようなメッセージに応じてイベントデータ１１２をチェックする。コーディネータ・ロジック５２は、イベントデータ１１２に基づいて、データ１１２によってこのイベント向けに特定された新規のスクリプトを起動し、新規のスクリプトは、起動されたとき、ノード３３に、このノード２５にファンを作動させるように命令するメッセージをセンサ２５へ伝送させる。これを受けて、センサノード２５は、ファンを作動させてモータ温度がＴＨ１に達するのをできる限り防ぎ、したがってモータがシャットダウンされるのをできる限り防ぐ。
【００５１】
１つまたは複数の新規のスクリプトを定義して、実際にファンを作動させるノード２５へ物理的にアクセスすることなくシステム２０へそのようなスクリプトを入力することにより、現在の実施例における新規の機能（例えばＴＨ２を超過したときファンを作動させる）が可能になることに注意されたい。類似の技法によって、ノード２５、３３のそれぞれに手動でアクセスすることなく、中央の位置または別の位置から、システム２０の任意のノード２５、３３の作用を動的に変化させることができる。
【００５２】
必要に応じて、センサノード２５へ少なくともいくつかのスクリプトを伝送して、センサノード２５上で実行することができることに留意されたい。例えば、モータ温度がＴＨ２を超過したとき、センサノード２５に結合されたファンが作動される先の実施例を考える。コーディネータ・ロジック５２は、コーディネータ・ノード３３で１つまたは複数の新規のスクリプトを実行するのでなく、ＲＦエンジン６９を介して、新規のスクリプトに基づいて作用が変化されることになるノード２５へ１つまたは複数の新規のスクリプトを伝送するように構成され得る。そのようなスクリプトは、センサノード２５で保存することができる。
【００５３】
そのような実施例では、新規のスクリプトの少なくとも１つは、実行されたとき、センサ制御ロジック３１１（図７）に、検知された温度がＴＨ２を超過するときを検知するための監視を開始させてよい。例えば、センサ制御ロジック３１１が監視する閾値を定義するデータがメモリ３１４に保存されてよく、新規のスクリプトの少なくとも１つが、閾値のこのリストにＴＨ２を追加してよい。したがって、センサ制御ロジック３１１は、モータ温度がＴＨ２を超過したとき、何らかの措置が実行されるべきであることを認識している。さらに、コーディネータ・ノード３３に保存されたイベントデータ１１２（図２）と同様に、イベントデータがノード２５に保存されてよい。そのようなデータは、閾値を超過することなどのイベントに応じてどのような措置を実行するべきかを示してよい。そのようなデータは、モータ温度がＴＨ２を超過したとき少なくとも１つの新規のスクリプトが起動されるべきであることを示すように、１つまたは複数の新規のスクリプトによって更新されてよい。したがって、センサ制御ロジック３１１がモータ温度のＴＨ２超過を検出したとき、ロジック３１１は、ノード２５にファンを作動させる少なくとも１つの新規のスクリプトを起動する。
【００５４】
図９は、センサネットワークのノードによって検知されたパラメータに基づいてスクリプトを起動する例示的方法を示す。この方法は、以後「ファン起動スクリプト」と称されるファンを作動させるためのスクリプトがセンサノード２５上に保存されて実行される上記の実施例の状況で説明される。図９で示された方法が、他の実施例でも同様に用いられ得ることに留意されたい。
【００５５】
図９を参照すると、ノードのセンサ２７は、ブロック４１２で示されるように、監視されているデバイス３１の動作パラメータを検知する。この即時の実施例では、センサ２７は、デバイスの温度を検知する。ブロック４１５で示されるように、ノードのセンサ制御ロジック３１１は、検知されたパラメータをノードのイベントデータと比較する。この即時の実施例では、ロジック３１１は、検知されたパラメータを、ノード２５に保存されたイベントデータによって定義されるＴＨ１およびＴＨ２と比較する。ブロック４１７で示されるように、ロジック３１１は、ブロック４１５で実行された比較に基づいて、ファン起動スクリプトを起動するべきかどうかを判断する。この点に関して、検知された温度がＴＨ２より高くてＴＨ１より低いと、ロジック３１１は、ブロック４２１でファン起動スクリプトを起動する。センサノード２５に対して（例えば処理要素３２３に対して）ファン起動スクリプトを実行することは、ノード２５に、ファンを作動させる。
【００５６】
上記で説明されたように、新規の機能を追加することができるように、あるいは古い機能を変更することができるように、システム２０の作用を動的に変化させることができる多くの異なるやり方がある。実際、システム２０は、システム２０が当初作成されたときに、元の設計者または管理者が企図すらしなかったやり方で変化させることができる。さらに、任意のノード２５、３３へ物理的にアクセスしてこれらのノードを再構成することにより、ノードの作用を変化させること（ノードに新規のコードを入力することなど）が可能であるが、システム２０は、任意のノード２５、３３に対して希望通りに分配することができる新規のスクリプトを書き込んでダウンロードすることにより、ホストコンピュータ３６またはコーディネータ・ノード３３などの遠隔地から、ユーザが、任意のノード２５、３３の構成をリモートで変更することが可能である。
【００５７】
センサノード２５の動作を制御するためのスクリプトおよび／または他のデータは、ＲＳ−２３２ポート８３、ＵＳＢポート８５、またはＰＣＢ  ７５上に直接実装された他のインターフェイスを介して入力することなく、コーディネータ・ノード３３のＲＦエンジン６９へ直接入力してよいことに留意されたい。この点に関して、ＲＦエンジン６９が、ＰＣＢ  ２３３（図５）上に直接実装されたＲＳ−２３２ポートまたは他のタイプのインターフェイスを有することがあり得て、その結果、ＰＣＢ  ７５上に直接実装されたインターフェイスを用いることは不要である。
【００５８】
さらに、前述の様々な実施例では、スクリプトが、閾値のチェックおよびファンの起動状態の制御などの様々な他の簡易操作を、実行することおよび／または可能にすることが説明されている。しかし、他の実施例では、複雑な機能がスクリプトによって可能になり、かつ／または実行される。実際、スクリプトは、一般にＩＦ−ＴＨＥＮ−ＥＬＳＥ節、ＦＯＲ−ＮＥＸＴ構造、ＤＯ−ＷＨＩＬＥループおよび／または様々な他の構造またはプログラム文を含んでよい。その上、本明細書で説明されたスクリプトのあらゆるものが、特定の用途向けに望まれ得るあらゆるタイプの機能を、可能にし、かつ／または実行するために用いられてよい。さらに、本明細書で説明された技法は、例えば星形ネットワークおよび網目状ネットワークなどの様々なタイプのネットワークで用いられてよい。
【００５９】
実際、図８は、網目状ネットワークとして実施される例示的センサネットワーク１２０を利用するシステム１１５を示している。この点に関して、ホストコンピュータ３６は、ネットワーク１２０の構成を監視するために、あるいは変化させるために、ネットワーク１２０のセンサノード２５のうちの任意のものとインターフェイスすることができる。例えば、ホストコンピュータ３６がセンサノード２５のうちの１つとインターフェイスされると想定し、このノードを、今後は「インターフェイスされたノード」と称する。ホストコンピュータ３６は、そのようなノード２５の作用に影響を及ぼすために、インターフェイスされたノード２５にスクリプトを直接ダウンロードしてよい。また、ホストコンピュータ３６は、別のノード２５の作用を変化させるために、この別のノード２５へスクリプトを伝達するようにインターフェイスされたノードに命令してもよい。したがって、センサノード２５のあらゆるものが、図１のコーディネータ・ノード３３に対して、前述の機能のうちの少なくともいくつかを実行するように構成され得る。
【００６０】
例示の一実施形態では、各センサノード２５のセンサネットワーク・インターフェイス３３４（図７）が仮想計算機（特に示されていない）を有し、これはバイトコード・インタープリタである。さらに、センサノード２５に伝送されるスクリプトは、ノードの仮想計算機上で実行する前に変換することが不要なフォーマットで伝送される。その上、任意のノード２５が、リモートプロシージャコール（ＲＰＧ）を用いて他の任意のノード２５上でスクリプトを呼び出してよく、他のそのようなノード２５に、呼び出されたスクリプトを実行させる。他の実施形態では、スクリプトを伝達し、起動し、かつ実行するための他の技法が可能である。
【００６１】
センサノード２５は、センサ２７からの測定値を監視しているとき、コーディネータ・ノード３３へ特定のイベントを様々なやり方で通知するように構成され得る。例えば、センサ２７からの測定値を周期的に伝送するようにセンサノード２５を構成することが可能であり、また、コーディネータ・ノード３３は、そのような測定値を解析して、何らかの措置をとるべきかどうかを判断するように構成され得る。しかし、いくつかの実施例では、センサノード２５は、センサ２７を監視する際に、センサ２７からの現在の測定値が閾値を超過したときまたは閾値未満に低下したときのみ通知を伝送するのが望ましいことがある。そのような実施例では、センサノード２５は、センサ２７を監視する際に、現在のセンサ測定値が特定の閾値を超過したときまたはその閾値未満に低下したときのみ通知を伝送するように構成されてよい。そのような監視技法によって、コーディネータ・ノード３３への伝送が制限され得るので、ネットワーク２０上のトラフィックの低減およびセンサノード２５の電力の節約が助長され得る。
【００６２】
ＡＴメッセージなど周知のメッセージ方式およびパイソンなどのプログラミング言語をスクリプト１１１に用いることにより、少なくとも何人かのユーザは、新規の通信プロトコルまたはプログラム言語の学習を必要とすることなく、センサネットワーク２０を構成することができる。実際、スタック２６６によって、メッセージの、そのようなプロトコルへの変換およびそのプロトコルからの変換が自動的に実行されるので、ユーザは、プロトコル・スタック２６６によって実施される無線プロトコルに関する詳細な知識がなくても、センサネットワーク２０を構成することができる。さらに、いかなるそのようなユーザにとっても、ノード２５間に生じる無線通信の態様の多くを設計する必要がなく、それによって、高信頼のセンサネットワーク２５の設計および導入が大幅に簡易化される。
【００６３】
前述のように、少なくともいくつかの実施形態では、センサネットワーク２０が、インターネットなどのＷＡＮに結合されてＷＡＮと通信する。この点に関して、少なくとも１つの実施形態では、コーディネータ・ノード３３は、ＷＡＮとの通信を可能にするＷＡＮインターフェイス７２を有する。他の実施形態では、ＷＡＮインターフェイス７２は、センサネットワーク２０の他の要素に結合されてよい。
【００６４】
図１０は、インターネットなどのＷＡＮ  ３７４がコーディネータ・ノード３３に結合される通信システム３７１の例示的実施形態を示す。コーディネータ・ノード３３は、センサネットワーク２０を、具体的にはＷＡＮ  ３７４に結合されたノード３３をセキュリティ脅威から保護するのに役立つファイアウォール３８２を有する。この点に関して、ファイアウォール３８２は、ウィルスを除去し、かつ／または有害もしくは好ましくないメッセージがコーディネータ・ノード３３へ到達するのを防止するために、ＷＡＮ  ３７４から受け取ったメッセージをフィルタリングすることがある。さらに、ファイアウォール３８２は、不正なサードパーティーがノード３３および／またはネットワーク２０の他の要素へアクセスするのを防ぐために、コーディネータ・ノード３３へのアクセスを制限するように構成されることがある。図２で示されたように、ファイアウォール３８２はソフトウェアで実施されるが、他の実施形態では、そのような要素は、ハードウェア、ファームウェア、あるいはハードウェア、ファームウェア、およびソフトウェアの任意の組合せで実施されてよい。ファイアウォールは、当技術分野で広く周知であり、簡潔さのために本明細書では詳細には説明されない。しかし、任意の既知のファイアウォールまたは将来開発されるファイアウォールが、ネットワーク２０の要素を保護するのに用いられてよい。
【００６５】
ネットワーク２０から遠く離れたユーザは、ネットワーク２０にアクセスする権限を与えられていると想定すると、遠隔通信デバイス３９２を使用して、ネットワーク２０またはネットワーク２０の任意の要素の状態を知ることができる。例えば、ユーザは、ネットワーク２０に関する様々な状態情報を要求するノード３３向けのメッセージをＷＡＮ  ３７４を介して伝送するのに、遠隔通信デバイス３９２を使用することができる。しかし、ネットワーク２０にアクセスする際、特にファイアウォール３８２が通信デバイス３９２を認識できない場合（例えば、以前に通信デバイス３９２がファイアウォール３８２を通して通信するのに使用されたことがない場合）、ファイアウォール３８２によって何らかの問題が生じることがある。したがって、ファイアウォール３８２を通して通信する際の問題を緩和するために、サーバ３９５が、通信デバイス３９２とネットワーク２０との間の仲介物として働くように使用される。
【００６６】
サーバ３９５は、ネットワーク２０にアクセスする権限を与えられたユーザを認証するのに用いることができる情報を保存する。さらに、サーバ３９５は、ネットワーク２０のＩＰアドレスへ各認定ユーザを関連付ける情報を保存する。その上、コーディネータ・ノード３３のコーディネータ・ロジック５２（図２）は、サーバ３９５との持続接続を確立するように構成される。この点に関して、コーディネータ・ロジック５２は、サーバ３９５向けのメッセージを伝送することによってサーバ３９５との通信を開始するように構成される。ノード３３によって通信が開始されているので、ファイアウォール３８２は、同じアドレス（すなわちサーバ３９５のアドレス）からのメッセージを、認定ユーザまたは認定サイトから来るものとして認識するように構成される。したがって、ファイアウォール３８２は、サーバ３９５から来るいかなるそのようなメッセージも阻止しないことになる。しかし、サーバ３９５は、ノード３３によって開始されたメッセージに応答するのでなく、むしろネットワーク２０にアクセスする要求を認定ユーザから受け取るまで応答するのを差し控える。
【００６７】
この点に関して、ユーザは、ネットワーク２０にアクセスしたいとき、通信デバイス３９２およびＷＡＮ  ３７４を介してサーバ３９５にメッセージを伝送する。このメッセージは、サーバ３９５のユーザ認証を可能にするのに十分な情報（例えばユーザ名、パスワードなど）を含む。ユーザが認証されると、サーバ３９５は、ノード３３によって以前に確立された持続接続を用いてネットワーク２０と通信する。この点に関して、サーバ３９５は、ノード３３によって以前に確立された持続接続を介して、ユーザからネットワーク２０へのあらゆる要求を伝送する。ファイアウォール３８２は、そのようなメッセージ中のサーバのアドレスを認識するので、サーバ３９５から伝送されたメッセージを阻止しない。そのような要求に応じてサーバに返されるあらゆるデータが、サーバ３９５によって通信デバイス３９２へ転送される。したがって、デバイス３９２のユーザは、ネットワーク２０の構成を変化させるために、あるいはファイアウォール３８２によってもたらされる妨害または混乱なしでネットワーク２０に関する状態情報を知るためにネットワーク２０にアクセスすることができる。
【図１】
2010527473.tif 000003
【図２】
2010527473.tif 000004
【図３】
2010527473.tif 000005
【図４】
2010527473.tif 000006
【図５】
2010527473.tif 000007
【図６】
2010527473.tif 000008
【図７】
2010527473.tif 000009
【図８】
2010527473.tif 000010
【図９】
2010527473.tif 000011
【図１０】
2010527473.tif 000012
【国際調査報告】
2010527473.tif 000013
2010527473.tif 000014