まず,本発明の一態様として開示するデータ収集制御装置を概説する。
図1は,データ収集制御装置の構成例を示す図である。
図1に示すセンサ区域Aは,データ収集制御装置1により収集されるデータがセンサ2により検知または計測される対象区域である。たとえば,圃場等である。センサ区域A内には,同種類(例えば気温など)のデータを検知または計測する複数のセンサ2(21〜24)が存在していることを示している。
センサ区域A内の位置location1と位置location2とは近接しており,センサ21とセンサ22がそれぞれ存在しているとする。この状況は,別の管理者が独立に近接してセンサ21,22を設置した場合,センサ21が設置されている場所の付近に,人間や道具に付随するセンサ22が移動してきた場合などによって出現する。
データ収集制御装置1は,データ記憶部10,対応情報記憶部11,センサ構成制御部12,および読出制御部13を備える。
データ記憶部10(10_1〜10_4)は,対応するセンサ2から得られる入力データを蓄積する記憶部である。ここでは,データ記憶部10_1〜10_4は,それぞれ,センサ21〜24各々から得られる入力データを蓄積する。
対応情報記憶部(対応テーブル)11は,センサ2各々の位置(location1〜4)と,センサ2からの入力データを蓄積するデータ記憶部10との対応を示す対応情報を記憶する記憶部である。
センサ構成制御部12は,設置された位置が近接する複数のセンサ2を特定して,特定したセンサ2に対応するデータ記憶部10から,一定期間分の入力データを取り出して,比較する。そして,センサ構成制御部12は,比較した入力データの値が同一とみなす範囲,例えば,データの誤差が小さく,データの用途(サービス)から決められる基準に照らして同一と見なせる範囲内にある場合に,特定したセンサ2のうちの1つのセンサ2を代表センサに設定して,残りのセンサ2を停止対象として,停止対象センサの動作を停止する。なお,センサ構成制御部12は,センサ2の動作の停止/開始を直接制御または停止/開始要求をセンサ2に送信することができるように実施される。
さらに,センサ構成制御部12は,対応テーブル11の,停止対象のセンサ2の位置に対応するデータ記憶部を示す情報を,代表センサ2の位置に対応するデータ記憶部を示す情報に書き換える。
読出制御部13は,クライアントである端末装置3のサービスプログラム31,32から,センサの位置を指定したデータ要求を受け付け,対応テーブル11にもとづいて,指定された位置に対応するデータ記憶部10の入力データを読み出す。
データ収集制御装置1は,以下の処理過程による制御方法を実行して,効率的なセンサ構成によるデータ収集を行う。
ST1: センサ構成制御部12は,設置や移動によってセンサ区域A内に入ったセンサ2(21〜24)の,位置とセンサ2から得られる入力データを蓄積するデータ記憶部10との対応を対応テーブル11に登録する。
なお,センサ2の位置は,固定的に設置されて移動しないものについては,マニュアル操作で入力されてもよい。人や道具などに付いて移動するものについては,センサ構成制御部12が,センサ2に搭載されたGPSなどを利用して得た位置情報を得て対応テーブル11に登録するようにしてもよい。
ST2: センサ構成制御部12が,周期的に,またはセンサの設置や移動による増加を契機として起動される。
ST3: センサ構成制御部12は,位置が近接している複数のセンサ2を特定する。センサ構成制御部12は,どのセンサ間が近接しているかを,たとえばセンサ位置が座標で表されている場合にはセンサ2の位置間の距離を計算することで判断する。
そして,センサ構成制御部12は,特定したセンサ2の一定期間分の入力データを,データ記憶部10から取り出して比較する。
ST4: ST3の処理で,近接するセンサとして,位置location1,2のセンサ21,22が特定されているとすると,センサ構成制御部12は,位置location1のセンサ21の入力データと,位置location2のセンサ22の入力データとの値差が小さく,データの用途により定められた基準に照らして,2つの入力データが同一と見なせる範囲内にあるかを判定する。2つの入力データが同一とみなせる範囲内にあると判断した場合には,センサ構成制御部12は,センサ21を代表センサと設定し,他方のセンサ22を停止対象センサとする。
そして,センサ構成制御部12は,位置(location1)のセンサ21に対応するデータ記憶部10_1を示す値(10_1)を得て,センサ22の位置(location2)に対応するデータ記憶部を示す値(10_2)を,代表センサ21のデータ記憶部10_1を示す値(10_1)に書き換える。
ST5: センサ構成制御部12は,位置location2の停止対象センサ22の動作を停止させる。
ST6: 読出制御部13は,端末装置3のサービスプログラム31/32から,位置(location1またはlocation2)を指定したデータ要求を受け付けると,対応テーブル11を参照して,データ要求で指定されたセンサ2の位置に対応するデータ記憶部10から入力データを読み出して,返却する。
例えば,場所として,サービスプログラム31から位置location1を指定したデータ要求,またはサービスプログラム32から位置location2を指定したデータ要求を受け付けた場合でも,これらの位置に対応するデータ記憶部10の値として“10_1”が設定されているので,代表センサであるセンサ21の入力記憶部10_1の入力データがサービスプログラム31/32へ返却されることになる。
以上の方法により,センサ2の設置や移動,新しいセンサ2の追加等により位置が近接したセンサ群について,センサ間の入力データの比較結果にもとづいて代表センサを選択し,冗長なセンサを停止することができる。
さらに,従来の方法では,図2に示すように,センサ22からセンサ21への切り替えに伴い,端末装置3側のサービスプログラム31中のデータ読み出し先を,「データ記憶部10_2」から「データ記憶部10_1」に書き換えるという,プログラム修正が必要であった。
しかし,図3に示すように,データ収集制御装置1では,読出制御部13が,対応テーブル11にもとづいて,センサ2の動作状態に応じて入力データの読み出し先となるデータ記憶部10を切り替えるので,サービスプログラム自体の修正が不要となる。
なお,ST3の処理において,センサ間がどれだけの距離ならば近接と判断するかを決定する処理の一例として,センサ構成制御部12は,以下の処理を行う。
センサ構成制御部12は,長めの距離を近接の閾値と仮定する。そして,センサ構成制御部12は,センサ間のデータ比較の記録を蓄積し,データが同じと見なせる割合が十分に高くなる距離を近接の閾値として決定する。例えば,最初に100メートルを閾値と仮定したところ,100メートル以下の距離のセンサ間でデータが同じと見なせる割合は60%,80メートル以下では80%であったとする。その場合に,80%を十分に高い割合としていたときは,80メートルを近接の閾値に決定する。
図4は,センサ区域Aから代表センサ21が撤去または他へ移動することによって,他のセンサ22と近接する状態が解消された場合に,データ収集制御装置1が実行する制御方法を説明するための図である。
ST11: センサ区域Aにおいて,位置location1のセンサ21が,位置location2のセンサ22を代表しているとする。この状態において,位置location1の代表センサ21が撤去またはセンサ区域A外に移動したとする。
センサ構成制御部12は,センサ2の撤去通知を受け取る。
ST12: センサ構成制御部12は,停止中であった位置location2の停止対象センサ22について,対応テーブル11の,センサ22の位置とデータ記憶部との対応内容を元に戻す。すなわち,対応テーブル11の,センサ22の位置(location2)に対応するデータ記憶部の値(10_1)が元の値(10_2)に書き換えられる。さらに,センサ構成制御部12は,センサ22の動作を開始させる。
なお,位置location2にセンサ22が設置されていなければ,システム管理者などにセンサ22の再設置を要求して動作を再開する。
ST13: サービスプログラム31/32が,位置location2のセンサ22のデータを要求した場合に,読出制御部13は,対応テーブル11の設定内容に従って位置location2のセンサ22に対応するデータ記憶部10_2から読み取ったデータを返却する。
上記の方法により,近接した位置に存在したセンサ2がそうでない状態になった場合に,データ収集制御装置1は,代表センサと代表センサの設定により停止中となったセンサ(停止対象センサ)との関係を解消して,停止中のセンサ2の動作を再開させてデータを取得するように,位置とデータ記憶部との対応関係を変更することができる。
また,代表センサであった位置location1のセンサ21が撤去された後は,サービスプログラム31/32から位置location2のセンサ22のデータが要求されると,位置location1のセンサ21に替わって位置location2のセンサ22のデータが返却されるようになる。
この対応関係変更後の動作を,読み出し先(データ記憶部)の切り替えの影響がサービスプログラム31,32側に及ぶことなく実現させることが可能となる。
図5は,センサ区域Aの1つの代表センサ21がデータを収集して,他のセンサ22の動作を停止していたが,複数のセンサ間のデータが同一と見なせなくなった可能性がある場合に,データ収集制御装置1が実行する制御方法を説明するための図である。
本実施形態では,複数のセンサ間のデータが同一と見なせなくなった可能性を,代表センサ21からの入力データの傾向の変化から推測する。
データの傾向の変化からの推測は,例えば,代表センサ2で検出される気温データの傾向に大きな変化があった場合に,近接している複数のセンサ2が,その状況の変化によって同じと見なせるデータを検出しない可能性が推測されることを意味する。
例えば,センサ区域Aの位置location1に関連する気温データの傾向に大きな変化があった場合に,代表センサ21の近くに何らかの熱源が置かれた,または,何らかの物体が置かれ代表センサ21が日陰になるなどの状況が生じた,もしくは,代表センサ21自体が故障したなどの原因が考えられる。それらの場合に,代表センサ21に近接している他のセンサ(停止中)22では,代表センサ21について生じた変化の影響を受けずに,同じと見なせる範囲外となるデータ(異なるデータ)を出力している可能性があるからである。
ST21: センサ構成制御部12は,停止中の位置location2の停止対象センサ22を代表している,位置location1の代表センサ21のデータ記憶部10_1から入力データを取り出す。センサ構成制御部12は,取り出した入力データの傾向の変化(例えば,平均値の変化,標準偏差の変化など)を検出した場合に,代表センサ21の設定によって停止された位置location2のセンサ22の動作を開始させる。
なお,位置location2にセンサ22が設置されていなければ,システム管理者などに再設置を要求し,センサ22の動作を再開する。
ST22: センサ構成制御部12は,位置location1のセンサ21と位置location2のセンサ22のデータを一定期間分比較する。そして,データの値が同一と見なせる範囲内にある場合には,センサ構成制御部12は,位置location2のセンサ22を再度,停止対象とし,センサ22の動作を停止させる。
一方,センサ21とセンサ22のデータの値が同一と見なせる範囲を超えている場合には,センサ構成制御部12は,対応テーブル11の,センサ22の位置location2とデータ記憶部との対応づけを元の値(10_2)に戻し,位置location2のセンサ22の動作を,そのまま継続させる。
ST23: サービスプログラム31/32が,位置location2のデータを要求した場合に,センサ22の動作が再開されていれば,読出制御部13は,対応テーブル11に従って,位置location2にセンサ22のデータ記憶部10_2が対応付けられているので,データ記憶部10_2から読み出したデータを返却する。
一方,センサ22の動作が再度停止されていれば,読出制御部13は,対応テーブル11に従って,位置location2にセンサ21のデータ記憶部10_1が対応付けられているので,データ記憶部10_1から読み出したデータを返却する。
上記の方法により,代表センサのデータの傾向に変化が現れた時に,近接した停止中のセンサ2からのデータの変化の同調を調べて,代表センサと停止対象センサとのデータの値が同一と見なせない(データの値が異なる)場合は,代表センサの設定を解消かつ停止対象センサの動作開始により,それぞれのセンサ2からデータを取得するように対応関係を変更させることができる。
また,センサ21とセンサ22のデータが同一とみなせないものとなって,それぞれのデータ記憶部10_1,10_2に蓄積されるようになった場合に,サービスプログラム31/32から位置location2のセンサ22のデータが要求されると,代表センサであった位置location1のセンサ21に替わって,位置location2のセンサ22のデータが返却されるようになる。この対応関係変更後の動作を,読み出し先(データ記憶部)の切り替えの影響がサービスプログラム31/32側に及ぶことなく実現させることが可能となる。
図6〜図8を用いて,開示するデータ収集制御方法を実施する実施例における,システムの構成例を説明する。
以下の実施例では,センサ区域Aである圃場に,気温,湿度,日照などの各種のデータを収集するために,同種の複数のセンサ2(21〜24)を設置または人や道具に付属させて移動させることによって各種データを取得し,そのデータを各種のサービスプログラム31,32,33が使用してそれぞれのサービスを提供する場合を想定している。
図6は,第1の実施例におけるシステム構成例を示す図である。
図6に示す第1の実施例は,ある程度規模の大きな農場等での実施を想定したものであり,センサ区域Aに備えられるセンサ2(21〜24),サーバ装置100,および各利用者(例えば,農場従業員等)が有する端末装置3(3_1,3_2,3_3)からなる。
サーバ装置100は,センサ2からのデータの蓄積機能,センサ構成を制御する機能,蓄積データの読み出しを制御する機能を備える。そのため,サーバ装置100は,データ記憶部10,対応情報記憶部(対応テーブル)11,センサ構成制御部12,読出制御部13,データ収集部15,およびセンサ状態記憶部(センサ状態テーブル)16を備える。
データ収集部15は,センサ区域A内に位置するセンサ2(21〜24)からそれぞれデータを収集して,位置に対応するデータ記憶部10(10_1〜10_4)に入力データを格納する。
センサ状態テーブル16は,各位置にあるセンサ2の動作状態(動作中/停止等)を示す情報が格納されたデータテーブルである。
なお,図6〜図8に示す構成例の処理部等のうち,図1に示す構成例と同番号が付与されたものは,図1の相当する処理部等と同等の機能および動作を実施するものとし,個々での説明を省略する。
端末装置3内は,それぞれ,サービスプログラム(サービス)31,32,33,およびユーザインタフェース31u,32u,33uを備える。また,サービスプログラム31,32,33は,サーバ装置100内に設けることも可能である。
図6に示すシステム構成例において,センサ2,および端末装置3は,それぞれ,サーバ装置100とネットワークN,N’を介して接続されている。
図7は,第2の実施例におけるシステム構成例を示す図である。
図7に示す第2の実施例は,最小規模での実施形態であり,機能的には図6に示す構成例の場合と同様であるが,パーソナルコンピュータ等を用いて実施されるサーバ装置110内に,センサ2のデータの蓄積,センサ構成の制御,蓄積データの読み出しの制御,サービスプログラム,ユーザインタフェースの各機能を一まとめにした構成である。
そのため,サーバ装置110は,データ記憶部10,対応情報記憶部(対応テーブル)11,センサ構成制御部12,読出制御部13,データ収集部15,センサ状態記憶部(センサ状態テーブル)16,サービスプログラム31,32,およびユーザインタフェース30uを備える。
図8は,第3の実施例におけるシステム構成例を示す図である。
図8に示す第3の実施例は,最も大規模な実施を想定したものであり,各圃場であるセンサ区域Aに備えられるセンサ2(21〜24)と,センサ2のデータを収集,蓄積する個別データ収集装置4(4_1〜4_3)と,サーバ装置120と,各利用者(例えば,農場従業員等)が有する端末装置3(3_1〜3_3)からなる。
個別データ収集装置4(4_1,4_2)は,それぞれ,対応するセンサ2からの入力データを収集するデータ収集部41(41_1,41_2)と,収集したデータを蓄積するデータ記憶部40(40_1,40_2)を備える。
また,個別データ収集装置4(4_3)は,複数のセンサ2毎に対応するデータ収集部41(41_3,41_4)とデータ記憶部40(40_3,40_4)とを備えてもよい。
また,サーバ装置120は,複数の圃場,地域等に1台設置され,センサ構成の制御,データの読み出しの制御の機能を備える。そのため,サーバ装置120は,対応情報記憶部(対応テーブル)11,センサ構成制御部12,読出制御部13,およびセンサ状態記憶部(センサ状態テーブル)16を備える。
センサ2と個別データ収集装置4との間,個別データ収集装置4とサーバ装置120,およびサーバ装置120と端末装置3との間は,それぞれ通信ネットワークN,N’,N’’を介して接続されている。
サービスプログラム31,32は,端末装置3内に配置することも,サーバ装置120内に配置されてもよく,または,圃場データの分析等を行うサービスプロバイダ等が設置した別のサーバ装置(図示しない)内に配置されてもよい。
以下,図6に示す実施例をもとにシステムの動作を説明する。
図9は,データ記憶部10のデータ構成例を示す図である。
データ記憶部10は,時刻とセンサ値との項目を有する。「時刻」は,データ収集部15がセンサ2からデータを受信した日時情報である。「センサ値」は,対応するセンサ2からの入力データである。例えば,気温[摂氏℃]である。
図10は,対応情報記憶部(対応テーブル)11のデータ構成例を示す図である。
対応テーブル11は,位置,データ記憶部,元のデータ記憶部の項目を有する。「位置」は,センサ2の位置を緯度,経度による座標で示す位置情報である。「データ記憶部」は,サービスプログラム31等からのデータ要求時に,データの読み出し先となるデータ記憶部10を示す値である。「元のデータ記憶部」は,センサ2と対応する本来のデータ記憶部10を示す値である。例えば,「データ記憶部」および「元のデータ記憶部」の値“10_1”は,データ記憶部10_1を示す。
図11は,センサ状態記憶部(センサ状態テーブル)16のデータ構成例を示す図である。
センサ状態テーブル16は,位置,状態のデータ項目を有する。「位置」は,センサ2の位置を緯度,経度による座標で示す位置情報である。「状態」は,対応するセンサ位置にあるセンサ2の動作状態を示す情報である。“動作中”は,そのセンサ2が動作していることを示し,“停止”は,そのセンサ2が,停止対象であって動作が停止中であることを示す。
センサ構成制御部12が,センサ2の増設・撤去や移動,およびセンサ2からのデータの傾向の変化に応じて,センサ状態テーブル16,対応テーブル11を書き換えることにより,近接するセンサ2間における代表センサの関係を更新する。そして,センサ状態テーブル16の「状態」の更新に従って,センサ2の動作の停止/再開が行われる。
読出制御部13は,端末装置3に配置されたサービスプログラム31等から,センサ2の位置で指定されるデータ要求を受信して,対応テーブル11を参照して,データ要求されたセンサの位置に対応するデータ記憶部からデータを読み出し,サービスプログラム31に返す。
図12〜図18に,上記の実施例を代表して,図6に示すサーバ装置100の動作フローを示す。
図12は,データ収集部15の動作フローを示す図である。
図12(A)は,データ収集部15がタイマにより周期的に起動される場合の動作フロー図である。
データ収集部15は,タイマにより周期的に起動されると,動作中の各センサ2からデータを読み込む(ステップS10)。センサ2等が動作中または停止中であるかの情報は,後述のセンサ構成制御部12がセンサ状態テーブル16を参照することにより得る。
そして,データ収集部15は,センサ2に対応するデータ記憶部10に入力データを書き込む(ステップS11)。対応するデータ記憶部10は,後述のセンサ構成制御部12が管理する対応テーブル11を参照することにより得る。
図12(B)は,データ収集部15がセンサ2からのデータを受信することにより起動される場合の動作フロー図である。
データ収集部15は,センサ2から入力データを受信して起動されると,対応テーブル11を参照し,データを受信したセンサ2の位置から,対応するデータ記憶部10に入力データを書き込む(ステップS15)。
図13は,読出制御部13の動作フローを示す図である。
読出制御部13は,センサ2のデータを利用するサービスプログラム31等からデータ要求を受信することにより起動される。
読出制御部13は,サービスプログラム31等からのデータ要求の受信により起動されると,データ要求に含まれるセンサの位置に対応するデータ記憶部10を,対応テーブル11を参照して求める(ステップS20)。そして,位置に対応するデータ記憶部10から入力データを読み出し(ステップS21),読み出した入力データをサービスプログラム31等に送信する(ステップS22)。
図14は,センサ構成制御部12の第1の動作フローを示す図である。第1の動作フローは,図3を用いて説明した場合の処理を実現するものである。
センサ構成制御部12は,タイマにより周期的に起動されると,まず,センサ状態テーブル16より,位置が近接する動作中のセンサ2があるかどうかを調べる。そして,センサ構成制御部12は,近接する2つの動作中のセンサ2があれば,それらを特定する。センサ構成制御部12は,対応テーブル11を参照し,特定したセンサ2の少なくとも1つのセンサが他のセンサの代表になっていない場合に,抽出したセンサ2のそれぞれの位置に対応づけられたデータ記憶部10から入力データを読み込む(ステップS30)。
ここで,センサ構成制御部12は,センサの位置の近接を,センサ位置が座標で表されている場合には,座標をもとに距離を計算して判断する。また,センサ構成制御部12が,センサ2の位置間の距離情報を別途保持するようにしてもよい。ここで,「近接」とする距離は,農業における圃場の気温データならたとえば数百メートルとするなど,適用分野に応じて定義される。
センサ構成制御部12は,特定したセンサ2のデータ記憶部10から,一定期間分のデータが得られた時点で,両センサのデータを比較し,差分が一定の基準値以下であるかを調べる(ステップS31)。
この基準値は,適用領域におけるサービスが同値と見なしてよい差分にもとづいて決定される。
なお,センサ構成制御部12は,データ記憶部10にデータがあまり蓄積されていなかった場合は,一定期間分のデータを読み込み後にステップS31の処理を行うようにしてもよい。また,センサ構成制御部12は,一定期間分のデータが得られる前であっても,両センサのデータに差分が大きい場合は基準値以上と判断してもよい。
データの差分が基準値以下であれば(ステップS32のY),センサ構成制御部12は,対応テーブル11において,ステップS30で特定したセンサ2のうち,他のセンサの代表になっていないセンサ2に対応する「データ記憶部」の値を,他方のセンサ(代表センサ)2に対応する「データ記憶部」の値に書き換える(ステップS33)。
具体的には,図3に示す例において,センサ21,22が特定されていた場合に,対応テーブル11の,位置location2のセンサ22に対応する「データ記憶部」の値(10_2)を,位置location1のセンサ21に対応するデータ記憶部の値“10_1”に書き換えて,センサ21をセンサ22の代表センサとする。
そして,センサ構成制御部12は,対応テーブル11で「データ記憶部」を書き換えた方のセンサ2を停止対象として,その動作を停止し,センサ状態テーブル16の該当する位置に対応する「状態」に“停止”を書き込む(ステップS34)。
具体的には,図2に示す例において,センサ22を停止し,センサ状態テーブル16の位置location2の「状態」を“停止”とする。
データの差分が基準値以下でなければ(ステップS32のN),センサ構成制御部12は,処理を終了する。
図15は,センサ構成制御部12の第2の動作フローを示す図である。
第2の動作フローは,図4を用いて説明した場合の処理を実現するものである。
センサ構成制御部12は,センサ撤去の通知を受信することにより起動される。撤去されるセンサ2は,センサの位置で示される。図4に示す例では,位置location1のセンサ21が撤去されるとする。センサ撤去の通知は,センサ2が撤去される少し前に,たとえばシステム管理者等が手動でセンサ構成制御部12に入力する。
センサ移動の場合は,センサ2がGPS等で得られる自己の位置情報を監視し,位置が変化した場合に,撤去通知をセンサ構成制御部12に送信するようにしてもよい。
なお,センサ21が移動してセンサ区域A内の別の場所に留まった場合には,センサ構成制御部12は,センサ状態テーブル16に,新たな移動先の位置と状態とを登録し,対応テーブル11にも新たな移動先の位置と,対応するデータ記憶部10とを登録する。
撤去通知を受け取ったセンサ構成制御部12は,センサ状態テーブル16の撤去されるセンサ2の位置に対応する「状態」に“停止”を書き込む。図4の例では,位置location1(センサ21)の「状態」が“停止”となる(ステップS40)。
また,センサ構成制御部12は,対応テーブル11を調べ,「データ記憶部」が,撤去されるセンサ2に対応するデータ記憶部10の値に書き換えられている他のセンサ(すなわち,撤去されるセンサが代表センサとなっている停止対象のセンサ)について,そのデータ記憶部の値を「元のデータ記憶部」に設定された値に戻す(ステップS41)。
図4に示す例では,対応テーブル11の該当する位置(location2)に対応する「データ記憶部」の値が“10_1”になっているので,この値が“10_2”に戻される。
そして,センサ構成制御部12は,センサ状態テーブル16の該当する停止対象センサの「状態」に“動作中”を書き込む(ステップS42)。
図4に示す例では,センサ状態テーブル16の該当する位置(location2)に対する「状態」を「動作中」に書き直す。
さらに,センサ構成制御部12は,該当するセンサ2の動作を再開させる。その時,該当する位置location2にセンサ2が設置されていなかった場合には,システム管理者等に対し,再設置するように求めるメッセージを出力し,再設置された後に,設置されたセンサ2の動作を再開する(ステップS43)。図4に示す例では,センサ22の動作を再開させる。
図16は,センサ構成制御部12の第3の動作フローを示す図である。
第3の動作フローは,図5を用いて説明した場合の処理を実現するものである。
センサ構成制御部12は,タイマにより周期的に起動されると,まず,対応テーブル11から,他のセンサ2の代表となっている代表センサ2を探し,代表センサ2の最近一定期間のデータを読み出し,前回の一定期間のデータと比べて傾向の変化(例えば,平均値,標準偏差等)があるかを調べる(ステップS50)。
代表センサの検索は,対応テーブル11の「元のデータ記憶部」の値と異なっている「データ記憶部」の値を持つ対応関係において「データ記憶部」の値に対応するセンサ2を,「元のデータ記憶部」の値に対応するセンサに対する代表センサとする。
例えば,図5に示す例では,位置location1のセンサ21が,位置location2のセンサ22に対する代表センサになっているので,センサ21のデータの傾向の変化が調べられる。
センサ21のデータの傾向に変化が認められれば(ステップS51のY),センサ構成制御部12は,代表センサ2に対する他のセンサ2について,センサ状態テーブル16の「状態」に“動作中”を書き込み,該当するセンサ2の動作を再開させる(ステップS52)。
該当するセンサ2が設置されていない場合には,システム管理者等に対し,再設置するように求めるメッセージを出力し,センサが再設置された後,設置されたセンサの動作を再開する。
図5に示す例では,センサ21のデータの傾向が変化していれば,センサ状態テーブル16の位置(location2)に対応するセンサ22の「状態」を“動作中”とし,センサ22の動作を再開させる。
動作再開後,センサ構成制御部12は,一定期間,データの傾向が変化したセンサ2のデータと,動作を再開させた他の停止対象のセンサ2のデータとを,それぞれのデータ記憶部10から読み出し,その差分が一定値以下であるかを調べる(ステップS53)。
データ記憶部10から読み出したデータの差分が一定値以下であれば(ステップS54のY),比較したセンサ2からの入力データは同一とみなしてよい範囲にあるので,センサ構成制御部12は,動作を再開させた他のセンサ2について,センサ状態テーブル16の「状態」に“停止”を書き込むとともに,そのセンサ2の動作を再び停止する(ステップS55)。
データ記憶部10から読み出したデータの差分が一定値以下でない場合は(ステップS54のN),両センサ2のデータは同じと見なせなくなったことがわかったので,センサ構成制御部12は,他のセンサ2について,対応テーブル11の該当するデータ記憶部の値(10_2)を元の値(10_1)に戻す(ステップS56)。
これにより,たとえば図5に示す例では,位置location2のセンサ22に対するデータ要求において,位置location1のセンサ21の入力データでなく,本来のセンサ22の入力データが返却されることになる。
図17は,センサ構成制御部12の,センサの新規設置時の動作フローを示す図である。
図17に示す動作フローは,圃場等のセンサ区域Aに,固定的なセンサを新たに設置したり,人が携帯したり道具等に付属して移動して,ある場所に留まった場合に該当するものである。
センサ2の新設通知を受けて起動されると,センサ構成制御部12は,センサ状態テーブル16に新規のセンサの「位置」と「状態(動作中)」とを書き込む(ステップS60)。
さらに,センサ構成制御部12は,対応テーブル11に,新規設置のセンサ2の位置と,対応するデータ記憶部10の情報とを書き込む(ステップS61)。
センサ新設の通知は,システム管理者等がマニュアル操作により,センサ構成制御部12に入力してもよい。あるいは,センサ2が移動する場合には,センサ2に付属するGPS装置等で得られる位置情報を監視し,自装置がセンサ区域A内のある位置に移動した場合に,センサ2が新設通知をセンサ構成制御部12に送信するようにしてもよい。センサ構成制御部12は,入力された,新設されたセンサ2の位置と,そのセンサ2に対応するデータ記憶部10の情報とを対応テーブル11に登録する。
以下に,図1に示すデータ収集制御装置1のハードウェア構成例を説明する。
データ収集制御装置1は,演算装置(CPU),一時記憶装置(DRAM,フラッシュメモリ等),永続性記憶装置(HDD,フラッシュメモリ等),およびネットワークN,N’,N’’等とのネットワークインタフェースを有するコンピュータ,入力装置(キーボード,マウス等),および出力装置(ディスプレイ,プリンタ等)によって実施することができる。
また,データ収集制御装置1は,上記のコンピュータが実行可能なプログラムによって実施することができる。この場合に,データ収集制御装置1が有すべき機能の処理内容を記述したプログラムが提供される。提供されたプログラムを上記のコンピュータが実行することによって,上記説明したデータ収集制御装置1の処理機能がコンピュータ上で実現される。
上記コンピュータは,可搬型記録媒体から直接プログラムを読み取り,そのプログラムに従った処理を実行することもできる。また,このプログラムは,コンピュータ100で読み取り可能な記録媒体に記録しておくことができる。
以上の説明では,主として本願発明者によってなされた発明を,その背景となった技術分野である圃場におけるデータ収集に適用した場合について説明したが,本発明はこれに限定されるものではなく,その記述の主旨の範囲において種々の変形が可能であることは当然である。
開示したデータ収集制御装置1によれば,近接した場所にある複数のセンサ2から同一と見なせるデータが得られるのであれば,センサ構成制御部12が,1つのセンサ2を代表とし他のセンサ2を停止する制御を,サービスプログラム31を介することなく行うことが可能である。
これにより,近接して存在するセンサ2の利用を効率化し,省電力の効果を得ることができるとともに,サービスプログラムの修正等を要しないために開発・保守の省力化の効果を得ることができる。
また,開示したデータ収集制御装置1によれば,代表センサに設定されていたセンサ2を撤去・移動した場合は,センサ構成制御部12が,サービスプログラム31を介することなく,代表センサ2に近接して停止中であった他のセンサ2の動作を再開し,さらに,残りのセンサ2で効率的なセンサ構成を再構築することができる。
これにより,近接して存在するセンサ2の利用を効率化し,省電力の効果を得ることができるとともに,サービスプログラム31の修正等を要しないために開発・保守の省力化の効果を得ることができる。
さらに,開示したデータ収集制御装置1によれば,センサ構成制御部12が,代表センサに設定されていたセンサ2からの入力データの傾向の変化を契機として,代表センサにより停止対象となっていた停止中の他のセンサ2を再動作させ,代表センサ2の値と比較して,両者の入力データの差分にもとづいて,停止対象のセンサ22の動作の停止または再開を制御することができる。
これにより,入力データが同一と見なされていた近接するセンサ2の入力データの値が,環境や状況の変化によって同一と見なせなくなった場合にも,サービスプログラム31に影響を与えることなく,センサ構成を適切に保つ効果を得ることができる。
これにより,たとえば圃場のようなセンサ区域での気温データの収集においては,センサが近接して設置された場合のほか,センサが設置されている場所に人が携帯したり,機械に搭載されたりして,同種のセンサが一時的に近接して複数台存在するような場合にも,サービスプログラム31に影響を与えず,センサの効率的利用を図ることができる。