(57)【要約】      （修正有）【課題】センサーネットワークにおいて、各エンドノードの消費電力を低減する。【解決手段】サーバには、下位ルールＤＢおよび上位ルールＤＢが接続される。下位ルールＤＢには、エンドノードをどのように動作させるのかを規定する下位ルール（制御ルール）が記憶され、上位ルールＤＢには、エンドノードで適用すべき下位ルールを状況に応じて決定するための上位ルールが記憶される。つまり、サーバは、エンドノードのための多くの制御ルールを保持し、状況に応じて適切な制御ルールを選択してエンドノードに送信する。また、エンドノードには、制御ルールをダウンロードして記憶し、その制御ルールに従って動作するための最小限の機能が実装される。エンドノード毎に大がかりなＣＰＵやメモリシステムを設けることなく、状況に合わせてエンドノードの動作モードをダイナミックに変更することができる。【選択図】図１
2009218776.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのセンサを備える少なくとも１つのエンドノードと、前記エンドノードと通信可能に接続されるサーバとを含むセンサネットワークシステムであって、
前記サーバは、
前記エンドノードで適用される下位ルールを記憶する下位ルール記憶手段、
前記下位ルールの前記エンドノードへの適用を状況に応じて決定するための上位ルールを記憶する上位ルール記憶手段、
前記上位ルールに従って前記エンドノードの各々についての前記下位ルールを選択する下位ルール選択手段、および
前記下位ルール選択手段によって選択された下位ルールを該当するエンドノードに送信する送信手段を備え、
前記エンドノードは、
前記送信手段から送信された下位ルールを受信する受信手段、および
前記受信手段によって受信した下位ルールに従って自身の動作を制御する制御手段を備える、センサネットワークシステム。
【請求項２】
前記上位ルールは、前記センサによって検出されたセンシング情報に基づいて前記下位ルールを決定するルールを含む、請求項１記載のセンサネットワークシステム。
【請求項３】
前記上位ルールは、タイマ情報に基づいて前記下位ルールを決定するルールを含む、請求項１または２記載のセンサネットワークシステム。
【請求項４】
前記下位ルールは、前記センサを作動状態にするか否かを規定するルールを含む、請求項１ないし３のいずれかに記載のセンサネットワークシステム。
【請求項５】
前記下位ルールは、前記センサの作動時間を規定するルールを含む、請求項１ないし４のいずれかに記載のセンサネットワークシステム。
【請求項６】
前記下位ルールは、前記センサのセンシング情報を前記エンドノードが前記サーバに送信する頻度を規定するルールを含む、請求項１ないし５のいずれかに記載のセンサネットワークシステム。
【請求項７】
前記上位ルールおよび前記下位ルールの少なくとも一方は、ＥＣＡルール方式で記述される、請求項１ないし６のいずれかに記載のセンサネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はセンサネットワークシステムに関し、特にたとえば、少なくとも１つのセンサを備える少なくとも１つのエンドノードと、エンドノードと通信可能に接続されるサーバとを含む、センサネットワークシステムに関する。
【背景技術】
【０００２】
従来のこの種のセンサネットワークシステムの一例が、非特許文献１に開示されている。この非特許文献１に開示されるＺｉｇＢｅｅ（登録商標）は、アドホックなワイヤレスセンサネットワークの構成を目的として、ＺｉｇＢｅｅアライアンスによって規格化されたシステムであり、ＩＥＥＥ ８０２.１５.４をベースとしている。このようなセンサネットワークシステムは、たとえば或る建物に設置され、センサ入力に基づくサービスを提供する。
【非特許文献１】実践入門ネットワーク  ＺｉｇＢｅｅ開発ハンドブック  鄭立著  リックテレコム
【発明の開示】
【発明が解決しようとする課題】
【０００３】
非特許文献１に開示されているようなセンサネットワークシステムにおいては、多数のエンドノードが環境に配置されるため、その設置の容易さ等を考慮して、各エンドノードは電池（バッテリ）によって駆動されることが望ましい。したがって、エンドノードは、低消費電力であることが極めて重要となる。エンドノードの消費電力を抑えるための方法としては、エンドノードに搭載されるセンサの内、最低限のセンサのみを通電し、その他のセンサをスリープさせておくことが考えられる。
【０００４】
ただし、単純にセンサをスリープさせるだけだと、センシング漏れが生じ、必要なセンシング情報を得られない可能性がある。このため、どのセンサをどのように生かしておくかを詳細に規定する制御ルールを適用することが望ましい。しかし、コストや手間等を考慮すると、エンドノードに高性能のＣＰＵやメモリ等を設けることは現実的ではないため、エンドノード毎に複雑な制御ルールを記憶させたり、その制御ルールを状況に応じて切り替えさせたりすることは難しい。また、大がかりなメモリシステムをエンドノード毎に設けると、却って消費電力が大きくなってしまう可能性もある。
【０００５】
それゆえに、この発明の主たる目的は、新規な、センサネットワークシステムを提供することである。
【０００６】
この発明の他の目的は、必要なセンシング情報を確実に取得しながらも、消費電力を低減できる、センサネットワークシステムを提供することである。
【課題を解決するための手段】
【０００７】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００８】
第１の発明は、少なくとも１つのセンサを備える少なくとも１つのエンドノードと、エンドノードと通信可能に接続されるサーバとを含むセンサネットワークシステムであって、サーバは、エンドノードで適用される下位ルールを記憶する下位ルール記憶手段、下位ルールのエンドノードへの適用を状況に応じて決定するための上位ルールを記憶する上位ルール記憶手段、上位ルールに従ってエンドノードの各々についての下位ルールを選択する下位ルール選択手段、および下位ルール選択手段によって選択された下位ルールを該当するエンドノードに送信する送信手段を備え、エンドノードは、送信手段から送信された下位ルールを受信する受信手段、および受信手段によって受信した下位ルールに従って自身の動作を制御する制御手段を備える、センサネットワークシステムである。
【０００９】
第１の発明では、センサネットワークシステム（１０）は、サーバ（１２）およびエンドノード（１４）を含み、エンドノードに搭載されるセンサ（２８，３０，３２，３４，３６）からのセンシング情報（データ）を収集したり、収集したセンシング情報に基づくサービスを提供したりする。サーバは、下位ルールを記憶する下位ルール記憶手段（１６）、および上位ルールを記憶する上位ルール記憶手段（１８）を備える。ここで、下位ルールとは、エンドノードで適用される制御ルールであり、ノードをどのように動作させるのかを規定する。また、上位ルールとは、エンドノードで適用すべき下位ルールを、状況に応じて決定（選択）するためのルールである。また、サーバは、下位ルール選択手段（Ｓ５）および送信手段（Ｓ７）を備え、下位ルール選択手段は、各エンドノードのための下位ルールを上位ルールに従って選択し、送信手段（Ｓ７）は、その選択された下位ルールを該当するエンドノードに対して送信する。一方、エンドノードは、サーバから送信される下位ルールを受信手段（２０，２６）によって受信し、受信した下位ルールに従い、制御手段（２０，２２）によって自身の動作を制御する。
【００１０】
第１の発明によれば、エンドノード毎に大がかりなメモリシステムを設けることなく、状況に合わせてエンドノードの動作モードをダイナミックに変更することができる。したがって、必要なセンシング情報を確実に取得しながらも、消費電力を低減できる。
【００１１】
第２の発明は、第１の発明に従属し、上位ルールは、センサによって検出されたセンシング情報に基づいて下位ルールを決定するルールを含む。
【００１２】
第２の発明では、センサ（２８，３０，３２，３４，３６）によって検出されたセンシング情報に基づいて下位ルールを決定する上位ルールが、上位ルール記憶手段（１８）に記憶される。たとえば、或るエンドノード（１４）に搭載されたセンサがセンシング情報を検出すると、その情報はサーバ（１２）に送信され、その情報に基づいて、送信元のノード或いは他のノードのための下位ルールが選択される。選択された下位ルールは、各ノードに対して送信され、エンドノードは、その下位ルールに従って動作する。このように、センシング情報に基づいて下位ルールを決定することにより、エンドノードはそのときの状況に適した動作を実行できる。
【００１３】
第３の発明は、第１または第２の発明に従属し、上位ルールは、タイマ情報に基づいて下位ルールを決定するルールを含む。
【００１４】
第３の発明では、サーバ（１２）の内部タイマ等で計測されたタイマ情報に基づいて下位ルールを決定する上位ルールが、上位ルール記憶手段（１８）に記憶される。たとえば、時間帯によって状況が変化するような場合には、タイマ情報に基づいて下位ルールを決定することにより、エンドノード（１４）はそのときの状況に適した動作を実行できる。
【００１５】
第４の発明は、第１ないし第３のいずれかの発明に従属し、下位ルールは、センサを作動状態にするか否かを規定するルールを含む。
【００１６】
第４の発明では、センサ（２８，３０，３２，３４，３６）を作動状態（或いはスリープ状態）にするか否かを規定する下位ルールが、下位ルール記憶手段（１６）に記憶される。たとえば、エンドノード（１４）が複数のセンサを搭載している場合には、上位ルールに基づいて各センサのための下位ルールが選択され、各センサについて作動状態にするか否かが決定される。これにより、そのときに作動させる必要の無いセンサは、スリープ状態にされるので、消費電力を低減できる。
【００１７】
第５の発明は、第１ないし第４のいずれかの発明に従属し、下位ルールは、センサの作動時間を規定するルールを含む。
【００１８】
第５の発明では、センサ（２８，３０，３２，３４，３６）の作動時間を規定する下位ルールが、下位ルール記憶手段（１６）に記憶される。たとえば、センサをどの時刻まで作動状態（或いはスリープ状態）にしておくかを規定したり、どのような時間間隔（頻度）でセンサを作動状態にするかを規定したりするものを含む。これにより、そのときに作動させる必要の無いセンサは、スリープ状態にされるので、消費電力を低減できる。
【００１９】
第６の発明は、第１ないし第５のいずれかの発明に従属し、下位ルールは、センサのセンシング情報をエンドノードがサーバに送信する頻度を規定するルールを含む。
【００２０】
第６の発明では、センサ（２８，３０，３２，３４，３６）によって検出されたセンシング情報を、エンドノード（１４）がサーバ（１２）に送信する頻度を規定する下位ルールが、下位ルール記憶手段（１６）に記憶される。たとえば、気温などの環境状況を検出するセンサにおいて、前回の検出データと大きな違いが無いようなデータを検出した場合には、数回分のデータがまとめて送信される。これにより、必要なデータをサーバに送信しながらも、サーバとエンドノードとの通信回数を低減できるので、消費電力を低減できる。
【００２１】
第７の発明は、第１ないし第６のいずれかの発明に従属し、上位ルールおよび下位ルールの少なくとも一方は、ＥＣＡルール方式で記述される。
【００２２】
第７の発明では、ルールの記述にＥＣＡルール方式が適用される。ここで、ＥＣＡルールとは、或る事象（イベント）に対して、動作の発火条件（コンディション）と、その動作（アクション）の内容とを宣言的に記述するものである（参照；http://www-nishio.ist.osaka-u.ac.jp/tresearch/Ubiquitous/#WhatECA）。このように、ＥＣＡルール方式に従ってルールを記述することによって、周囲状況が変化した（特定の状況になった）タイミングで、ルールをダイナミックに変更することができるので、柔軟なセンシングが可能になる。
【発明の効果】
【００２３】
この発明によれば、サーバがエンドノードの動作を規定するルールを保持し、状況に合わせて適切なルールを選択してエンドノードに送信するので、エンドノード毎に大がかりなメモリシステムを設けることなく、状況に合わせてエンドノードの動作モードをダイナミックに変更することができる。したがって、必要なセンシング情報を確実に取得しながらも、消費電力を低減できる。
【００２４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２５】
図１を参照して、この発明の一実施例であるセンサネットワークシステム（以下、単に「システム」という。）１０は、サーバ１２および複数のエンドノード（以下、単に「ノード」という。）１４を含み、セキュリティシステムや設備管理システム等に適用される。この実施例では、一例として、システム１０が或る病院に適用された場合を想定して説明する。
【００２６】
サーバ（ホストコンピュータ）１２は、システム１０全体の動作を管理するパーソナルコンピュータ等の汎用のコンピュータであり、各ノード１４が搭載するセンサを利用して、必要な情報（センシング情報）を収集する。サーバ１２は、図示は省略するが、ＣＰＵ、プログラムおよびデータを記憶するメモリ、時刻（日時）を計時するタイマ、およびノード１４と通信するための通信装置などを備えている。通信装置には、たとえば、ＺｉｇＢｅｅ、Ｂｌｕｅｔｏｏｔｈおよび無線ＬＡＮ（ＩＥＥＥ８０２．１１）等の無線規格に従う無線通信装置を利用することができる。ただし、サーバ１２とノード１４とは、有線で接続されてもよい。また、サーバ１２とノード１４とは、直接通信させるようにしてもよいし、ノード１４の設置数が多い場合や、サーバ１２とノード１４との距離が大きい場合などには、ルータ等の中継器を介して通信させるようにしてもよい。
【００２７】
ノード１４は、エントランス、ナースステーション、診察室、病室、薬品保管庫、物置および廊下などのような病院内の要所に適宜設置される。なお、ノード１４の設置位置に関する情報は、サーバ１２のメモリ等に適宜記憶される。
【００２８】
図２は、ノード１４の電気的な構成を示すブロック図である。ノード１４は、ＣＰＵ２０を含み、ＣＰＵ２０には、ＲＡＭなどのメモリ２２、タイマ２４および通信装置２６が接続される。ＣＰＵ２０は、ノード１４の全体制御を行い、この全体制御では、タイマ２４の出力が適宜参照される。また、ＣＰＵ２０は、通信装置２６を介して、サーバ１２との間でデータ等を送受信する。たとえば、ＣＰＵ２０は、後述するセンサによって検出したセンシング情報を通信装置２６を介してサーバ１２に送信し、サーバ１２から送信される制御ルール（後述する下位ルール）を通信装置２６を介して受信する。なお、通信装置２６を介して受信した制御ルールはメモリ２２に記憶され、ＣＰＵ２０は、その制御ルールに従って動作する。
【００２９】
なお、各ノード１４のそれぞれには、固有の識別情報（ノードＩＤ、或いはノードアドレス）が割り当てられる。そして、ノード１４からサーバ１２にセンシング情報を送信する際には、そのノード１４の識別情報がセンシング情報に適宜付加される。この識別情報により、サーバ１２は、どのノード１４からのセンシング情報であるかを把握する。ただし、各ノード１４が搭載するセンサ毎に、このような識別情報を割り当てるようにしてもよい。
【００３０】
また、上述のように、ノード１４のＣＰＵ２０には、複数のセンサが接続される。つまり、ノード１４には、複数のセンサが搭載される。具体的には、ビデオカメラ２８、温度センサ３０、湿度センサ３２、人感センサ３４およびタグＩＤ読取センサ３６等がＣＰＵ２０に接続され、各センサで検出されたセンシング情報（データ）は、ＣＰＵ２０に出力される。ただし、センサの種類や数は、これに限定されず、システム１０が提供するサービス等に応じて、必要なセンシング情報を得るためのセンサがノード１４に適宜搭載される。もちろん、全てのノード１４に同じセンサを搭載する必要は無く、ノード１４によって異なるセンサを搭載するようにしてもよい。また、１つのノード１４が１つのセンサを搭載していてもよい。たとえば、ビデオカメラ２８のみを搭載したノード１４を設けることもできる。
【００３１】
ビデオカメラ２８は、その設置場所の周囲の映像を撮影し、温度センサ３０および湿度センサ３２は、環境の温度および湿度をそれぞれ検出する。
【００３２】
人感センサ３４は、人の有無を検出するセンサである。たとえば、人感センサ３４は、赤外線などを利用して、周囲温度と温度差のあるものが検出範囲内で動いたときに、その温度変化を検出することによって、人の有無を検出する。
【００３３】
ＩＤ読取センサ３６は、ＩＤ発信機からの赤外線信号（ＩＤ）を検出するセンサであり、ＩＤ発信機を装着（所有）した人、つまり特定の人の有無を検出する。なお、ＩＤ発信機が発信する赤外線信号は、たとえば８ビットの固有のパターンであり、この実施例では、ＩＤ発信機は、病院の職員（医師や看護師など）に装着される。
【００３４】
さらに、ノード１４のＣＰＵ２０には、電池（バッテリ）３８が接続され、ノード１４の各コンポーネントへの電源は、電池３８によって供給される。この実施例では、ＣＰＵ２０および通信装置２６には、常に電源が供給されており、ノード１４は、サーバ１２からの情報（制御ルール）を受信できる状態にされている。一方、その他のコンポーネント（各センサ）への電源供給は、ＣＰＵ２０による制御によって、必要に応じて行われる。たとえば、ＣＰＵ２０は、センシングが必要な特定の状況になったときのみに、該当するセンサに電源を供給してセンシングを行い、それ以外のときにはセンサをスリープ状態にしておく。
【００３５】
上述のように、システム１０ではノード１４を電池３８によって駆動させるため、ノード１４は、低消費電力であることが求められる。ノード１４の消費電力を抑えるためには、最低限のセンサのみを通電状態にし、その他のセンサはスリープ状態にしておくことが有効である。
【００３６】
ここで、ノード１４に搭載したセンサを利用して、必要な情報をセンシングする場合を考えると、必要とする情報の内容や重要度は、設置場所や時間帯、或いは周囲状況などによって変化する（異なる）。
【００３７】
たとえば、病室においては、温度や湿度などを管理する必要があるので、病室に設置したノード１４では、温度や湿度などの環境条件のセンシングが必要となるが、物置では、このような環境条件のセンシングはそれほど必要とならない。また、病室によっても、患者の数や症状などにより、監視を強くするべき病室と、あまり監視を必要としない病室とがある。つまり、各病室に応じたセンシングが必要となる。さらに、同じ場所であっても、朝や昼と比較して、夜は人が少なく状況の変化も少ないので、夜にセンシングを密にする必要はあまりなく、非常時に対応できればよいと考えられる。
【００３８】
このように、センシングを行うべき情報は、時間や設置場所などによって変化するので、単純に（たとえば、一定時間毎に）センサをスリープさせるだけだと、センシング漏れが生じ、必要なセンシング情報を得られない可能性が生じる。
【００３９】
したがって、或る状況においてはどのセンサをどのように生かしておくというセンシングのポリシーを制御ルールとして詳細に規定しておくことが望ましく、ノード１４の動作モードを状況に応じてダイナミックに変更できる技術が望まれる。
【００４０】
ただし、ノード１４のような限られたリソース（ＣＰＵの処理速度やメモリ容量など）では、ノード１４毎に複雑な制御ルールを記憶させたり、その制御ルールを状況に応じて切り替えさせたりすることは、負担が大きくなりすぎるため現実的ではない。そこで、この実施例では、サーバ１２が、その豊富なリソースを活用して多くの制御ルールを保持し、ノード１４には、制御ルールをダウンロードして記憶し、その制御ルールに従って動作するための最小限の機能のみを実装しておく。そして、センシング情報やタイマ情報などに基づいて、サーバ１２が状況に応じた適切な制御ルールを選択し、選択した制御ルールをノード１４に適宜送信することにより、システム１０全体としての省電力と高機能とを実現するようにした。
【００４１】
具体的には、図１に示すように、サーバ１２には、２つのデータベース（ＤＢ）、すなわち下位ルールＤＢ１６および上位ルールＤＢ１８が接続され、これらのＤＢ１６，１８に記憶されるルールに基づいて、ノード１４の動作が適宜制御される。
【００４２】
下位ルールＤＢ１６には、下位ルールが記憶される。下位ルールは、ノード１４で適用される制御ルールであり、ノード１４をどのように動作させるのかを規定する。たとえば、下位ルールには、ノード１４が搭載するセンサを作動状態（通電状態）にするかスリープ状態にするかを規定するものがある。また、ノード１４のセンサの作動時間を規定するものがある。たとえば、センサをどの時刻まで作動状態（或いはスリープ状態）にしておくかを規定したり、どのような時間間隔（頻度）でセンサを作動状態にするか、つまりセンサがセンシング情報を取得（検出）する頻度を規定したりするものがある。さらに、センサが取得したセンシング情報のサーバ１２への送信頻度を規定するものがある。
【００４３】
また、この実施例のように、ノード１４が複数のセンサを搭載している場合には、センサ毎にどのように動作させるのかを規定することもできるし、センサをグループ分け（たとえば、通常時に作動させるセンサ群と、特定のイベントが発生したときのみに作動させるセンサ群とにグループ分けする）して、グループ単位でどのように動作させるのかを規定することもできる。
【００４４】
さらに、ノード１４自体をスリープ状態にするかどうか、つまりＣＰＵ２０および通信装置２６などの最小限の機能のみを起動し、他の全てのコンポーネントをスリープさせる省電力状態にするかどうかを規定することもできる。
【００４５】
上位ルールＤＢ１８には、上位ルールが記憶される。上位ルールは、ノード１４で適用すべき下位ルールを、状況に応じて決定（選択）するためのルールである。たとえば、上位ルールには、或るノード１４から送信されたセンシング情報に基づいて、そのノード１４或いは別のノード１４に送信する下位ルールを決定するものがある。また、タイマ情報、すなわち時間帯や曜日などの日時情報に基づいて、ノード１４に送信する下位ルールを決定するものがある。
【００４６】
なお、この実施例のように、システム１０が複数のノード１４を備える場合には、ノード１４毎に個別の下位ルールを決定して送信するようにしてもよいし、全てのノード１４に同じ下位ルールを決定して送信するようにしてもよい。また、ノード１４をグループ分けして、グループ単位で同じ下位ルールを決定して送信するようにしてもよい。たとえば、互いに近くに設置されるノード１４毎にグループ分けしたり、同じセンサを搭載しているノード１４毎にグループ分けしたりするとよい。また、通常時のスリープ時間を長く設定するノード１４と、スリープ時間を短く設定するノード１４とを設け、これによりグループ分けするようにしてもよい。
【００４７】
上述のような下位ルールおよび上位ルールは、たとえば、ＥＣＡルールの方式に従って記述される。ここで、ＥＣＡルールとは、或る事象（イベント）に対して、動作の発火条件（コンディション）と、その動作（アクション）の内容とを宣言的に記述するものであり、ＥＣＡルールは、これらの３要素によって構成される。ただし、イベントおよびコンディションの要素は必ずしも記述（設定）される必要は無く、無条件でアクションが実行されることもある。また、或るイベントが発生したときに無条件でアクションが実行されることもあるし、或るコンディションになったときにアクションが実行されることもある。このように、ＥＣＡルールの方式に従って下位ルールおよび上位ルールを記述することによって、周囲状況が変化した（特定の状況になった）タイミングで、ルールをダイナミックに変更することができるので、柔軟な対応が可能なシステム１０を提供できる。なお、下位ルールおよび上位ルールの具体例については後述する。
【００４８】
このような構成のシステム１０は、上述したように、セキュリティシステム等に適用され、ノード１４に搭載したセンサを利用して、環境状況などを把握するために必要な情報を検出（センシング）し、センシング情報を収集したり、センシング情報に基づくサービスを提供したりする。
【００４９】
以下には、病院内の或る場所を人が通過したときに、その人の行動や周囲の状況を把握するためのセンシングを行う場合を一例として説明する。
【００５０】
この実施例では、上述のように、病院の職員にＩＤ発信機を所持させておき、ＩＤ読取センサ３６によってＩＤ発信機からの識別情報を受信することにより、職員の通過を検出する。一方、ＩＤ発信機を所持しない人物の通過は、人感センサ３４によって検出する。つまり、システム１０では、或るノード１４の人感センサ３４によって或る人物の通過を検出したときに、そのノード１４のＩＤ読取センサ３６によってＩＤ発信機からの識別情報が受信されていない場合には、その人物は、病院の職員以外の人物（一般人）として認識される。
【００５１】
ここで、たとえば、病院の職員の通過を検出した場合には、温度センサ３０や湿度センサ３２等による通常の簡単なセンシングのみを行う。一方、ＩＤ発信機を所有しない一般人の通過を検出した場合には、患者の徘徊や不審人物の侵入など、非常事態の発生した恐れがあるので、通常のセンシングに加えて、ビデオカメラ２８（監視カメラ）等を起動させ、詳細なセンシングを実行する。
【００５２】
具体的には、たとえば、図３に示すような上位ルールおよび下位ルールがサーバ１２によって保持（つまり、上位ルールＤＢ１８および下位ルールＤＢ１６に記憶）され、これらのルールに基づいて、上述のノード１４の動作が実行される。
【００５３】
図３(Ａ)には、上位ルールＤＢ１８に記憶される上位ルールの一例を示す。ここで、「Ｅ」はイベントの内容を示し、「Ｃ」はコンディションの内容を示し、「Ａ」はアクションの内容を示す（図５−図７も同様）。図３(Ａ)に示す上位ルール（ルールＩ）は、「ノード１４から人感センサ３４のデータを受信したときに、そのノード１４からＩＤ読取センサ３６のデータを受信していない場合には、各ノード１４にルールｉを送信する」というものである。
【００５４】
図３(Ｂ)には、下位ルールＤＢ１６に記憶される下位ルールの一例を示す。図３(Ｂ)に示す下位ルール（ルールｉ）は、「人感センサ３４でデータを検出したときに、ビデオカメラ２８がスリープ状態の場合には、ビデオカメラ２８を起動する」というものである。
【００５５】
このように、通常時は、電力消費の比較的少ないセンサ（温度センサ３０や湿度センサ３２）による簡単なセンシングに留めておき、詳細な状況把握を必要とする一般人が通過したとき、つまり特定の状況のときのみに、消費電力の大きいセンサ（ビデオカメラ２８）を起動して、詳細なセンシングをすることで、必要なセンシング情報を確実に取得しながらも、消費電力を抑えることができる。
【００５６】
続いて、上述のようなシステム１０の動作の一例をフロー図に従って説明する。具体的には、サーバ１２が図４に示す全体処理を実行する。図４を参照して、サーバ１２は、全体処理を開始すると、ステップＳ１で、各ノード１４に通常時の下位ルールを送信する。たとえば、警戒が必要な場所に設置されたノード１４には、人感センサ３４およびＩＤ読取センサ３６を常時起動させておくような下位ルールを送信したり、警戒があまり必要でない場所に設置されたノード１４には、各センサ３４，３６を間欠的に起動させるような下位ルールを送信したりする。
【００５７】
次のステップＳ３では、各ノード１４からのセンシング情報を取得する。すなわち、上述のステップＳ１で送信した下位ルールに基づいて動作する各ノード１４からのセンシング情報、たとえば人感センサ３４およびＩＤ読取センサ３６によって検出されたデータを取得する。
【００５８】
そして、ステップＳ５では、ノード１４に送信する下位ルールが有るかどうかを判断する。すなわち、上位ルールＤＢ１８に記憶される上位ルールおよび各ノード１４からのセンシング情報を参照して、各ノード１４に送信する下位ルールが有るかどうかを判断する。言い換えると、上位ルールのイベントの欄に記載された事象が発生したかどうかを判断したり、そのコンディションの欄に記載された条件が満たされているかどうかを判断したりすることによって、各ノード１４に対して送信すべき下位ルールを選択する。つまり、そのときの状況に適した下位ルールを選択する。ステップＳ５で“ＹＥＳ”の場合、すなわちノード１４に送信する下位ルールが有る場合には、ステップＳ７に進む。一方、ステップＳ５で“ＮＯ”の場合、すなわちノード１４に送信する下位ルールが無い場合には、そのままステップＳ９に進む。
【００５９】
ステップＳ７では、該当するノード１４に下位ルールを送信する。すなわち、ステップＳ５で選択された下位ルールを、下位ルールＤＢ１６から読み出し、該当するノード１４に対して送信する。このときには、全てのノード１４に対して下位ルールが送信される場合もあるし、一部のノード１４のみに下位ルールが送信される場合もある。また、１つのノード１４に対して１つの下位ルールが送信される場合もあるし、１つのノード１４に対して複数の下位ルールが送信される場合もある。
【００６０】
次のステップＳ９では、この全体処理を終了するかどうかを判断する。ステップＳ９で“ＹＥＳ”の場合、たとえば外部から終了指示があったような場合には、この全体処理を終了する。一方、ステップＳ９で“ＮＯ”の場合には、処理はステップＳ３に戻る。
【００６１】
なお、ノード１４では、送信された下位ルールに基づく動作が実行される。具体的には、ノード１４のＣＰＵ２０が、送信された下位ルールに基づいて、自身の搭載する各センサに制御信号を与え、各センサを起動状態にしたり、スリープ状態にしたりする。つまり、ノード１４の動作モードが、サーバ１２から送信される下位ルールによって適宜変更される。
【００６２】
この実施例によれば、サーバ１２がノード１４の動作を規定する制御ルール（下位ルール）を保持し、状況に合わせて適切な制御ルールを選択してノード１４に送信するので、ノード１４毎に大がかりなメモリシステムを設けることなく、状況に合わせてノード１４の動作モードをダイナミックに変更することができる。したがって、必要なセンシング情報を確実に取得しながらも、消費電力を低減できる。
【００６３】
また、具体的な制御ルールはサーバ１２からノード１４に送信され、ノード１４には、制御ルールをダウンロードして記憶し、その制御ルールに従って動作するための最小限の機能のみを実装しておくだけでよいので、ノード１４の汎用性が高くなる。たとえば、システム１０に新たなノード１４を追加する場合には、そのノード１４に複雑な制御ルールを予め記憶させておく必要が無いので、新たなノード１４を追加し易い。つまり、柔軟性の高いシステム１０を提供できる。
【００６４】
なお、人の移動に伴って周辺状況のセンシングを行う場合、人の通過を検知してからセンシングを行ったのでは、ノード１４が人の通過を検知する前のセンシングが行えないので、センシング情報を有効に利用できない場合がある。そこで、或るノード１４が人の通過を検知した場合には、通過を検知したノード１４との距離、および人の平均的な移動時間などを考慮して、各ノード１４に適した下位ルール（たとえばスリープ指示やセンシング指示）を送信することもできる。たとえば、通過を検知したノード１４の近くに設置されたノード１４に対しては、スリープ時間が短めに設定された下位ルールを送信し、遠くに設置されたノード１４に対しては、スリープ時間が長めに設定された下位ルールを送信するとよい。
【００６５】
具体的には、たとえば、図５に示すような上位ルールおよび下位ルールがサーバ１２によって保持され、これらのルールに基づいて、上述の各ノード１４の動作が実行される。
【００６６】
図５(Ａ)に示す上位ルール（ルールII）は、「ノード１４から通過データを受信したときには、通過データの送信元ノード１４から近いノード１４に対してルールiiaを送信し、遠いノード１４に対してルールiibを送信する」というものである。また、図５(Ｂ)に示す下位ルール（ルールiia）は、「タイマを１分に設定してスリープ状態へ移行する」というものであり、図５(Ｃ)に示す下位ルール（ルールiib）は、「タイマを１０分に設定してスリープ状態へ移行する」というものである。ただし、この場合の下位ルールとしては、「スリープ状態の場合には、１分後に起動状態へ移行する」というようなものでもよい。なお、ここでいう通過データとは、人感センサ３４或いはＩＤ読取センサ３６によって検出されたデータを意味する。
【００６７】
このように、或る情報を取得したノード１４からの距離などに応じて、他のノード１４にスリープ指示やセンシング指示を送信することによって、無駄なくセンシングを実行することができ、かつスリープ時間を長くすることができるので、より効率的に、消費電力を抑えることができる。
【００６８】
また、人の移動に伴って周辺状況のセンシングを行うだけでなく、ノード１４からのセンシング情報に基づいて、空調機器、照明機器および情報提示機器などの電気機器を適宜制御することもできる。たとえば、人の移動先を予測して、その予測先の空調機器をＯＮにし、必要の無い場所の空調機器をＯＦＦにすれば、快適でかつ無駄の無い空調が可能となり、消費電力を低減できる。また、電気機器を制御する際には、たとえば平日と休日とや昼と夜とで、電気機器に対する制御信号を変更する（制御モードを変更する）というように、状況に合わせた電気機器の制御を適宜行うとよい。システム１０では、従来のセンシング情報に基づく電気機器の制御では実現することが困難であった、このような細やかな対応が可能となるので、消費電力を低減できる。
【００６９】
また、たとえば、病院のエントランスにおいて一般人の通過を検知した際に、複数の案内灯などの案内装置を利用して、受付までの道順を電子的に案内する場合を考える。この場合、案内すべき人がいないときには案内装置をスリープ状態にしておき、案内すべき人の通過を検知したときのみに案内装置を起動したり、人の移動先を予測し、それに合わせて案内装置を順に起動したりすることもできる。これにより、消費電力を低減できる。
【００７０】
なお、このような電気機器に対する制御信号は、サーバ１２から直接送信するとよい。また、電気機器をノード１４に搭載（接続）する場合には、サーバ１２からノード１４に対して制御指示（下位ルール）を与え、ノード１４（ＣＰＵ２０）が電子機器に対して制御信号を送信するようにしてもよい。
【００７１】
また、ノード１４に搭載したセンサを利用して周辺状況のセンシングを行う場合、上述したように、必要とする情報の内容や重要度は、設置場所および時間帯などによって異なり、常時センシングしている意味の無いセンサも存在する。そこで、ノード１４が設置されている場所の状況などを考慮した下位ルール（センシングルール）を、サーバ１２から各ノード１４に適宜送信することもできる。
【００７２】
たとえば、室温などを検出する場合、室温が劇的に変化することは少なく、常時センシングしている意味はあまり無いと考えられる。そこで、温度センサ３０を搭載しているノード１４に対しては、定期的にセンシングを行うようなルールを送信する。また、この際には、場所によって室温検出の重要度は異なるので、たとえば、室温検出が重要となる病室では、比較的短い間隔でセンシングを行い、室温検出が比較的重要とはならない物置では、比較的長い間隔でセンシングを行うとよい。
【００７３】
具体的には、たとえば、図６(Ａ)に示すような下位ルールが病室に設置されたノード１４に送信され、図６(Ｂ)に示すような下位ルールが物置に設置されたノード１４に送信される。そして、これらの送信されたルールに基づいて、上述の各ノード１４の動作が実行される。
【００７４】
図６(Ａ)に示す下位ルール（ルールiiia）は、「センシング開始タイマが発火したときに、温度データを検出し、サーバ１２に送信する。そして、次回のセンシング開始タイマを２０分に設定する」というものである。また、図６(Ｂ)に示す下位ルール（ルールiiib）は、「センシング開始タイマが発火したときに、温度データを検出し、サーバ１２に送信する。そして、次回のセンシング開始タイマを１時間に設定する」というものである。
【００７５】
このように、場所（或いは時間帯）や、人の有無によってセンシングのポリシーを変えることによって、効率的で柔軟なセンシングを行うことことが可能になり、消費電力を低減できる。
【００７６】
また、サーバ１２にデータを送信する際には、データを検出する毎に送信するのではなく、数回分のデータをまとめて送信することもできる。たとえば、夜勤の時間帯などは、朝や昼と比較して状況があまり変化することがないので、前回の測定結果と大きな違いが無いような場合には、まとめてデータを送信するとよい。
【００７７】
具体的には、たとえば、図７に示すような上位ルールおよび下位ルールがサーバ１２によって保持され、これらのルールに基づいて、上述のノード１４の動作が実行される。
【００７８】
図７(Ａ)に示す上位ルール（ルールIV）は、「夜勤シフトが開始したときには、ノード１４に対してルールivaおよびルールivbを送信する」というものである。また、図７(Ｂ)に示す下位ルール（ルールiva）は、「前回のセンシングから２０分が経過したときに、温度のデータを検出する」というものであり、図７(Ｃ)に示す下位ルール（ルールivb）は、「温度のデータを検出したときに、３回分のデータが溜まっている場合には、サーバ１２にデータを送信する」というものである。
【００７９】
これによって、サーバ１２とノード１４との間の通信回数を減らすことができ、消費電力をさらに低減できる。
【００８０】
なお、上述の実施例では、一例として、システム１０を病院に適用する場合について説明したが、これに限定されない。システム１０は、会社や学校などの施設に利用できるのはもちろんのこと、たとえば、一般家庭において適用することもできるし、或る地域単位で適用することもできる。
【００８１】
また、上述の実施例では、ノード１４を固定的に設置するようにしたが、これに限定されず、ノード１４は、ユーザによって携帯される等、移動可能に設けられてもよい。たとえば、病院のエントランスにおいて職員の通過をその日初めて検知した際に、その職員の１日のスケジュールや連絡事項を、その職員が携帯するノード１４（携帯端末）に送信するというような使い方もできる。
【００８２】
また、上述の実施例では、ノード１４を電池３８によって駆動するようにしたが、これに限定されず、たとえば、既存のコンセントからの商用電源を供給するようにしてもよい。たとえば、消費電力の大きいセンサを備えるノード１４や、スリープ時間が短く設定されているノード１４等については、既存のコンセントから商用電源を供給するとよい。このように、商用電源を利用する場合であっても、このシステム１０によって消費電力が低減されることに変わりはない。
【００８３】
また、上述の実施例で挙げた上位ルールや下位ルールは、あくまでも例示であり、適宜設定することが可能である。また、上位ルールや下位ルールは、必ずしもＥＣＡルール方式で記述される必要はなく、他の方式で記述されていてもよい。
【図面の簡単な説明】
【００８４】
【図１】この発明のセンサネットワークシステムの構成の一例を示す図解図である。
【図２】図１に示すエンドノードの電気的な構成を示す図解図である。
【図３】図１の上位ルールＤＢおよび下位ルールＤＢに記憶されるルールの一例を示す図解図である。
【図４】図１のサーバが実行する全体処理の一例を示すフロー図である。
【図５】図１の上位ルールＤＢおよび下位ルールＤＢに記憶されるルールの他の一例を示す図解図である。
【図６】図１の下位ルールＤＢに記憶されるルールのさらに他の一例を示す図解図である。
【図７】図１の上位ルールＤＢおよび下位ルールＤＢに記憶されるルールのさらに他の一例を示す図解図である。
【符号の説明】
【００８５】
１０  …センサネットワークシステム
１２  …サーバ
１４  …エンドノード
１６，１８  …データベース
２０  …エンドノードのＣＰＵ
２６  …通信装置
２８，３０，３２，３４，３６  …センサ
３８  …電池
【図１】
2009218776.tif 000003
【図２】
2009218776.tif 000004
【図３】
2009218776.tif 000005
【図４】
2009218776.tif 000006
【図５】
2009218776.tif 000007
【図６】
2009218776.tif 000008
【図７】
2009218776.tif 000009