(57)【要約】      （修正有）【課題】タスク処理コストを低減し、より多くのタスクを実行可能とする通信ノードおよびセンサネットワークシステム並びにタスク処理方法を提供する。【解決手段】センサネットワークシステムを構成する通信ノードに、タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断手段と、前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断手段と、前記処理方式にしたがって、タスク処理を行うタスク処理手段を備えることにより達成される。【選択図】図５
2007193748.tif 000002
【特許請求の範囲】
【請求項１】
センサネットワークシステムを構成する通信ノードであって：
タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断手段；
前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断手段；
前記処理方式にしたがって、タスク処理を行うタスク処理手段；
を備えることを特徴とする通信ノード。
【請求項２】
請求項１に記載の通信ノードにおいて：
前記タスク判断手段は、処理要求されたタスクの内容から、センサの種類、処理条件および観測する事象のうち少なくとも１つを把握することを特徴とする通信ノード。
【請求項３】
請求項１または２に記載の通信ノードにおいて：
前記処理方式判断手段は、自通信ノードで実行されている他のタスクに基づいて、タスクの処理に必要な通信ノード数およびタスク処理の実行スケジュールを決定することを特徴とする通信ノード。
【請求項４】
複数の通信ノードによって構成されるセンサネットワークシステムであって：
前記通信ノードは、
タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断手段；
前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断手段；
前記処理方式にしたがって、タスク処理を行うタスク処理手段；
を備えることを特徴とするセンサネットワークシステム。
【請求項５】
センサネットワークシステムを構成する通信ノードにおけるタスク処理方法であって：
他の通信ノードとの間に接続を確立する接続確立ステップ；
タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断ステップ；
前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断ステップ；
前記処理方式にしたがって、タスク処理を行うタスク処理ステップ；
を有することを特徴とするタスク処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の汎用センサノードが互いに隣接するノードとの間に確立する接続に基づいて構成されるセンサネットワークにおいて、より多くのタスクを処理するための制御を行う通信ノードおよびセンサネットワークシステム並びにタスク処理方法に関する。
【背景技術】
【０００２】
一般的なセンサネットワークシステムにおいて、センサノードは、比較的処理能力の小さい機器であることが多い。そのため、タスク処理コストの削減、分散化は大きな課題である。
【０００３】
例えば、あるセンシングシステムでは、サーバから、センサノードに要求精度を送信する。センサノードは、要求精度に応じた閾値を、センサに送信する。センサは、センサノードから受信した閾値に応じて閾値を変化する閾値可変手段と、所定のセンサと、自センサが出力したアナログ値と変化された閾値とを比較し、比較結果をセンサノードに送信する結果送信手段とを具備し、センサノードは、複数のセンサが出力した結果によって、デジタル情報を抽出し、この抽出したデジタル情報を上記サーバに送信する。
【０００４】
これにより、処理能力の低いセンサノードは、通常時はアナログデータの比較器のみを動作させ、閾値を超えた時だけセンシングデータのデジタル化という比較的重い処理を行う。このようにすることで、センサノードにおける処理コストの低減を可能としている（例えば、特許文献１参照）。
【０００５】
また、例えば、あるマルチセンサ処理装置では、センサノードから得られたデータを、複数の処理装置で分散処理を行う。このようにすることで、使用すると決定されたセンサに割り当てられた処理装置の数に応じて、そのセンサの処理内容を決定することが可能となる。また、単一の処理装置が過負荷で停止してしまうことがなくなる（例えば、特許文献２参照）。
【特許文献１】特開２００５−１２２６５５号公報
【特許文献２】特開２００２−１５７２３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した背景技術には以下の問題がある。
【０００７】
特許文献１により開示されたセンシングシステムでは、個々のセンサノードのデジタル処理の必要性を、検出される事象の信号の大きさの閾値で判断するため、信号の大小以外の条件を設定することができない。したがって、その信号処理コストを低減することは不可能である。
【０００８】
特許文献２により開示されたマルチセンサ処理装置では、センシングの結果得られたデータ処理の分散化を行っており、センサノード自身のセンシング処理コストの低減は行っていない。
【０００９】
そこで、本発明の目的は、タスク処理コストを低減し、より多くのタスクを実行可能とする通信ノードおよびセンサネットワークシステム並びにタスク処理方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の通信ノードは、センサネットワークシステムを構成する通信ノードであって、タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断手段と、前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断手段と、前記処理方式にしたがって、タスク処理を行うタスク処理手段とを備えることを特徴の１つとする。
【００１１】
このように構成することにより、各通信ノードは、要求されたタスクに必要なリソースを判断し、必要な処理方式を決定することができる。その結果、複数のセンサノードにより、協調して該当のタスクの処理を行うことが可能となる。
【００１２】
また、本発明のセンサネットワークシステムは、複数の通信ノードによって構成されるセンサネットワークシステムであって、前記通信ノードは、タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断手段と、前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断手段と、前記処理方式にしたがって、タスク処理を行うタスク処理手段とを備えることを特徴の１つとする。
【００１３】
このように構成することにより、センサネットワークシステムを構成する各通信ノードは、要求されたタスクに必要なリソースを判断し、必要な処理方式を決定できる。その結果、複数のセンサノードにより、協調して該当のタスクの処理を行うことが可能となる。
【００１４】
また、本発明のタスク処理方法は、センサネットワークシステムを構成する通信ノードにおけるタスク処理方法であって、他の通信ノードとの間に接続を確立する接続確立ステップと、タスク処理要求に基づいて、タスク処理に必要なリソースを判断するタスク判断ステップと、前記必要なリソースに基づいて、タスクの処理方式を判断する処理方式判断ステップと、前記処理方式にしたがって、タスク処理を行うタスク処理ステップとを有することを特徴の１つとする。
【００１５】
このようにすることにより、与えられたタスクを複数のセンサノードで協調実行することが可能となる。
【発明の効果】
【００１６】
本発明の実施例によれば、タスク処理コストを低減し、より多くのタスクを実行可能とする通信ノードおよびセンサネットワークシステム並びにタスク処理方法を実現できる。
【発明を実施するための最良の形態】
【００１７】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１８】
本発明の実施例にかかるセンサネットワークシステムについて、図１を参照して説明する。
【００１９】
本実施例にかかるセンサネットワークシステム１０は、クライアントノード１００と、クライアントノード１００と有線または無線により接続できる１または複数の通信ノードとしてのセンサノード２００（２００１、２００２、２００３、・・・、２００ｎ）とを備える（ｎは、１＜ｎの整数）。センサノード２００同士は有線または無線により接続できる。
【００２０】
クライアントノード１００は、センサネットワークシステムに対して、タスク要求１０３を送信する。例えば、クライアントノード１００は、センサノード２００１に対してタスク要求を送信する。
【００２１】
センサノード２００は、互いに隣接するセンサノードとの間に接続を確立し、センサネットワークを構成する。センサノード２００１は、クライアントノード１００からタスク要求を受けて、後述する所定の処理を行い、タスク処理要求（タスク要求処理メッセージ）１０４を他の同一機能を持つセンサノード、例えばセンサノード２００２に送信する。このようにすることにより、各センサノード２００は、タスクを協調して処理することができる。クライアントノード１００からタスク要求を受けたセンサノードまたはセンサノードからタスク処理要求を受けた他のセンサノードのうちの一方は、必要に応じて、クライアントノード１００に応答１０５を返す。
【００２２】
次に、本実施例にかかるセンサネットワークシステム１０におけるセンサノード２００について、図２を参照して説明する。
【００２３】
本実施例にかかるセンサノード２００は、通信部２０２と、通信部２０２と接続されたタスク判断部２０３、処理方式判断部２０４およびタスク処理部２０５と、タスク処理部２０５と接続されたセンシング部２０６とを備える。
【００２４】
通信部２０２は、他の通信ノード、例えばクライアントノード１００、センサノード２００との接続を確立し、通信を行う。
【００２５】
タスク判断部２０３は、クライアントノード１００からのタスク要求および他のセンサノード２００からのタスク処理要求のうち少なくとも一方に基づいて、要求されるタスクの内容から、必要なリソースの情報、例えばセンサの種類、処理条件および観測する事象のうち少なくとも１つを把握する。
【００２６】
処理方式判断部２０４は、タスク判断部２０３において把握された必要なリソースの情報と、実行している他のタスクの状況とに応じて、タスクの処理方式、例えばタスクの処理に必要なセンサノード数、各センサノードにおける実行スケジュールなどを決定する。
【００２７】
タスク処理部２０５は、処理方式判断部２０４において判断されたタスクの処理方式にしたがって、タスク処理を実行する。
【００２８】
センシング部２０６は、タスク処理部２０５からの命令により、必要に応じてセンシングを行うことにより、所定の事象を観測する。センシング部２０６は、観測結果、例えば環境のセンシング結果を通知する。
【００２９】
次に、センサノード２００の各部の動作について説明する。
【００３０】
タスク判断部２０３の動作について、図３を参照して説明する。タスク判断部２０３は、要求されたタスク対して必要なリソースの判断を行う。
【００３１】
通信部２０２は、他のノード、例えばクライアントノード１００またはセンサノード２００から、タスク要求またはタスク処理要求（タスク要求処理メッセージ）を受信し、それをタスク判断部２０３へ通知する（ステップＳ３０２）。
【００３２】
次に、タスク判断部２０３は、通知されたタスク要求またはタスク処理要求の内容から、タスクを判断する。また、タスク判断部２０３は、該タスクに基づいて、タスク処理に要求されるリソース、例えばセンサの種類、処理条件および観測する事象のうち少なくとも１つを示すリソース情報を抽出する（ステップＳ３０４）。
【００３３】
次に、タスク判断部２０３は、抽出したリソース情報を処理方式判断部２０４へ通知する（ステップＳ３０６）。また、タスク判断部２０３は、タスク情報をタスク処理部２０５に入力する。このようにすることにより、センサノードにおいて、タスクを処理するのに必要な条件を把握することができる。
【００３４】
ここで、ステップＳ３０４において、タスク判断部２０３が、タスクの内容から、要求されるリソース情報を抽出する方法について、図４を参照して説明する。
【００３５】
例えば、タスク判断部２０３は、要求されたタスク（要求タスク）の情報から、要求されるリソース情報を抽出する（ステップＳ４０２）。例えば、タスク判断部２０３は、要求タスクの内容から、必要な情報を抽出する（ステップＳ４０４）。
【００３６】
例えば、要求タスクには、温度が４０度以上になったら通知することを示す情報（検出精度１０秒以内）、要求に応じて現在温度を応答することを示す情報（応答時間１秒以内）が含まれる。
【００３７】
タスク判断部２０３は、抽出した必要な情報を、例えばメタデータのような形式で記述する（ステップＳ４０６）。
【００３８】
例えば、タスク判断部２０３は、タスク区分のメタデータとして、センサタイプ、検出精度、応答時間などを記述する。タスク判断部２０３は、センサタイプとして温度センサ、検出精度として１０ｓ、応答時間として１ｓを記述する。
【００３９】
また、タスク要求に対応して、要求されるリソース情報をメタデータとして予め記憶しておくようにしてもよい。その場合、タスク判断部２０３は、タスク要求から該当するメタデータのみを抽出する。
【００４０】
また、要求されるリソース情報の項目については、上述したように使用するセンサタイブ、センサの検出精度、応答時間などがあるが、それ以外の項目を要求されるリソース情報の項目として利用してもよい。また、要求されるリソース情報は、メタデータ以外の方式で記述されていてもよい。
【００４１】
次に、処理方式判断部２０４における、要求されるタスクの処理を行うのに適切なタスク処理方式を決定する手順について、図５を参照して説明する。
【００４２】
処理方式判断部２０４は、タスク判断部２０３から、タスク処理に要求されるリソース情報を受け取る（ステップＳ５０２）。
【００４３】
次に、処理方式判断部２０４は、要求されるリソース情報に基づいて、該リソース条件に適合するセンサノードを探索するためのメッセージを生成する。例えば、処理方式判断部２０４は、要求されるリソース情報に基づいて、適切な条件、例えばセンサのタイプ、設置場所などに適合するセンサノードを探索するためのメッセージを生成する。処理方式判断部２０４は、生成したメッセージを通信部２０２に入力する。通信部２０２は、入力されたメッセージをブロードキャストする。処理方式判断部２０４は、該当センサノードからの応答を待つ（ステップＳ５０４）。
【００４４】
処理方式判断部２０４は、リソース条件に適合する１または複数のセンサノードからの応答が通信部２０２に受信されたか否かを判断する（ステップＳ５０６）。
【００４５】
リソース条件に適合する少なくとも１つのセンサノードからの応答が受信されない場合（ステップＳ５０６：ＮＯ）、処理方式判断部２０４は、タスク要求元、すなわちタスク要求を送信したクライアントノード１００またはタスク処理要求を送信したセンサノードに、実行不可能であることを示す実行不可能通知を送信する（ステップＳ５０８）。
【００４６】
一方、リソース条件に適合する少なくとも１つのセンサノードからの応答が受信された場合（ステップＳ５０６：ＹＥＳ）、処理方式判断部２０４は、自センサノードのタスク処理の実行状況、周囲のセンサノードの数、すなわち応答したセンサノード数に基づいて、タスク処理スケジュール、実行するセンサノード処理順序を決定する（ステップＳ５１０）。
【００４７】
次に、処理方式判断部２０４は、タスク処理スケジュール、実行するセンサノード処理順序を示す情報をタスク処理部２０５へ入力する（ステップＳ５１２）。
【００４８】
このようにすることにより、与えられたタスクを複数のセンサノードで協調実行するための、適切な方法を得ることができる。
【００４９】
ここで、ステップＳ５１０における、タスク処理スケジュールを決定する場合における自センサノードのタスク処理の実行状況、周囲のセンサノードの数の検出方法について、図６Ａから図６Ｄを参照して説明する。
【００５０】
処理方式判断部２０４は、自センサノードのタスク実行スケジュールを確認する。例えば、処理方式判断部２０４は、図６Ａに示すようなタスク実行スケジュールを確認する。図６Ａにおいて横軸は時間を示し、センサノードは所定のスケジュールで１以上のタスクを実行している。例えば、センサノードは、あるタイミングではタスクＡおよびＢ、次のタイミングではタスクＡ、ＢおよびＣ、次のタイミングではタスクＡ、ＢおよびＤを実行している。
【００５１】
処理方式判断部２０４は、要求タスクにより抽出されたリソース情報における処理条件を確認する。例えば、処理方式判断部２０４は、「1分毎に1回、温度を測定して４０度以上であれば通知を出す」という処理条件を確認する。
【００５２】
自センサノードだけで新たなタスクを処理する場合に、図６Ａに示すような実行状況では、別のタスクが入っているため、すなわち全てのタイミングでタスクが実行されているので、新たなタスクの実行は不可能となる。
【００５３】
しかし、図６Ｃおよび図６Ｄに示すように２台または３台のノードで、タスクを分散して実行すれば、新たなタスクの処理が可能となる。このように、自センサノードで処理可能になるように、タスクを分散して実行できる周りの他のセンサノード数を決定する。
【００５４】
次に、タスク処理部２０５の処理について、図７を参照して説明する。タスク処理部２０５は、要求タスクを処理する。
【００５５】
タスク処理部２０５は、処理方式判断部２０４からタスク処理のためのタスク処理スケジュールおよびセンサノード処理順序を示す情報を受け取り、タスク判断部２０３からタスクの内容を示す情報を受け取る（ステップＳ７０２）。
【００５６】
次に、タスク処理部２０５は、タスクの内容を示す情報に基づいて、タスク毎にユニークなＩＤを割り当てる。また、タスク処理部２０５は、センサノード処理順序にしたがって、図８Ａに示すようなタスクＩＤ、タスク処理スケジュール、センサノード処理順序、タスク内容を含むタスク処理要求メッセージを、次のセンサノード、すなわち接続を確立した隣接するセンサノードに送信する（ステップＳ７０４）。
【００５７】
一例として、３台のセンサノードが順番に１分毎にタスクを処理する場合のタスク処理要求メッセージについて、図８Ｂを参照して説明する。
【００５８】
この場合、タスク処理要求メッセージには、タスク処理スケジュールとして、１．タスク受信、２．タスク実行、３．１分停止、４．タスク送信という情報が格納され、センサノード処理順序として、Ａ、Ｂ、Ｃ、Ａ、・・・の順序で処理されることを示す情報が格納され、タスク内容として、温度が４０度以上になったらクライアントノードへ通知することを示す情報が格納される。
【００５９】
次に、タスク処理部２０５は、タスク処理スケジュールにしたがって、タスクを処理する（ステップＳ７０６）。
【００６０】
次に、タスク処理部２０５は、タスク処理の結果、クライアントノード１００に応答１０５を返す必要があるか否かを判断する（ステップＳ７０８）。例えば、タスク処理部２０５は、タスク内容を満たすか否か、上述した例では、温度が４０度以上になったか否かを判断する。
【００６１】
クライアントノード１００に応答１０５を返す必要があると判断した場合（ステップＳ７０８：ＹＥＳ）、タスク処理部２０５はクライアントノード１００へ応答１０５を返す（ステップＳ７１０）。例えば、タスク処理部２０５は、タスク内容を満たすと判断した場合、上述した例では、温度が４０度以上になった場合、クライアントノード１００に応答１０５を返す必要があると判断する。
【００６２】
一方、クライアントノード１００に応答する必要があると判断されない場合（ステップＳ７０８：ＮＯ）およびステップＳ７１０においてクライアントノード１００へ応答を返した場合（ステップＳ７１０）、タスク処理部２０５は続けてタスク要求を処理する必要があるか否かを判断する（ステップＳ７１２）。例えば、タスク処理部２０５は、タスク内容を満たさない判断した場合、上述した例では、温度が４０度以上でない場合、クライアントノード１００に応答１０５を返す必要がないと判断する。
【００６３】
続けてタスク要求を処理する必要があると判断した場合（ステップＳ７１２：ＹＥＳ）、タスク処理部２０５はセンサノード処理順序にしたがって、次のセンサノードへタスク要求メッセージを送信する（ステップＳ７１４）。次に、ステップＳ７０６に戻る。
【００６４】
一方、続けてタスク要求を処理する必要がないと判断した場合（ステップＳ７１２：ＮＯ）、終了となる。
【００６５】
このようにすることにより、与えられたタスクを複数のセンサノードで協調実行することができる。
【００６６】
次に、タスクスケジュールを実行する方法について、図９を参照して説明する。
【００６７】
一例として、ｎ台（ｎは、ｎ＞１の整数）のセンサノードでタスク処理を実行する場合について説明する。
【００６８】
クライアントノード１００から、タスク要求がセンサノード２００１へ送信される（ステップＳ９０２）。
【００６９】
次に、センサノード２００１は、要求されたタスクから、上述した所定の処理を行い、タスク処理方式の決定を行い、該タスク処理方式にしたがってタスク処理要求メッセージを決定し（ステップＳ９０４）、タスク要求処理メッセージを他のセンサノード群２００２〜２００ｎのいずれか１つに送信する（ステップＳ９０６）。
【００７０】
タスク要求処理メッセージを受信したセンサノード２００は、タスク要求処理メッセージにしたがって、タスク処理を行い（ステップＳ９０８）、必要に応じて、クライアントノード１００へ応答を返す（ステップＳ９１０）。
【００７１】
また、タスク要求処理メッセージの、センサノード処理順序、タスク内容、タスク処理スケジュールは、各センサノードでそれらのキャッシュを行えば、初回のみ送信すればよく、通信コスト削減のために、２回目以降は、タスクＩＤのみを通知してもよい。
【００７２】
本実施例によれば、各センサノードは、要求されたタスクに必要なリソースを判断し、必要な処理方式を決定する。その結果、複数のセンサノードにより、協調して該当のタスクの処理を行うことが可能となる。このため、1つのセンサノードで、より多くのタスク処理を行うことが可能となる。
【００７３】
また、本実施例によれば、各センサノードは、要求されたタスクを処理するのに必要な条件を把握することが可能となる。このため、各センサノードは、タスクを協調実行するための処理方式を決定することが可能となる。
【００７４】
また、本実施例によれば、各センサノードは、与えられたタスクを複数のセンサノードで協調実行するための、適切な方法を得ることが可能となる。このため、複数のセンサノードで協調してタスク処理を行うことが可能となる。
【００７５】
また、本実施例によれば、与えられたタスクを複数のセンサノードで協調実行することが可能となる。このため、1つのセンサで実行する処理コストを削減することが可能となる。
【産業上の利用可能性】
【００７６】
本発明にかかる通信ノードおよびセンサネットワークシステム並びにタスク処理方法は、センサネットワークシステムに適用できる。
【図面の簡単な説明】
【００７７】
【図１】本発明の一実施例にかかるセンサネットワークシステムを示す説明図である。
【図２】本発明の一実施例にかかるセンサノードを示すブロック図である。
【図３】本発明の一実施例にかかるセンサノードの動作を示すフロー図である。
【図４】タスクの区分を示す説明図である。
【図５】本発明の一実施例にかかるセンサノードの動作を示すフロー図である。
【図６Ａ】タスクのスケジューリングの一例を示す説明図である。
【図６Ｂ】タスクのスケジューリングの一例を示す説明図である。
【図６Ｃ】タスクのスケジューリングの一例を示す説明図である。
【図６Ｄ】タスクのスケジューリングの一例を示す説明図である。
【図７】本発明の一実施例にかかるセンサノードの動作を示すフロー図である。
【図８Ａ】タスク要求処理メッセージを示す説明図である。
【図８Ｂ】タスク要求処理メッセージを示す説明図である。
【図９】本発明の一実施例にかかるセンサネットワークシステムの動作を示すフロー図である。
【符号の説明】
【００７８】
１００  クライアントノード
２００１、２００２、２００３、２００４、２００５、２００  センサノード
【図１】
2007193748.tif 000003
【図２】
2007193748.tif 000004
【図３】
2007193748.tif 000005
【図４】
2007193748.tif 000006
【図５】
2007193748.tif 000007
【図６Ａ】
2007193748.tif 000008
【図６Ｂ】
2007193748.tif 000009
【図６Ｃ】
2007193748.tif 000010
【図６Ｄ】
2007193748.tif 000011
【図７】
2007193748.tif 000012
【図８Ａ】
2007193748.tif 000013
【図８Ｂ】
2007193748.tif 000014
【図９】
2007193748.tif 000015