説明

情報処理装置、センサシステム、プログラム及び記録媒体

【課題】複数のセンサモジュールそれぞれが、全て同じ送信時間間隔でデータをサーバ装置へと送信する構成を前提とし、これにおいて、各センサモジュールにおけるデータの送信タイミングを調整して、データ同士の衝突の発生を抑制することができる情報処理装置を提供する。
【解決手段】サーバ装置200の送信タイミング設定部205は、接続されているセンサモジュール100の個数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュール100のデータ送信が行われるように、接続されている複数のセンサモジュール100の各々について送信タイミングを設定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のセンサモジュールと通信して、各センサモジュールで計測されたデータを受信する情報処理装置であり、複数のセンサモジュールの各々について、データの送信タイミングを設定する情報処理装置に関する。
【背景技術】
【0002】
複数のセンサモジュールとサーバ装置(情報処理装置)とがネットワークで接続され、サーバ装置が、複数のセンサモジュール各々より複数のデータを受信してデータを収集するセンサネットワーク技術が知られている。
【0003】
このようなセンサネットワークの構成に求められる要件の一つとして、センサモジュールの電池長寿命化がある。長寿命化を図る手法として、各センサモジュールにおける通信部に通電するタイミングを、一定時間間隔に設定し、通信部を通電するタイミングでサーバ装置と通信して、記憶させていた計測データをまとめて送信する方法がある。
【0004】
しかしながら、この方法では各センサモジュールが個々に設定された送信タイミングで、サーバとのデータ送信及び受信を行うため、複数センサとサーバ間で通信するデータ同士の衝突が発生するという課題がある。データ同士の衝突は、接続されるセンサモジュールの数が増えるほど起こりやすくなる。
【0005】
データ同士が衝突すると、サーバ装置は、衝突したデータの一部または全てを受信できないことがある。データの受信に失敗すると、サーバ装置は、データ送信元のセンサモジュールに対して受信完了を示すメッセージを送信しない。データ送信元のセンサモジュールは、サーバ装置からのメッセージを受信できないことで、通信に失敗したことを検知し、同じデータを再送信する。データの再送信は、通信が成功するまで、あるいは再送回数が所定回数に達するまで繰り返される。
【0006】
このようなデータの再送信は、サーバ装置の計測データ収集に遅延を発生させたり、必要な計測データの収集をできなくさせたりする原因となる。
【0007】
また、データの再送信は、センサモジュールの電池寿命を低下させる原因にもなる。これは、データを再送信するために、センサモジュールの通信部を再度通電させる必要があるためである。つまり、データ同士の衝突による再送信は、センサネットワークの構成に求められる上記したセンサモジュールの電池長寿命化の要件に逆行するものである。
【0008】
従来、データ同士の衝突を避けるための技術として、例えば、特許文献1,2がある。
【0009】
特許文献1には、複数のセンサノードとゲートウェイ装置とがネットワークを介して接続されており、ゲートウェイ装置が、複数のセンサノードそれぞれに対し、センシングデータを取得するためのタイミングを割り当てる技術が記載されている。
【0010】
ゲートウェイ装置は、センシング周期が異なる複数のセンサノードそれぞれに対して、センシングデータを送信するセンシング周期に応じたタイミングを割り当てる。ここで、ゲートウェイ装置は、センシング周期が短いセンサノードに対して優先的にタイミングを決定する。また、タイミングを割り当てた結果、タイミングが同一となるセンサノードが存在する場合、センシング周期が長いセンサノードのタイミングを早くする、または遅くすることにより、センシングデータを取得するタイミングを調整している。これにより、タイミングが重ならないようにしている。
【0011】
また、特許文献2には、基地局と複数の移動局とを含む移動通信システムにおいて、データを取得するタイミングが重ならないようにする技術が記載されている。この移動通信システムにおいて、基地局は、パケットデータ毎に優先度を定め、複数の移動局それぞれにチャネルを割り当て、割り当てられたチャネルに基づいて複数の移動局それぞれが送信するパケットデータを受信する。ここで、優先度は、例えば、伝送路の通信品質により定められ、基地局は、優先度の高いパケットに対して、より早く、より長いチャネルを割り当てる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2010−220036号公報(2010年9月30日公開)
【特許文献2】特開2000−224231号公報(2000年8月11日公開)
【発明の概要】
【発明が解決しようとする課題】
【0013】
ところで、サンセネットワークにおいて、サーバ装置にネットワークで接続された複数のセンサモジュールそれぞれが、全て同じ送信時間間隔でデータをサーバ装置へと送信するようにシステムを構成することがある。つまり、各センサモジュールにおいて、通信部を通電するタイミングを同じ時間間隔に設定することである。
【0014】
このように送信時間間隔が同じに設定された各センサモジュールの送信タイミングの相互関係は、各センサモジュールの電源スイッチを入れた時刻によって決まる。これは、電源スイッチ時刻よりタイマーを作動させて、送信時間間隔が経過する度にデータを送信するためである。送信時間間隔が例えば60秒の場合、センサモジュールAの電源スイッチ投入後60秒後に電源スイッチが投入されたセンサモジュールBも、送信タイミングは重なってしまう。
【0015】
図22に、サーバ装置が、無作為に電源スイッチが投入された送信時間間隔60秒に設定されている6個のセンサモジュールSM−1〜SM−6からのデータをそれぞれ受信した、2周期分の受信タイミングを示す。図22では、サーバ装置が、センサモジュールSM−3から送信されたデータの受信を開始した時点を基点としている。
【0016】
図22の例では、センサモジュールSM−2が送信したデータとセンサモジュールSM−6が送信したデータとが衝突している。また、センサモジュールSM−5が送信したデータとセンサモジュールSM−1が送信したデータも衝突している。
【0017】
次の60秒(次の送信周期)のタイミングを見るとわかるように、各センサモジュールSM−1〜SM−6は、送信時間間隔が互いに等しいため、送信タイミングは次の送信周期も維持されることとなり、衝突したデータ同士は常に衝突したままとなる。
【0018】
そこで、特許文献1,2の技術を用いて、このようなデータ同士の衝突を避けることが考えられる。
【0019】
しかしながら、特許文献1に記載されている技術は、送信時間間隔をセンシング周期と同じにしてデータを送信することを前提としており、センシング周期の違いに着目して送信タイミングを調整するものである。そのため、センシング周期とは関係なく、センサモジュールの電源スイッチを入れたタイミングで送信タイミングが重なっている場合の調整方法としては適切ではない。
【0020】
また、特許文献2に記載されている技術では、移動局は、基地局からの送信許可をもらうために、常にメッセージを待ち受ける必要がある。そのため、本手法をセンサネットワークに適用した場合には、各センサモジュールにおける無線部を通電するタイミングを一定間隔に定め、無線部を通電するタイミングにのみサーバ装置との間でデータの送受信を行って消費電力を削減する試みとは相容れず、センサモジュールの電池長寿命化が図れないといった問題がある。
【0021】
本発明は、上記課題に鑑みなされたもので、その目的は、複数のセンサモジュールそれぞれが、全て同じ送信時間間隔でデータをサーバ装置へと送信する構成を前提とし、これにおいて、各センサモジュールにおけるデータの送信タイミングを調整して、データ同士の衝突の発生を抑制することができる情報処理装置、センサシステム、プログラム及び記録媒体を提供することである。
【課題を解決するための手段】
【0022】
本発明の情報処理装置は、上記課題を解決するために、計測により得られたデータを外部に送信する複数のセンサモジュールとネットワークを介して接続され、上記複数のセンサモジュールと通信してデータを収集する情報処理装置であって、上記複数のセンサモジュールの各々は、データを送信する送信時間間隔が等しく設定されており、上記複数のセンサモジュールと通信を行った際の、データを受信した受信時刻とデータを送信したセンサモジュールの識別情報とを、少なくとも上記送信時間間隔の時間分、記憶部に記憶する受信時刻記憶手段と、上記複数のセンサモジュールの各々について、上記記憶部から読み出した受信時刻及び識別情報と上記送信時間間隔とに基づいてデータを送信する送信タイミングを設定する送信タイミング設定手段を備え、上記送信タイミング設定手段は、上記複数のセンサモジュールの数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定することを特徴としている。
【0023】
上記構成によれば、受信時刻記憶手段が、複数のセンサモジュールと通信を行った際の、データを受信した受信時刻とデータを送信したセンサモジュールの識別情報とを、少なくとも上記送信時間間隔に相当する時間分、記憶部に記憶しておく。少なくとも送信時間間隔分の情報を取得することで、当該サーバ装置に接続されている全てのセンサモジュールを認識することができる。
【0024】
送信タイミング手段は、複数のセンサモジュールの各々について、上記記憶部から読み出した受信時刻及び識別情報と上記送信時間間隔とに基づいてデータを送信する送信タイミングを設定する。
【0025】
具体的には、送信タイミング設定手段は、上記複数のセンサモジュールの数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定する。
【0026】
これにより、送信時間間隔内で各センサモジュールのデータの送信タイミングを均等に分散させることが可能となり、データ同士の衝突の発生を抑制することができる。したがって、計測データの再送信による、センサモジュールの消費電力を低減し、電池の長寿命化に貢献することができる。加えて、計測データの再送による、サーバ装置の計測データ収集遅延や、収集漏れも確実に低減することができる。
【0027】
本発明の上記情報処理装置においては、さらに、上記送信タイミング設定手段は、上記識別情報より接続されているセンサモジュールの数を判定し、上記送信時間間隔の時間をセンサモジュールの数で割って上記割当時間を算出する第1割当時間算出手段を含む構成とすることもできる。
【0028】
上記構成によれば、実際に接続されているセンサモジュール数に見合った割当時間が算出されるので、このように算出した割当時間にて、上記複数のセンサモジュールの各々の送信タイミングを設定することで、実際に接続されているセンサモジュール数を均等に分散させることが可能となる。
【0029】
本発明の上記情報処理装置においては、さらに、上記送信タイミング設定手段は、上記識別情報より接続されているセンサモジュールの数を判定し、上記送信時間間隔の時間を、接続されているセンサモジュールの数に架空のセンサモジュールの数を加算した値で割って上記割当時間を算出する第2割当時間算出手段を備え、上記複数のセンサモジュールのうちの所定のセンサモジュールのデータ送信の前後に、上記架空のセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定する構成とすることもできる。
【0030】
上記構成によれば、実際に接続されているセンサモジュール数に架空のセンサモジュール数を加算した値を基に割当時間が算出されるので、割当時間は、実際に接続されているセンサモジュール数に見合った割当時間よりも短くなる。
【0031】
しかしながら、割当時間を縮めることで確保した架空のセンサモジュールがデータを送信するための時間(架空のセンサモジュールの割当時間)を、複数のセンサモジュールのうちの所定のセンサモジュールの前後に配置することで、当該所定のセンサモジュールのデータ送信の前後を広く確保することができる。
【0032】
これにより、例えば、重要なデータを計測しているセンサモジュールや、送信タイミングがズレ易いセンサモジュール、或いは再送回数の多いセンサモジュールを上記の所定のセンサモジュールとすることで、より効果的に、データ収集漏れや、センサモジュールの消費電力の低減を、より効果的に図ることができる。
【0033】
この場合、例えば、上記所定のセンサモジュールは、任意に設定可能であり、上記送信タイミング設定手段は、各センサモジュールの識別情報に基づいて、所定のセンサモジュールを特定する構成としてもよい。
【0034】
或いは、上記複数のセンサモジュールの各々は、上記データの送信に失敗した場合に当該データを再度送信する再送処理を行い、上記再送処理の回数である再送回数をデータと共にサーバ装置に送信し、上記送信タイミング設定手段は、取得した再送回数を基に、再送回数が閾値を超えるセンサモジュールを上記所定のセンサモジュールとする構成としてもよい。
【0035】
或いは、複数のセンサモジュールの各々の受信時刻を記憶部に蓄積して記憶させ、センサモジュール毎の送信時間間隔のズレ量を検出するズレ量検出手段を備え、上記送信タイミング設定手段は、上記ズレ量検出手段で検出されたズレ量を基に、ズレ量が閾値を超えるセンサモジュールを上記所定のセンサモジュールとする構成としてもよい。
【0036】
本発明の上記情報処理装置においては、さらに、上記送信タイミング設定手段は、割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について、次回の測定データを送信するまでの待機時間であるオフセット値を算出するオフセット値算出手段を含み、上記オフセット値算出部で算出されたオフセット値を設定することにより、上記複数のセンサモジュールの各々について送信タイミングを設定する構成とすることもできる。
【0037】
これによれば、複数のセンサモジュールの各々について、送信タイミングが、次回の測定データを送信するまでの待機時間であるオフセット値として算出さてるので、センサモジュールは、次回に計測データを送信するまでの時間にオフセット値を加算するだけで、送信タイミングを変更することとなる。
【0038】
また、本発明の上記情報処理装置においては、さらに、上記割当時間が、上記複数のセンサモジュールの各々にてタイミングを設定可能な単位時間よりも小さくなる場合に、上記割当時間が上記単位時間以上となるように、上記送信時間間隔を変更する送信時間間隔変更手段をさらに備え、上記送信タイミング設定手段は、上記複数のセンサモジュールの数に基づいて、上記送信時間間隔変更手段にて変更された送信時間間隔の時間を複数の均等な割当時間に分割して、各センサモジュールの送信タイミングを設定する構成とすることもできる。
【0039】
このような構成とすることで、接続されるセンサモジュールの個数が多く、割当時間が、センサモジュールにおける送信タイミングを設定可能な単位時間よりも小さくなる場合は、強制的に割当時間が単位時間以上となるように、送信時間間隔が広げられるので、より効果的に、データ同士の衝突を回避して、センサモジュールの消費電力を低減し、電池の長寿命化に貢献することができる。
【0040】
また、本発明の上記情報処理装置においては、さらに、上記受信時刻記憶手段は、上記複数のセンサモジュールのうちの1つと通信する毎に、上記受信時刻及び識別情報を更新する構成としてもよい。
【0041】
また、本発明の上記情報処理装置においては、さらに、上記記憶部から読み出した上記識別情報より接続されている上記複数のセンサモジュールに変更があったことを検出する変更検出手段をさらに備え、上記送信タイミング設定手段は、上記変更検出手段にて変更が検出された場合に、各センサモジュールの各々について、送信タイミングの設定を行う構成としてもよい。
【0042】
また、本発明のセンサシステムは、上記の情報処理装置と、上記複数のセンサとを備えることを特徴とする。上記の構成によっても、複数のセンサモジュールそれぞれが、全て同じ送信時間間隔でデータをサーバ装置へと送信する構成において、送信時間間隔内で各センサモジュールのデータの送信タイミングを均等に分散させて、データ同士の衝突の発生を抑制することができる。
【0043】
なお、本発明の情報処理装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記情報処理装置をコンピュータにて実現させるプログラム、及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【0044】
本発明は、複数のセンサモジュールそれぞれが、全て同じ送信時間間隔でデータをサーバ装置へと送信する構成において、送信時間間隔内で各センサモジュールのデータの送信タイミングを均等に分散させて、データ同士の衝突の発生を抑制することができる。したがって、計測データの再送信による、センサモジュールの消費電力を低減し、電池の長寿命化に貢献することができる。加えて、計測データの再送による、サーバ装置の計測データ収集遅延や、収集漏れも確実に低減することができる。
【図面の簡単な説明】
【0045】
【図1】本発明の実施形態1に係るセンサモジュール及びサーバ装置の構成の一例を示すブロック図である。
【図2】本発明の実施形態1におけるデータ処理システムの全体概要の一例を示す図である。
【図3】本発明の実施形態1に係るサーバ装置において実施される、送信タイミングを最適化するイメージを示す説明図である。
【図4】本発明の実施形態1に係るサーバ装置が構築する受信時刻管理DBの一例を示す図である。
【図5】実施形態1に係るサーバ装置が作成するセンサ受信時刻管理テーブルの一例を示す図である
【図6】実施形態1に係るサーバ装置が作成するセンサIDテーブルの一例を示す図である。
【図7】実施形態1に係るサーバ装置が、受信時刻管理DBに蓄積していくセンサ受信時刻データの一例を示す図である。
【図8】実施形態1に係るサーバ装置が作成する管理設定テーブルの一例を示す図である。
【図9】実施形態1に係るセンサモジュールにおける基本処理の流れを示すフローチャートである。
【図10】実施形態1に係るセンサモジュールにおける計測処理の流れを示すフローチャートである。
【図11】実施形態1に係るサーバ装置及びセンサモジュールの各データ送信/メッセージ受信処理の流れを示すフローチャートである。
【図12】実施形態1に係るサーバ装置における送信オフセット値算出処理の流れを示すフローチャートである。
【図13】実施形態1に係るサーバ装置における送信オフセット補正処理の流れを示すフローチャートである。
【図14】実施形態1に係るサーバ装置における設定管理テーブルへの送信オフセット予約処理の流れを示すフローチャートである。
【図15】(a)(b)共に、実施形態1に係るサーバ装置による送信タイミングの最適化を行う前と行った後とにおける、データ欠損台数、再送回数、消費電力を測定して比較した結果を説明する図面である。
【図16】本発明の実施形態2に係るサーバ装置において実施される、送信タイミングを最適化するイメージを示す説明図である。
【図17】本発明の実施形態2に係るセンサモジュール及びサーバ装置の構成の一例を示すブロック図である。
【図18】本発明の実施形態2に係る変形例のセンサモジュール及びサーバ装置の構成の一例を示すブロック図である。
【図19】本発明の実施形態3に係るセンサモジュール及びサーバ装置の構成の一例を示すブロック図である。
【図20】実施形態3に係るサーバ装置における送信オフセット値算出処理の流れを示すフローチャートである。
【図21】実施形態3に係るサーバ装置における送信時間間隔変更処理の流れを示すフローチャートである。
【図22】送信時間間隔が同じに設定された複数のセンサモジュールから送信された計測データが、個々のタイミングで送信されてきて、サーバ装置において受信時に衝突している状態を説明する図面である。
【発明を実施するための形態】
【0046】
〔実施形態1〕
以下、本発明の実施形態1について図面を参照して説明する。図2は、本発明の実施形態1におけるデータ処理システムの全体概要の一例を示す図である。
【0047】
図2に示すように、データ処理システム(センサシステム)1は、情報処理装置としてのサーバ装置200と、複数のセンサモジュール100とを含む。サーバ装置200は、複数のセンサモジュール100それぞれと、ネットワークを介して接続されており、サーバ装置200と複数のセンサモジュール100とで、センサネットワークが構成される。
【0048】
サーバ装置200と複数のセンサモジュール100との間のネットワークを介した通信は、無線回線を利用してもよいし、有線回線を利用してもよい。ここでは、無線回線を利用する場合を例に説明する。
【0049】
複数のセンサモジュール100それぞれは、計測対象を計測するセンサ機能、計測したデータを記憶したり処理したりする機能、無線機能、電源機能等が実装された小型のデバイスである、センサノードとも称される。
【0050】
上記センサ機能を実現するセンサとしては、例えば、温度センサ、湿度センサ、照度センサ、フローセンサ、圧力センサ、地温センサ、パーティクルセンサ等の物理系センサや、COセンサ、pHセンサ、ECセンサ、土壌水分センサ等の化学系センサがある。
【0051】
複数のセンサモジュール100それぞれは、設定された計測時間間隔でデータを計測して記憶し、計測したデータ(以下、計測データと称する)を、設定された送信時間間隔でまとめてサーバ装置200に送信するものである。
【0052】
サーバ装置に複数のセンサモジュールが接続される構成では、異なるセンサモジュール同士で計測データをサーバ装置に送信するタイミングが重なってしまい、計測データの衝突が発生する恐れがある。接続されるセンサモジュールの数が多い場合や、各センサモジュールの送信時間間隔が短い場合は、より衝突が発生しやすい。
【0053】
前述したように、計測データの衝突が起こると、センサモジュールは、計測データを再送信するが、このような再送信は、サーバ装置の計測データ収集に遅延を発生させたり、必要な計測データの収集をできなくさせたりする原因となる。
【0054】
また、計測データの再送信は、センサモジュールの電池寿命を低下させる原因となる。特に、複数のセンサモジュールそれぞれにおいて送信時間間隔が統一化され、全てのセンサモジュールが同じ送信時間間隔でデータをサーバ装置へと送信するように設定されるシステム構成においては、各センサモジュール間の送信タイミングの相互関係は、各センサモジュールの電源スイッチを投入した時間で決まる。そのため、送信周期に関わりなく送信タイミングは維持されるので、衝突したデータ同士は常に衝突したままとなる。したがって、送信タイミングが重ならないように、調整することが必要である。
【0055】
そこで、本実施形態では、サーバ装置200は、複数のセンサモジュール100と通信を行った際の、データを受信した受信時刻とデータを送信したセンサモジュールのセンサID(識別情報)とを、少なくとも送信時間間隔に相当する時間分取得し、上記複数のセンサモジュール100の各々について、取得した受信時刻及びセンサIDと送信時間間隔とに基づいて計測データを送信する送信タイミングを設定するようになっている。
【0056】
具体的には、複数のセンサモジュール100の数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュール100のデータ送信が行われるように、上記複数のセンサモジュール100の各々について送信タイミングを設定する。換言すると、複数のセンサモジュール100の数に基づいて、送信時間間隔の時間を複数の均等なずらし時間(割当時間に同じ)に分割し、複数のセンサモジュール100の各々が、ずらし時間の時間分だけずれながら順にデータ送信を行うように上記複数のセンサモジュール100の各々について送信タイミングを設定する。以下、このように送信タイミングを設定する(調整する)処理を、送信タイミングを最適化すると表現する。
【0057】
図3に、サーバ装置200が、無作為に電源スイッチが投入された送信時間間隔60秒に設定されている6個のセンサモジュールSM−1〜SM−6に対して、送信タイミングを最適化するイメージを示す。図3は、センサモジュールSM−3から送信されたデータの受信を開始した時点を1送信周期(1送信時間間隔)の基点として、送信周期4周期分のデータ受信のタイミングを示している。
【0058】
図3に示すように、サーバ装置200は、1周目の60秒間では、各センサモジュールからデータを取得すると共に、同時に、センサIDと受信時刻とを取得し、記憶する。取得したセンサIDの個数より、サーバ装置200に接続されているセンサモジュールの個数が分る。
【0059】
サーバ装置200は、2周目の60秒間で、センサモジュールSM−1〜SM−6からのデータを受信した直後に、各センサモジュールに対し、それぞれに設定した送信タイミングを通達する。
【0060】
ここで、サーバ装置200は、送信時間間隔の60秒をセンサモジュールの個数(6)で割って、1台のセンサモジュールに割り当てる割当時間を算出する。そして、該割当時間と、それぞれの受信時刻情報とに基づいて、割当時間内に1つのセンサモジュールのデータ送信が行われるように、センサモジュールSM−1〜SM−6の送信タイミングをそれぞれ設定し、センサモジュールSM−1〜SM−6それぞれに、設定した各々の送信タイミングを通達する。
【0061】
ここで、センサモジュールSM−1〜SM−6は、それぞれの電源スイッチが投入された時刻より、タイマーを作動させて、送信時間間隔が経過する度に計測データを送信するように構成されている。したがって、サーバ装置は、上記複数のセンサモジュールの各々について、次回の測定データを送信するまでの待機時間である送信オフセット値(オフセット値)を設定することにより、上記複数のセンサモジュールの各々について送信タイミングを設定する。センサモジュールSM−1〜SM−6それぞれには、この送信オフセット値が通達される。
【0062】
図3の例では、センサモジュールSM−2には、45秒遅くするように、送信オフセット値「45」が通達される。センサモジュールSM−6には、50秒遅くするように、送信オフセット値「50」が通達される。センサモジュールSM−5には、55秒遅くするように、送信オフセット値「55」が通達される。センサモジュールSM−4には、5秒遅くするように、送信オフセット値「5」が通達される。
【0063】
3周目の60秒間では、送信オフセット値が通達されなかった、センサモジュールSM−3、SM−1、及び5秒のみ遅延が指示されたセンサモジュールSM−4が計測データを送信する。45秒、50秒、55秒の遅延が指示されたセンサモジュールSM−2、SM−6、SM−5は、計測データを送信しない。
【0064】
4周目では、センサモジュールSM−1〜SM−6それぞれが、最適化された送信タイミングにてデータを送信する。45秒の遅延が指示されたセンサモジュールSM−2は、最適化を図る2周目の最適化前の送信タイミングから105秒後(3周目の60秒と遅延指示の45秒の合計)遅れて、次の計測データを送信する。5秒の遅延が指示されたセンサモジュールSM−4は、最適化を図る2周目の最適化前の送信タイミングから65秒後(3周目の60秒と遅延指示の5秒の合計)遅れて、次の計測データを送信する。5周目は示していないが、これ以降は、4周目と同じタイミングで、センサモジュールSM−1〜SM−6は60秒間隔で計測データを送信する。
【0065】
このように、送信時間間隔内で各センサモジュール100の計測データの送信タイミングを均等に分散させることで、データ同士の衝突の発生を抑制することができ、データの再送信による、センサモジュールの電池寿命低下等の問題を解決することができる。
【0066】
<センサモジュールのハードウェア構成について>
図1は、センサモジュール100及びサーバ装置200の構成の一例を示すブロック図である。まずは、センサモジュール100の構成より説明する。
【0067】
図1に示すように、センサモジュール100は、センサモジュール100の全体を制御するセンサ制御部101と、電源部102と、センサ部103と、センサ通信部104と、計測データ記憶部105と、入力部106と、動作設定パラメータ記憶部107とを含む。
【0068】
入力部106は、センサモジュール100に対して設定情報等の各種の情報入力を可能にするものである。例えば、入力部106を用いて、センサモジュール100の送信時間間隔や、計測時間間隔の設定が可能である。
【0069】
電源部102は、センサモジュール100を駆動させるための電源であり、本実施形態においては交換可能な電池である。ただし、電源部102は、本発明において電池に限定されるものではなく、商用電源であってもよい。
【0070】
センサ部103は、計測対象を計測し、それにより計測データを生成するものである。センサ部103は、生成した計測データを計測データ記憶部105に記憶させる。計測データには、センサ部103により計測された日時を示す計測日時情報が含まれる。
【0071】
センサ部103が計測データを生成する計測タイミングは、センサ制御部101にて決定される。
【0072】
センサ通信部104は、無線回線を利用して、TCPまたはUDP等の通信プロトコルによって外部の機器と通信するものである。センサ通信部104は、センサ制御部101からの指示に従って、無線回線により接続された外部の機器との間でデータを送受信する。
【0073】
センサ通信部104は、外部の機器であるサーバ装置200に対して、計測データ記憶部105に格納されている計測データを送信する。センサ通信部104が、計測データを送信する送信タイミングは、センサ制御部101にて決定される。
【0074】
サーバ装置200は、計測データを受信すると、センサモジュール100に対して、当該データを受信したことを示す信号(受信完了メッセージ)、ここではACK信号を送信するように構成されている。センサ通信部104は、このようなサーバ装置200より送信される該ACK信号も受信する。ACK信号を受信することで、センサモジュール100は、サーバ装置200がデータの受信に成功したことを認識する。
【0075】
また、センサ通信部104は、サーバ装置200より送信される、送信オフセット値を含む設定変更メッセージを受信する。センサ通信部104は、設定変更メッセージを受信すると、受信した送信オフセット値を動作設定パラメータ記憶部107に格納すると共に、設定変更が予約されたことを示すフラグを、動作設定パラメータ記憶部107の所定領域に立てる。
【0076】
動作設定パラメータ記憶部107は、送信時間間隔、送信オフセット値、計測時間間隔、設定変更予約の有無、等のセンサモジュール100の動作を設定するのに必要な各種のパラメータを格納するものである。
【0077】
センサ制御部101は、上述したように、センサモジュール100の全体を制御するものであり、センサ制御部101が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶した、HDDやROM、RAM等と、CPUとで構成される。以下、センサ制御部101の機能について説明する。
【0078】
<センサ制御部の機能について>
センサ制御部101は、機能ブロックとして、計測管理部111と、センサ通信制御部112とを含む。計測管理部111は、センサモジュール100におけるセンサ部103の動作を管理するものである。計測管理部111は、動作設定パラメータ記憶部107に格納されている計測時間間隔を読み出し、計測時間間隔毎に、電源部102を介してセンサ部103に通電を行い、データを計測させ、計測データを生成させる。
【0079】
センサ通信制御部112は、センサ通信部104を制御して、サーバ装置200との通信全般を制御するものである。センサ通信制御部112は、動作設定パラメータ記憶部107に格納されている送信時間間隔を読み出し、送信時間間隔毎に、電源部102を介してセンサ通信部104に通電を行い、計測データを送信させる。
【0080】
そして、センサ通信制御部112は、動作設定パラメータ記憶部107において、設定変更が予約されたことを示すフラグが立てられている場合は、格納されている送信オフセット値を読み出し、次回の測定データの送信を、送信オフセット値の時間分、遅延させる。つまり、フラグが立てられると、データ送信1回分だけ、測定データを送信する間隔を遅らせて調整し、それ以降は、また、設定されている送信時間間隔に従ってデータを送信する。
【0081】
本発明において、計測時間間隔と送信時間間隔とは独立している。送信時間間隔は計測時間間隔以上であっても未満であってもよい。例えば、設定変更をより早くセンサモジュールに反映させたい場合は、送信時間間隔は計測時間間隔よりも短く設定される。また、送信時間間隔が計測時間間隔よりも短い場合、計測データは蓄積されていないため送信されないが、センサモジュールの状態等をサーバ装置へ送信することは可能である。以下では、計測時間間隔と送信時間間隔とは異なるものとして説明する。
【0082】
<サーバ装置のハードウェア構成について>
次に、サーバ装置200の構成について説明する。図1に示すように、サーバ装置200は、サーバ装置200の全体を制御するサーバ制御部201と、サーバ通信部202と、動作設定パラメータ記憶部203と、計測データ履歴記憶部204とを含む。
【0083】
サーバ通信部202は、無線回線を利用して、TCPまたはUDP等の通信プロトコルによって外部の機器と通信するものである。サーバ通信部202は、サーバ制御部201からの指示に従って、無線回線により接続された外部の機器との間でデータを送受信する。
【0084】
サーバ通信部202は、外部の機器であるセンサモジュール100より送信される計測データを受信する。サーバ通信部202は、受信した計測データを、計測データの識別情報である計測データIDを付して、計測データ履歴記憶部204に記憶させる。
【0085】
計測データ履歴記憶部204には、計測データが蓄積される計測データDB、計測データを受信する毎に、センサIDに対応付けて受信時刻が蓄積される受信時刻管理DBが構築される。
【0086】
図4に、受信時刻管理DBの一例を示す。計測データを受信する度に、受信時刻と、受信した計測データを参照するための計測データID、及び、受信した計測データの送信先となるセンサモジュール100のセンサIDとが、蓄積されていく。
【0087】
また、サーバ通信部202は、上述したように、計測データを受信すると、計測データの送信元であるセンサモジュール100に対して、当該データを受信したことを示す信号(受信完了メッセージ)、ここではACK信号を送信する。
【0088】
また、サーバ通信部202は、動作設定パラメータ記憶部203に格納されている後述する設定管理テーブル(図8参照)に従い、該当するセンサモジュール100に対して、送信オフセット値を含む設定変更メッセージを送信する。センサモジュール100は、設定変更メッセージを受信することで、上述したように、設定変更が予約されたことを示すフラグを立て、次回の計測データの送信を、送信オフセット値の時間分遅延させる。
【0089】
動作設定パラメータ記憶部203は、設定管理テーブル(図8参照)を始めとして、このような送信オフセット値の算出に必要な各種のテーブル、設定値を記憶するものである。
【0090】
詳細については後述するが、動作設定パラメータ記憶部203には、サーバ制御部201のサーバ通信制御部208、送信タイミング設定部205、変更検出部209が作成し或いは使用する、センサ受信時刻管理テーブル(図5参照)、センサIDテーブル(図6参照)、設定管理テーブル(図8参照)、送信時間間隔、存在判定時間が記憶されている。
【0091】
ここで、動作設定パラメータ記憶部203に記憶されている上記送信時間間隔は、当該サーバ装置200に接続される複数のセンサモジュール100の統一化された送信時間間隔であり、本実施形態では60秒を例示している。
【0092】
また、動作設定パラメータ記憶部203に記憶されている上記存在判定時間は、当該サーバ装置200に接続されるセンサモジュール100の存在を判定するのに使用する時間である。後述するセンサ受信時刻管理テーブル(図5参照)の時間サイズは、この存在判定時間によって決まる。
【0093】
本実施形態では、存在判定時間を、その最小サイズである送信時間間隔としている。全てのセンサモジュール100の送信時間間隔が同じに設定されている場合、少なくとも送信時間間隔の時間分に計測データを受け取ったのセンサモジュール100を特定することで、サーバ装置200に接続されているセンサモジュール100を特定することができる。
【0094】
本実施形態では、上記存在判定時間と送信時間間隔は、図示しない入力部を用いて入力される。
【0095】
サーバ制御部201は、上述したように、サーバ装置200全体を制御するものであり、サーバ制御部201が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶した、HDDやROM、RAM等と、CPUとで構成される。以下、サーバ制御部201の機能について説明する。
【0096】
<サーバ制御部の機能について>
サーバ制御部201は、機能ブロックとして、サーバ通信制御部208、送信タイミング設定部205、変更検出部209を含む。
【0097】
サーバ通信制御部(受信時刻憶手段)208は、センサ通信部204を制御して、サーバ装置200との通信全般を制御するものである。サーバ通信制御部208は、サーバ通信部202が計測データを受信すると、受信した計測データを計測データ履歴記憶部204に、計測データIDを付けて計測データDBに蓄積すると共に、計測データを受信した受信時刻を、計測データID、センサIDに対応付けて受信時刻管理DBに蓄積する。
【0098】
また、サーバ通信制御部208は、計測データ履歴記憶部204に構築された受信時刻管理DBより、存在判定時間内に計測データが送信されてきたセンサIDと、受信時刻を読み出して、図5に示すセンサ受信時刻管理テーブルを作成する。本実施形態では、サーバ通信制御部208は、センサ受信時刻管理テーブルを、1つのセンサモジュール100と通信して計測データを受信する毎に更新し、常に最新の受信履歴を管理する。
【0099】
また、サーバ通信制御部208は、サーバ通信部202を制御して、送信タイミング設定部205にて、送信タイミングの最適化が実施されると、動作設定パラメータ記憶部203に格納されている設定管理テーブル(図8参照)に従って、該当するセンサモジュール100に対して、送信オフセット値を含む設定変更メッセージを送信する。
【0100】
送信タイミング設定部(送信タイミング設定手段)205は、上記複数のセンサモジュール100の各々について、センサ受信時刻管理テーブルを参照して、少なくとも送信時間間隔に相当する時間分の受信時刻及びセンサIDの情報と、複数のセンサモジュール100に設定されている統一の送信時間間隔とに基づいて、計測データを送信する送信タイミングを設定する最適化を実施するものである。
【0101】
送信タイミング設定部205は、1つのセンサモジュール100に割り当てる割当時間を求め、該割当時間内に1つのセンサモジュール100のデータ送信が行われるように、上記複数のセンサモジュール100の各々について送信タイミングを設定するものである。
【0102】
具体的には、送信タイミング設定部205は、割当時間算出部(第1割当時間算出手段)206と、送信オフセット値算出部207とを含む。
【0103】
割当時間算出部206は、センサ受信時刻管理テーブルを参照して、センサIDの個数より、接続されているセンサモジュール100の数を判定し、送信時間間隔を判定したセンサモジュール100の数で割って割当時間を算出する。
【0104】
送信オフセット値算出部207は、センサ受信時刻管理テーブルを参照して、各センサモジュール100の受信時刻を取得し、割当時間算出部206で算出された割当時間とを基に、該割当時間内に1つのセンサモジュール100のデータ送信が行われるように、複数のセンサモジュール100の各々について、次回の測定データを送信するまでの待機時間である送信オフセット値を算出するものである。
【0105】
つまり、送信タイミング設定部205は、送信オフセット値算出部207で算出されたオフセット値を設定することにより、複数のセンサモジュール100の各々について送信タイミングを設定して、送信タイミングの最適化を実施する。
【0106】
送信タイミング設定部205で算出された、送信オフセット値は、図8に示すように、設定管理テーブルに、センサIDに対応つけて格納される。図8では、図3に最適化のイメージを示した6個のセンサモジュールSM−1〜SM−6に対して作成された設定管理テーブルを示している。
【0107】
センサID:「1」「2」「3」「4」「5」「6」の各センサモジュールが、センサモジュールSM−1、SM−2、SM−3、SM−4、SM−5、SM−6に対応している。なお、センサID「7」「8」「9」「10」の各センサモジュールは、既にサーバ装置200から切り離されたセンサモジュールである。
【0108】
設定管理テーブルの設定変更予約は、サーバ通信部202より、設定変更メッセージが送信されると、予約ありの「1」から予約なしの「2」に変更され、また、送信オフセット値についても0に戻される。
【0109】
図7に、図3に最適化のイメージを示した4周期分の受信時刻管理DBに蓄積されていくセンサ受信時刻データを示す。矢印Aにて示すタイミングで、送信タイミングの最適化の割り込みが指示されている。
【0110】
矢印Aにて示すタイミングの次に計測データを受信したセンサID「3」のセンサモジュールSM−3の基準として、その次のセンサモジュールSM−2から、送信タイミングの最適化を実施する。送信オフセット値を含む設定変更メッセージを送信すると、メッセージを受け取ったセンサモジュール100からは、その直後から、送信時間間隔+送信オフセット値分遅れて計測データが送信されてくる。その後は、通常通り、送信時間間隔分の時間をあけて、計測データが送られてくる。
【0111】
さらに、本実施形態においては、上記送信タイミング設定部205は、1つのセンサモジュール100に割り当てる割当時間が、各センサモジュール100にて送信タイミングを設定可能な単位時間よりも小さくなる場合には、接続されている複数のセンサモジュール100を、送信時間間隔を上記単位時間で割った値であるN(正の整数)個を1グループとしてグループ化し、グループ内の各センサモジュール100については、上記単位時間を上記割当時間として送信タイミングを設定し、端数のセンサモジュール100については、端数のセンサモジュール100の数に応じて上記割当時間を求め、該割当時間に基づいて送信タイミングを設定するようになっている。
【0112】
変更検出部209は、センサ受信時刻管理テーブルに基づいて、そのセンサIDを抜き出し、図6に示すセンサIDテーブルを作成する。変更検出部209は、センサIDテーブルを基に、センサモジュール100の変更の有無を検出するものである。
【0113】
上記送信タイミング設定部205は、送信タイミングの最適化が指示された場合、及び変更検出部209にて変更が検出された場合、各センサモジュール100の各々について、送信タイミングの最適化を行う。
【0114】
<データ処理システムの処理の流れ>
次に、データ処理システム1における処理の流れについて、図9及び図14のフローを参照しながら説明する。
【0115】
図9は、センサモジュール100における基本処理の処理の流れを示すフローチャートである。図9に示すように、センサモジュール100は、計測処理(S1)と、データ送信/メッセージ受信処理(S2)との2つを実施する。
【0116】
図10は、センサモジュール100の計測処理(図9のS11)の流れを示すフローチャートである。計測時刻になると、センサ部103へ通電し、計測し、計測データを計測データ記憶部105に追加し、そのあと、センサ部103への通電をOFFする(S3〜S7)。
【0117】
図11は、サーバ装置200及びセンサモジュール100の各データ送信/メッセージ受信処理の流れを示すフローチャートである。
【0118】
サーバ装置200においては、送信時間間隔、存在判定時間が始めに入力される(S11、S12)。これは通常、サーバ装置200の管理者によって入力される。その後、S13に進み、センサモジュール100より計測データを受信する毎に、図5に示すセンサ受信時刻管理テーブルを更新する。
【0119】
更新後、S14に進み、送信タイミングの最適化が指示されたかを判断し、指示があった場合はS16に進む。一方、指示がなかった場合はS15に進み、図6に示すセンサIDテーブルを基に、変更検出部209が接続されているセンサモジュール100の変更が検出されたかどうかを判断する。変更検出部209にてセンサモジュール100の変更が検出された場合もS16に進む。S14或いはS15で「YES」と判断するまで、S13〜S15の処理を繰り返す。
【0120】
S16では、センサ受信時刻管理テーブルに含まれるセンサIDに基づいて、センサIDテーブルを更新する。S17においては、送信タイミング設定部205が、センサ受信時刻管理テーブルを参照し、テーブルに登録されている各センサモジュール100に対して、送信タイミングを最適化するため送信オフセット値を算出し、図8に示す設定管理テーブルを更新する、送信オフセット値算出処理を実施する。なお、S17のこの送信オフセット値算出処理については、図12のサブルーチンのフローチャートを用いて後述する。
【0121】
S17において、送信オフセット値の算出処理を実施した後、計測データを受信すると(S18)、図8に示す設定管理テーブルを参照して、S18で受信した計測データの送信元のセンサモジュール100に対して、設定変更予約が入っているかどうかを判断する(S19)。
【0122】
設定変更予約が入っていない場合は、S21に進んで、通常の受信完了メッセージを送信する。設定変更予約が入っている場合は、S20に進んで、通常の受信完了メッセージと共に、設定変更メッセージを送信する。設定変更メッセージを送信後は、S22、S23に進み、図8に示す設定管理テーブルにおける、S20で変更設定メッセージを送信したセンサモジュール100に対する設定変更予約を解除し、送信オフセット値も0とする。
【0123】
上記S14からS17までの処理と、S13とS18からS24までの処理とは、別々のスレッドで動いている。つまり、S24の処理が終わらなくても、S13にて、センサ受信管理テーブルが更新されると、S14に処理が進む。例えば、S17の送信オフセット値算出処理において、サンサID15に対して設定変更予約が入れられ、その状態で、S20における設定変更予約メッセージの送信がまだ終わっていない状況であっても、S13において、センサ受信時刻管理テーブルが更新され、最適化処理に入れば、S17において送信オフセット値は再計算されるので、一回前に計算した送信オフセット値はサンサID15のセンサモジュールに通達されず、再計算された送信オフセット値が予約されることとなる。
【0124】
一方、センサモジュール100においては、計測データの送信時刻になると(S31)、センサ通信部104へ通電し(S32)、計測データを送信する(S33)。その後、S34で、サーバ装置200からのメッセージを受信すると、センサ通信部104への通電をOFFする(S35)。
【0125】
その後、S36に進み、計測データ記憶部105におけるS33でサーバ装置200に送信した計測データを削除する。そして、サーバ装置200より、設定変更メッセージを受信したかどうかを判断し(S37)、受信していない場合は、S40に進んで、次回のデータ送信までの待ち時間として「送信時間間隔」を設定し、S39に進む。
【0126】
一方、サーバ装置200より、設定変更メッセージを受信しており、S37において、「YES」と判断した場合は、S38に進み、次回のデータ送信までの待ち時間として、「送信時間間隔+設定変更メッセージに含まれる送信オフセット値」を設定し、S39に進む。
【0127】
S39においては、S40或いはS38で設定された、次回のデータ送信待ちまでの時間を設定したタイマーを起動し、その後、S31に戻る。
【0128】
続いて、図12のフローチャートを用いて、図11のS17の処理である、送信オフセット値算出処理について説明する。
【0129】
まずは、センサ受信時刻管理テーブルより、接続されているセンサモジュール100の数を求め、グループ数を算出する。グループ数は、「センサIDの個数/送信時間間隔」にて求める。つまり、センサIDの個数を送信時間間隔の時間で割り、その「商」をグループ数とする(S51)。図3の例では、センサIDの個数が「6」で送信時間間隔が「60」であるので、グループ数は0となる。
【0130】
グループ数が0の場合は、S52のループ2、S53のループ3には入らず、S61に移行し、送信時間間隔をループ回数で割って、補正値(割当時間)を求める。センサ受信時刻管理テーブルが図5の内容である図3の例では、補正値は60÷6=10となる。
【0131】
S62では、ループ4のループ回数(4)を、「センサIDの個数%送信時間間隔」にて求める。つまり、センサIDの個数を送信時間間隔で割った場合の「余りの値」がループ回数となる。図3の例では、センサIDの個数が「6」で送信時間間隔が「60」であるので、ループ回数(4)は6となる。つまり、S62〜S68までの処理を6回行う。
【0132】
S63では、ループ回数(4)=1かどうを判断し、ループ回数(4)=1である場合のみS65に進む。S65では、図5のセンサ受信時刻管理テーブルを参照し、ループ回数(4)=1、つまり、1つめのセンサID「3」の最新受信時刻を「基準時刻」に設定する。
【0133】
ループ回数(4)=2からは、S64に進み、送信オフセット値を算出していく。送信オフセット値は、「基準時刻−処理中センサモジュールの最新受信時刻+補正値×(ループ回数(4)−1)」で求める。
【0134】
つまり、センサ受信時刻管理テーブルが図5の内容である図3の例では、以下のとおりとなる。
【0135】
ループ回数(4)=2のとき:センサID「2」の送信オフセット値は、「2011/1/31 10:15:03」−「2011/1/31 10:15:28」+10×(2−1)=−15となる。同様にして、ループ回数(4)=3のとき:センサID「6」の送信オフセット値は−10、ループ回数(4)=4のとき:センサID「5」の送信オフセット値は−5、ループ回数(4)=5のとき:センサID「1」の送信オフセット値は=0、ループ回数(4)=6のとき:センサID「4」の送信オフセット値は=5となる。
【0136】
続くS66では、S64で算出して送信オフセット値を補正する送信オフセット値補正処理を実施し、その後、図8の設定管理テーブルに、送信オフセット値の送信を予約する。S66の送信オフセット値の補正処理、及びS67の送信オフセット値の予約処理については、図13、図14のサブルーチンのフローチャートを用いて後述する。
【0137】
なお、S51にて、グループ数が1以上となった場合は、S52に進み、グループの数だけS52〜S60の処理を行う。S53では、送信時間間隔をセンサモジュール100にて送信タイミングを設定可能な単位時間で割ることで求まる、1グループに含まれるセンサモジュール100の個数分、S53〜S59の処理を行う。
【0138】
次に、図13のフローチャートを用いて、図12のS66の処理である、送信オフセット補正処理について説明する。
【0139】
まず、送信オフセット値と送信時間間隔とを比較し(S71)、送信オフセット値が送信時間間隔よりも大きい場合は、S72に進む。S72では、送信オフセット値を送信時間間隔で割った場合の余りの値を、補正後の送信オフセット値と設定する。
【0140】
一方、送信オフセット値が送信時間間隔以下の場合は、S73に進む。S73では、送信オフセット値が0以下かどうかを判断し、0以下である場合はS74に進む。S74では、送信オフセット値を、送信時間間隔に、送信オフセット値を送信時間間隔で割った場合の余りの値を足した値を、補正後の送信オフセット値とする。
【0141】
図3の例では、補正により、送信ループ回数(4)=2のとき:オフセット値は45に、ループ回数(4)=3のとき:送信オフセット値は50に、ループ回数(4)=4のとき:送信オフセット値は55に、ループ回数(4)=5のとき:送信オフセット値は0に、ループ回数(4)=6のとき:送信オフセット値は5となる。
【0142】
図12のS64で算出された送信オフセット値が、送信時間間隔の時間分内の正の値であれば、S71、S73において、いずれも「NO」と判断されるので、補正がなされることなく、メインルーチンに戻る。
【0143】
次に、図14のフローチャートを用いて、図12のS67の処理である、送信オフセット値の予約処理について説明する。
【0144】
まず、送信オフセット値が0であるかを判断し(S81)、送信オフセット値が0である場合は、予約することなく、そのままメインルーチンに戻る。一方、S81で、0ではないと判断すると、S82、S83に進み、図8の示す設定管理テーブルにおける処理中のセンサモジュール100に対応した送信オフセット値を入力し、設定変更予約を入力する。
【0145】
図15(a)(b)に、64台のセンサモジュール100に対して、送信タイミングの最適化を行う前と行った後とで、データ欠損台数、再送回数、消費電力を測定して、比較した結果を示す。送信時間間隔は60秒、30秒、20秒とした。また、検証に用いたセンサモジュール100の設定可能な単位時間は1秒である。
【0146】
図15(a)は、最適化を行う前のデータである。送信時間間隔20秒の場合に、3台でデータ欠損が発生した。その内容は、2台のデータ欠損率が0.56%であり、1台のデータ欠損率は3.9%であった。また、送信時間間隔20秒では、約6回もの再送が発生している。
【0147】
図15(b)は、最適化後のデータである。送信時間間隔20秒であっても、データ欠損を発生した台数は0であった。また、再送回数を比較すると分るように、20秒においても極端に低下しており、計測データの衝突が効果的に回避されていることがわかる。再送回数の削減により、送信時間間隔20秒では、最適化する前の状態に比べて、6.1%も低減できている。
【0148】
以上にように、送信タイミングの最適化を行うことで、送信時間間隔内で各センサモジュール100の計測データの送信タイミングを均等に分散させることが可能となり、データ同士の衝突の発生を抑制することができ、計測データの再送信による、センサモジュール100の消費電力を低減し、電池の長寿命化に貢献することができる。加えて、計測データの再送による、サーバ装置200の計測データ収集遅延や、収集漏れも確実に低減することができる。
【0149】
〔実施形態2〕
本発明の別の実施形態2について説明する。なお、説明の便宜上、実施形態1にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【0150】
実施形態1では、サーバ装置200は、センサ受信時刻管理テーブルを参照して、実際に接続されているセンサモジュール100の数に応じた割当時間を算出し、割当時間内に1つのセンサモジュール100のデータ送信が行われるように、送信タイミングを設定した。
【0151】
これに対し、本実施形態2では、実際に接続されているセンサモジュールの数に架空のセンサモジュールの数を加算して割当時間を算出し、実際に接続されている複数のセンサモジュールのうちの所定のセンサモジュールのデータ送信の前後に、架空のセンサモジュールのデータ送信が行われるように送信タイミングを設定する。
【0152】
つまり、図16に示すように、所定のセンサモジュールに相当するセンサモジュールSM−6の前後に、架空のセンサモジュールの送信タイミングを配置し、センサモジュールSM−6の前後を広く確保して、前後の計測データと重ならないようにする。
【0153】
図17は、本実施形態のサーバ装置200A及びセンサモジュール100Aの構成の一例を示すブロック図である。
【0154】
センサモジュール100Aとセンサモジュール100との違いは、センサモジュール100Aが、再送処理の回数である再送回数をカウントする再生回数カウント部113を備え、センサ通信部104が、計測データと共に再生回数カウント部113のカウント値を送信する点である。
【0155】
また、サーバ装置200Aとサーバ装置200とが異なる点は、架空センサモジュールを考慮した送信タイミングを設定可能な送信タイミング設定部205Aを有している点と、優遇センサ指定部210を有している点である。
【0156】
送信タイミング設定部205Aは、割当時間算出部206に替えて、接続されているセンサモジュール100Aの数に架空のセンサモジュールの数を加算して割当時間を算出する割当時間算出部(第2割当時間算出手段)206Aを備えている。また、送信タイミング設定部205Aは、送信オフセット値算出部207に替えて、複数のセンサモジュール100Aのうちの、前後の間隔を空けるべきセンサモジュール100Aのデータ送信の前後に、架空のセンサモジュールのデータ送信が行われるように、各センサモジュール100Aについて送信オフセット値を算出する送信オフセット値算出部207Aを有している。
【0157】
送信オフセット値算出部207Aは、計測データと共に取得した再送回数の情報を基に、再送回数が閾値を超えるセンサモジュール100Aを、上記前後の間隔を空けるべきセンサモジュール100Aと判定する。以下、このような前後の間隔を空けるべきセンサモジュール100Aを優遇センサモジュールと称する。
【0158】
優遇センサ指定部210は、優遇センサモジュール100Aの任意設定を可能とするものである。優遇センサ指定部210は、ユーザにて入力された、センサIDのセンサモジュール100Aを、優遇センサモジュール100Aであると認定し、そのセンサIDを送信オフセット値算出部207Aに送信する。
【0159】
また、割当時間算出部206Aは、優遇されるセンサモジュール100Aの数に応じて、架空のセンサモジュールの数を設定する。優遇されるセンサモジュール100Aの数が1であれば、その前後を空けるために、架空センサモジュールの数は2とする。つまり、架空センサモジュール数は、優遇センサモジュール100Aの数の2倍となる。
【0160】
このようなサーバ装置200Aの構成によれば、重要なデータを計測しているセンサモジュール100Aを優遇センサ指定部210で指定することで、重要なデータを確実に収集することができる。
【0161】
また、電波状況があまりよくない環境にあるため、再送が発生しやすいセンサモジュール100Aについても、優遇センサモジュール100Aとして特定されて、間隔が広く確保されるので、再送回数が低減され、当該センサモジュール100Aの電池寿命を改善することができる。
【0162】
また、本実施形態の変形例として、図18の示すように、センサモジュールは実施形態1のセンサモジュール100と同様の構成とし、サーバ装置200Bが、受信時刻管理DBテーブルを参照して、センサモジュール毎の送信時間間隔のズレ量を検出するズレ量検出部211を備える構成としてもよい。
【0163】
サーバ装置200Bが備える送信タイミング設定部205Bは、ズレ量検出部211で検出されたズレ量を基に、ズレ量が閾値を超えるセンサモジュール100を優遇センサモジュール100として、その前後の間隔が広く確保されるように送信タイミングを最適化する。
【0164】
このような構成とすることで、内部クロックがずれやすく、送信タイミングもずれやすいセンサモジュール100について、間隔が広く確保されるので、前後の計測データとの衝突を効果的に回避して、当該センサモジュール100、及びその前後に計測データを送信するセンサモジュール100の各再送回数が低減され、これらのセンサモジュール100の電池寿命を改善することができる。
【0165】
〔実施形態3〕
本発明の別の実施形態3について説明する。なお、説明の便宜上、実施形態1にて説明した図面と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。
【0166】
実施形態1では、サーバ装置200は、1つのセンサモジュール100に割り当てる割当時間が、各センサモジュール100にて送信タイミングを設定可能な単位時間よりも小さくなる場合には、接続されている複数のセンサモジュール100を、送信時間間隔を上記単位時間で割った値であるN(正の整数)個を1グループとしてグループ化し、グループ内の各センサモジュール100については、上記単位時間を上記割当時間として送信タイミングを設定し、端数のセンサモジュール100については、端数のセンサモジュール100の数に応じて上記割当時間を求め、該割当時間に基づいて送信タイミングを設定した。
【0167】
これに対し、図19に示すように、本実施形態のサーバ装置300では、割当時間が複数のセンサモジュール100の各々にてタイミングを設定可能な単位時間よりも小さくなる場合には、割当時間が単位時間以上となるように、送信時間間隔を変更する送信時間間隔変更部212を備えている。ここでは、送信時間間隔変更部212は、単位時間が割当時間となるように送信時間間隔を変更する。
【0168】
実施形態1のサーバ装置200と、本実施形態のサーバ装置300との違いは、送信時間間隔変更部212を備えている点と、送信タイミング設定部305が、送信タイミング設定部205が実施していた、1つのセンサモジュール100に割り当てる割当時間が、各センサモジュール100にて送信タイミングを設定可能な単位時間よりも小さくなる場合に行っていた、上記グループ分けを実施しない点である。
【0169】
つまり、送信タイミング設定部305では、図20に示すように、送信オフセット値算出処理において、S91において、送信時間間隔を単位時間で割った値よりもセンサ受信時刻管理テーブルに登録されているセンサIDの個数が多い場合には、S92に進み、送信時間間隔変更処理を実施し、その後、図12のS61〜S68の処理に同じS93〜S100を実施する。
【0170】
但し、S94では、グループ数を求めていないので、ループ回数は、センサ受信時刻管理テーブル内のセンサIDの個数となる。また、S99の設定管理テーブルへの送信オフセット予約処理については、たとえ送信オフセット値が0であっても、送信時間間隔が設定される。送信時間間隔は、全てのセンサモジュール100に通達される。
【0171】
図21に、送信時間間隔変更処理のサブルーチンのフローチャートを示す。送信時間間隔変更処理においては、送信時間間隔を単位時間×センサIDの個数に変更する(S93)。つまり、単位時間が1秒である場合に、センサIDの個数が80であれば、送信時間間隔を80秒(1×80)とした後、S61に戻る。これにより、S61〜S68において、80個のセンサモジュール100に対して、単位時間である1秒毎に計測データが送信されるように、80個のセンサモジュール100の各々の送信オフセット値が算出される。
【0172】
このように、接続されるセンサモジュール100の個数が多く、割当時間が、センサモジュール100における送信タイミングを設定可能な単位時間よりも小さくなる場合は、強制的に、割当時間が単位時間以上となるように、送信時間間隔を広げることで、より効果的に、計測データ同士の衝突を回避して、センサモジュール100の消費電力を低減し、電池の長寿命化に貢献することができる。
【0173】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【0174】
最後に、サーバ200、200A、200Bの各ブロック、特にサーバ制御部201は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
【0175】
すなわち、サーバ装置200、200A、200B、300は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM
(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラム及び各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるサーバ装置200、200A、200B、300の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記サーバ装置200、200A、200B、300に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【0176】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
【0177】
また、サーバ装置200、200A、200B、300を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【0178】
本発明は、複数のセンサから計測データを収集するセンサシステムに利用することができる。
【符号の説明】
【0179】
1 データ処理システム(センサシステム)
100 センサモジュール
100A センサモジュール
101 センサ制御部
102 電源部
103 センサ部
104 センサ通信部
105 計測データ記憶部
106 入力部
107 動作設定パラメータ記憶部
111 計測管理部
112 センサ通信制御部
113 再生回数カウント部
200 サーバ装置
200A サーバ装置
200B サーバ装置
201 サーバ制御部
202 サーバ通信部
203 動作設定パラメータ記憶部
204 センサ通信部
204 計測データ履歴記憶部
205 送信タイミング設定部(送信タイミング設定手段)
205A 送信タイミング設定部(送信タイミング設定手段)
205B 送信タイミング設定部(送信タイミング設定手段)
206 割当時間算出部(第1割当時間算出手段)
206A 割当時間算出部(第2割当時間算出手段)
207 送信オフセット値算出部(送信タイミング設定手段)
207A 送信オフセット値算出部(送信タイミング設定手段)
208 サーバ通信制御部(管理情報記憶手段)
209 変更検出部(変更検出手段)
210 優遇センサ指定部
211 ズレ量検出部(ズレ量検出手段)
212 送信時間間隔変更部(送信時間間隔変更手段)
300 サーバ装置
305 送信タイミング設定部

【特許請求の範囲】
【請求項1】
計測により得られたデータを外部に送信する複数のセンサモジュールとネットワークを介して接続され、上記複数のセンサモジュールと通信してデータを収集する情報処理装置であって、
上記複数のセンサモジュールの各々は、データを送信する送信時間間隔が等しく設定されており、
上記複数のセンサモジュールと通信を行った際の、データを受信した受信時刻とデータを送信したセンサモジュールの識別情報とを、少なくとも上記送信時間間隔の時間分、記憶部に記憶する受信時刻記憶手段と、
上記複数のセンサモジュールの各々について、上記記憶部から読み出した受信時刻及び識別情報と上記送信時間間隔とに基づいてデータを送信する送信タイミングを設定する送信タイミング設定手段を備え、
上記送信タイミング設定手段は、上記複数のセンサモジュールの数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定することを特徴とする情報処理装置。
【請求項2】
上記送信タイミング設定手段は、
上記識別情報より接続されているセンサモジュールの数を判定し、上記送信時間間隔の時間をセンサモジュールの数で割って上記割当時間を算出する第1割当時間算出手段を備えることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
上記送信タイミング設定手段は、
上記識別情報より接続されているセンサモジュールの数を判定し、上記送信時間間隔の時間を、接続されているセンサモジュールの数に架空のセンサモジュールの数を加算した値で割って上記割当時間を算出する第2割当時間算出手段を備え、
上記複数のセンサモジュールのうちの所定のセンサモジュールのデータ送信の前後に、上記架空のセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
上記送信タイミング設定手段は、
上記受信時刻と、上記割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について、次回の測定データを送信するまでの待機時間であるオフセット値を算出するオフセット値算出手段を備え、
上記オフセット値算出手段で算出されたオフセット値を設定することにより、上記複数のセンサモジュールの各々について送信タイミングを設定することを特徴とする請求項1〜3の何れか1項に記載の情報処理装置。
【請求項5】
上記所定のセンサモジュールは、任意に設定可能であり、
上記送信タイミング設定手段は、各センサモジュールの識別情報に基づいて、所定のセンサモジュールを特定することを特徴とする請求項3に記載の情報処理装置。
【請求項6】
上記複数のセンサモジュールの各々は、上記データの送信に失敗した場合に当該データを再度送信する再送処理を行い、上記再送処理の回数である再送回数をデータと共にサーバ装置に送信し、
上記送信タイミング設定手段は、取得した再送回数を基に、再送回数が閾値を超えるセンサモジュールを上記所定のセンサモジュールとすることを特徴とする請求項3に記載の情報処理装置。
【請求項7】
複数のセンサモジュールの各々の受信時刻を記憶部に蓄積して記憶させ、センサモジュール毎の送信時間間隔のズレ量を検出するズレ量検出手段を備え、
上記送信タイミング設定手段は、上記ズレ量検出手段で検出されたズレ量を基に、ズレ量が閾値を超えるセンサモジュールを上記所定のセンサモジュールとすることを特徴とする請求項3に記載の情報処理装置。
【請求項8】
上記受信時刻記憶手段は、上記複数のセンサモジュールのうちの1つと通信する毎に、上記受信時刻及び識別情報を更新することを特徴とする請求項1〜7の何れか1項に記載の情報処理装置。
【請求項9】
上記記憶部から読み出した上記識別情報より接続されている上記複数のセンサモジュールに変更があったことを検出する変更検出手段をさらに備え、
上記送信タイミング設定手段は、上記変更検出手段にて変更が検出された場合に、各センサモジュールの各々について、送信タイミングの設定を行うことを特徴とする請求項1〜8の何れか1項に記載の情報処理装置。
【請求項10】
上記送信タイミング設定手段は、上記割当時間が、上記複数のセンサモジュールの各々にて送信タイミングを設定可能な単位時間よりも小さくなる場合には、上記複数のセンサモジュールを、送信時間間隔の時間を上記単位時間で割った値であるN(正の整数)個を1グループとしてグループ化し、グループ内の各センサモジュールについては、上記単位時間を上記割当時間として送信タイミングを設定し、
端数のセンサモジュールについては、端数のセンサモジュールの数に応じて上記割当時間を求め、該割当時間に基づいて送信タイミングを設定することを特徴とする請求項1〜9の何れか1項に記載の情報処理装置。
【請求項11】
上記割当時間が、上記複数のセンサモジュールの各々にて送信タイミングを設定可能な単位時間よりも小さくなる場合に、上記割当時間が上記単位時間以上となるように、上記送信時間間隔を変更する送信時間間隔変更手段をさらに備え、
上記送信タイミング設定手段は、上記複数のセンサモジュールの数に基づいて、上記送信時間間隔変更手段にて変更された送信時間間隔の時間を複数の均等な割当時間に分割して、各センサモジュールの送信タイミングを設定することを特徴とする請求項1〜9の何れか1項に記載の情報処理装置。
【請求項12】
請求項1〜11の何れか1項に記載の情報処理装置と、
上記複数のセンサモジュールとを備えることを特徴とするセンサシステム。
【請求項13】
計測により得られたデータを外部に送信する送信時間間隔が等しく設定された複数のセンサモジュールの各々について、上記データを送信する送信タイミングを設定する設定方法であって、
上記複数のセンサモジュールと通信を行った際の、データを受信した受信時刻とデータを送信したセンサモジュールの識別情報とを、少なくとも上記送信時間間隔の時間分、取得する取得ステップと、
上記複数のセンサモジュールの各々について、上記取得ステップにて取得した受信時刻及び識別情報と上記含み、
上記設定ステップにおいては、上記複数のセンサモジュールの数に基づいて、送信時間間隔の時間を複数の均等な割当時間に分割し、該割当時間内に1つのセンサモジュールのデータ送信が行われるように、上記複数のセンサモジュールの各々について送信タイミングを設定することを特徴とする設定方法。
【請求項14】
請求項1から11の何れか1項に記載の情報処理装置が備える上記各手段としてコンピュータを機能させるためのプログラム。
【請求項15】
請求項14に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2012−195705(P2012−195705A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−57278(P2011−57278)
【出願日】平成23年3月15日(2011.3.15)
【特許番号】特許第4835802号(P4835802)
【特許公報発行日】平成23年12月14日(2011.12.14)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】