【解決手段】中継装置は、発信機が発信した検出情報を複数回受信する受信部と、前記受信部が複数回受信した前記検出情報を記憶する記憶部と、前記記憶部が記憶した前記検出情報のうち、選択された前記検出情報を送信する送信部と、を備える。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら実施形態に係る中継装置、中継方法、及びプログラムについて説明する。なお、以下に説明する実施形態では、中継装置を介して通信を実行する通信システムに適用した例を説明するが、以下の実施形態によりこの発明が限定されるものではない。
【0010】
図1は、実施形態に係る通信システム1の構成の一例を示す図である。
図1に示すように、通信システム1は、複数の発信機10と、複数の中継装置20と、情報収集装置30とを備える。
【0011】
発信機10は、情報を発信する。発信機10は、例えば監視対象となるエリアの各地点に設置される。発信機10は、検出対象から検出した検出値と、自装置を識別するためのコード等(例えばMACアドレス、IPアドレスなど)とを有する検出情報を中継装置20に送信する。例えば、発信機10は、BLE(Bluetooth(登録商標) Low Energy)ビーコンにより検出情報を送信する。なお、発信機10は、他の発信機10を介して、中継装置20に送信してもよいし、他の発信機10を介さずに、中継装置20に送信してもよい。
【0012】
中継装置20は、発信機10と情報収集装置30との間との通信を中継する。中継装置20は、例えば、ゲートウェイや、ルーター等である。中継装置20は、周囲に設置された一又は複数の発信機10から受信した検出情報を発信機10毎に蓄積する。そして、中継装置20は、条件が満たされた場合に、蓄積した検出情報のうち、発信機10毎に選択した検出情報を送信する。
図1に示す中継装置20は、検出情報を情報収集装置30に送信している。しかしながら、中継装置20は、別の中継装置20等を介して、情報収集装置30に送信してもよい。
【0013】
情報収集装置30は、検出情報を収集するパーソナルコンピュータやサーバ装置やクラウド等である。情報収集装置30は、中継装置20から検出情報を受信する。そして、情報収集装置30は、検出情報を使用して監視対象のエリアを監視する。
【0014】
次に、通信システム1の各種装置のハードウェア構成について説明する。
【0015】
図2は、発信機10のハードウェア構成の一例を示すブロック図である。発信機10は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、記憶部104と、第1通信部105と、検出部106とを備える。これら各部は、バスラインを介して通信可能に相互に接続されている。
【0016】
CPU101は、発信機10の動作を統括的に制御するプロセッサである。ROM102は、各種プログラムやデータを記憶する記憶媒体である。RAM103は、各種プログラムや各種データを一時的に記憶する記憶媒体である。そして、CPU101は、RAM103をワークエリアとしてROM102又は記憶部104等に格納されたプログラムを実行する。すなわち、CPU101、ROM102、及びRAM103は、発信機10を制御するコンピュータである。
【0017】
記憶部104は、フラッシュメモリなどの記憶装置である。
【0018】
第1通信部105は、中継装置20との通信を実行するインタフェースである。例えば、第1通信部105は、BLEビーコンにより検出情報を送信する。なお、第1通信部105は、BLEビーコンに限らず、他の方式により検出情報を送信してもよい。
【0019】
検出部106は、センサである。例えば、検出部106は、温度や、湿度や、照度や、電流値や、水位や、物体の有無などを検出する。なお、検出部106は、複数のセンサを備えていてもよい。この場合、発信機10は、複数のセンサが検出した複数の検出値を有する検出情報を送信してもよいし、センサ毎に別々に検出情報を送信してもよい。
【0020】
図3は、中継装置20のハードウェア構成の一例を示すブロック図である。中継装置20は、CPU201と、ROM202と、RAM203と、記憶部204と、第1通信部205と、第2通信部206とを備える。これら各部は、バスラインを介して通信可能に相互に接続されている。
【0021】
CPU201は、中継装置20の動作を統括的に制御するプロセッサである。ROM202は、各種プログラムやデータを記憶する記憶媒体である。RAM203は、各種プログラムや各種データを一時的に記憶する記憶媒体である。そして、CPU201は、RAM203をワークエリアとしてROM202又は記憶部204等に格納されたプログラムを実行する。すなわち、CPU201、ROM202、及びRAM203は、中継装置20を制御するコンピュータである。
【0022】
記憶部204は、フラッシュメモリなどの記憶装置である。記憶部204は、各発信機10から受信した検出情報を、発信機10毎に蓄積した検出情報テーブル207を記憶する。
【0023】
図4は、検出情報テーブル207のデータ構成の一例を示す説明図である。検出情報テーブル207は、発信機コード、受信時刻、検出値、電波強度、及び受信回数が関連付けられている。発信機コードは、検出情報を送信した発信機10を識別するための識別情報である。受信時刻は、検出情報を受信した日時を示す情報である。検出値は、検出情報が有する検出値である。電波強度は、検出情報の受信時の電波強度である。受信回数は、中継装置20が検出情報を前回送信してから、現時点までに検出情報を受信した回数である。
【0024】
第1通信部205は、発信機10との通信を実行するインタフェースである。例えば、第1通信部205は、BLEビーコンにより検出情報を受信する。なお、第1通信部205は、BLEビーコンに限らず、他の方式により検出情報を受信してもよい。
【0025】
第2通信部206は、情報収集装置30や他の中継装置20との通信を実行するインタフェースである。例えば、第2通信部206は、Wi−Fi(登録商標)や無線LAN(Local Area Network)などにより情報を送信する。なお、第2通信部206は、Wi−Fi(登録商標)や無線LANに限らず、他の通信方式により情報を送信してもよい。
【0026】
図5は、情報収集装置30のハードウェア構成の一例を示すブロック図である。情報収集装置30は、CPU301と、ROM302と、RAM303と、記憶部304と、第2通信部305と、操作部306と、表示部307とを備える。これら各部は、バスラインを介して通信可能に相互に接続されている。
【0027】
CPU301は、情報収集装置30の動作を統括的に制御するプロセッサである。ROM302は、各種プログラムやデータを記憶する記憶媒体である。RAM303は、各種プログラムや各種データを一時的に記憶する記憶媒体である。そして、CPU301は、RAM303をワークエリアとしてROM302又は記憶部304等に格納されたプログラムを実行する。このように、CPU301、ROM302、及びRAM303は、情報収集装置30を制御するコンピュータである。
【0028】
記憶部304は、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置である。
【0029】
第2通信部305は、中継装置20との通信を実行するインタフェースである。例えば、第2通信部305は、Wi−Fi(登録商標)や無線LANなどにより情報を送信する。なお、第2通信部305は、Wi−Fi(登録商標)や無線LANに限らず、他の通信方式により情報を送信してもよい。
【0030】
操作部306は、マウスやキーボードなどの入力装置である。表示部307は、液晶ディスプレイや有機EL(Electro Luminescence)ディスプレイなどの表示装置である。
【0031】
次に、通信システム1の各種装置が備える機能構成について説明する。
図6は、通信システム1の各種装置の機能構成の一例を示すブロック図である。
【0032】
発信機10のCPU101は、記憶部104やROM102等からプログラムを読み出して、RAM103にロードする。そして、CPU101は、プログラムを実行することにより、検出制御部1001、及び送信制御部1002として機能する。なお、検出制御部1001、及び送信制御部1002の一部または全部は、ハードウェアにより構成されていてもよい。
【0033】
検出制御部1001は、検出部106を制御して、検出値を取得する。更に詳しくは、検出制御部1001は、一定期間が経過する度に検出値を取得する。
【0034】
送信制御部1002は、検出制御部1001が取得した検出値と、自装置を示す発信機コードとを有する検出情報を送信する。更に詳しくは、送信制御部1002は、事前に設定された間隔が経過する毎に、検出情報を送信する。また、送信制御部1002は、検出値に応じて検出情報を送信する間隔を変更してもよい。例えば、送信制御部1002は、検出値が急激に変化した場合や、閾値を超えた場合などに、送信間隔を短くしてもよい。
【0035】
中継装置20のCPU201は、記憶部204やROM202等からプログラムを読み出して、RAM203にロードする。そして、CPU201は、プログラムを実行することにより、受信制御部2001、記憶制御部2002、送信判定部2003、及び送信制御部2004として機能する。なお、受信制御部2001、記憶制御部2002、送信判定部2003、及び送信制御部2004の一部または全部は、ハードウェアにより構成されていてもよい。
【0036】
受信制御部2001は、受信部の一例である。受信制御部2001は、発信機10が発信した検出情報を複数回受信する。更に詳しくは、受信制御部2001は、発信機10が一定期間毎に送信した検出情報を受信する。これにより、受信制御部2001は、同一の発信機10から検出情報を複数回受信する。
【0037】
記憶制御部2002は、記憶部の一例である。記憶制御部2002は、受信制御部2001が複数回受信した検出情報を記憶する。更に詳しくは、記憶制御部2002は、受信制御部2001が複数回受信した検出情報を、発信機10毎に記憶する。
【0038】
また、記憶制御部2002は、受信制御部2001が同一の発信機10から複数回受信した検出情報のうち、検出情報テーブル207に記憶させる条件である記憶条件に基づいて、検出情報テーブル207に検出情報を記憶させる。記憶条件は、最新設定と、初回設定とから選択することが可能になっている。
【0039】
最新設定は、所定期間内に同一の発信機10から複数回受信した検出情報のうち、最後に受信した検出情報を情報収集装置30に提供する設定である。例えば、記憶制御部2002は、室温などを定期的に検出したい場合に最新設定に設定される。更に詳しくは、記憶制御部2002は、受信制御部2001が検出情報を受信する度に、受信した検出情報が有する発信機コード、受信時刻、検出情報が有する検出値、及び電波強度を上書きすることで、検出情報テーブル207に記憶させる。さらに、記憶制御部2002は、受信回数をカウントアップする。これにより、検出情報テーブル207には、最新の検出情報が記憶される。
【0040】
初回設定は、所定期間内に同一の発信機10から複数回受信した検出情報のうち、最初に受信した検出情報を情報収集装置30に提供する設定である。例えば、装置の異常を検出する場合等には検出値が変化した時刻が知りたい。このような場合に、記憶制御部2002は、初回設定に設定される。更に詳しくは、記憶制御部2002は、受信制御部2001が検出情報を受信した場合に、既に送信元の発信機10の検出情報が検出情報テーブル207に記憶済みであるか否かを判定する。検出情報テーブル207に記憶されていない場合に、記憶制御部2002は、受信した検出情報が有する発信機コード、受信時刻、検出情報が有する検出値、及び電波強度を検出情報テーブル207に記憶させる。さらに、記憶制御部2002は、受信回数をカウントアップする。一方、既に検出情報テーブル207に記憶されている場合に、発信機コード、受信時刻、検出値、及び電波強度については記憶させない。そして、記憶制御部2002は、受信回数をカウントアップする。これにより、検出情報テーブル207には、初回の検出情報が記憶される。
【0041】
なお、記憶制御部2002は、最初に受信した検出情報と、最後に受信した検出情報との何れか一方に限らず、最初及び最後に受信した両方の検出情報を記憶してもよい。さらに、記憶制御部2002は、最初及び最後に限らず、中間に受信した検出情報を記憶してもよい。
【0042】
また、記憶制御部2002は、送信制御部2004が検出情報を送信した場合に、送信した検出情報の発信機10の情報を検出情報テーブル207から削除する。
【0043】
送信判定部2003は、送信制御部2004に検出情報を送信させる送信条件が満たされたか否かを判定する。そして、送信判定部2003は、送信条件が満たされたと判定した場合に、送信制御部2004に検出情報の送信を指示する。なお、送信条件には、個別設定と、全体設定とがある。
【0044】
個別設定とは、発信機10毎に、検出情報を受信してから設定時間が経過した場合に送信条件が満たされたと判定する設定である。送信判定部2003は、発信機10毎に設定された設定時間が経過する度に、設定時間に対応した発信機10の検出情報を送信する送信条件が満たされたと判定する。具体的には、送信判定部2003は、検出情報テーブル207が有する受信時刻から設定時間が経過した場合に、受信時刻に対応した検出情報の送信条件が満たされたと判定する。
【0045】
全体設定とは、複数の発信機10で共通の設定時間が経過した場合に送信条件が満たされたと判定する設定である。送信判定部2003は、複数の発信機10で共通の設定時間が経過する度に、全ての発信機10の検出情報を送信する送信条件が満たされたと判定する。具体的には、送信判定部2003は、送信制御部2004が前回検出情報を送信してから設定時間が経過した場合に、検出情報の送信条件が満たされたと判定する。
【0046】
また、送信判定部2003は、設定時間を変更する変更条件が満たされた場合に、変更後の設定時間が経過する度に、検出情報の送信条件が満たされたと判定する。変更条件には、任意の内容を設定することができる。例えば、変更条件は、検出値に対する閾値である。送信判定部2003は、変更条件が示す閾値以上の検出値を有する検出情報を受信した場合に、変更後の設定時間が経過する度に、検出情報の送信条件が満たされたと判定する。また、送信判定部2003は、設定時間を変更する変更条件が満たされなくなった場合に、設定時間をもとに戻す。例えば、送信判定部2003は、変更条件が示す閾値以上の検出値を有する検出情報を所定期間内受信していない場合に、変更条件が満たされなくなったと判定する。
【0047】
また、発信機10は、検出情報の送信頻度を変更する場合や、他の中継装置20が中継した検出情報を受信する場合、一定期間内に検出情報を受信する受信回数が変動する場合がある。このような場合に、変更条件は、受信回数であってもよい。送信判定部2003は、変更条件が示す受信回数以上に検出情報を受信した場合に、変更後の設定時間が経過する度に、検出情報の送信条件が満たされたと判定する。
【0048】
送信制御部2004は、送信部の一例である。送信制御部2004は、記憶制御部2002が記憶した検出情報のうち、選択された検出情報を送信する。更に詳しくは、送信制御部2004は、記憶制御部2002が発信機10毎に記憶した検出情報のうち、発信機10毎に選択された検出情報を送信する。すなわち、送信制御部2004は、発信機コードと検出値とを有する検出情報を送信する。なお、送信制御部2004は、どの発信機10の検出値を送信しているかを特定可能な場合には、発信機コードが含まれない検出情報を送信してもよい。さらに、送信制御部2004は、受信時刻や、電波強度や、受信回数や等の情報を有する検出情報を送信してもよい。
【0049】
ここで、記憶制御部2002は、記憶条件に基づいて、複数回受信した検出情報から選択した検出情報を検出情報テーブル207に記憶させる。そして、送信制御部2004は、検出情報テーブル207に記憶された検出情報を送信する。言い換えると、記憶条件は、複数回受信した検出情報から、送信対象の検出情報を選択する選択条件である。すなわち、送信制御部2004は、送信対象の検出情報を選択する選択条件に基づいて選択された検出情報を送信する。具体的には、記憶条件に初回設定が設定されている場合には、送信制御部2004は、受信制御部2001が所定の期間の最初に受信した検出情報を選択する選択条件に基づいて選択された検出情報を送信する。また、記憶条件に最新設定が設定されている場合には、送信制御部2004は、受信制御部2001が所定の期間の最後に受信した検出情報を選択する選択条件に基づいて選択された検出情報を送信する。
【0050】
発信機10と中継装置20との間よりも、中継装置20と情報収集装置30との間の方が、装置間の通信速度が遅い場合がある。この場合、中継装置20は、発信機10から受信した検出情報の全てを情報収集装置30に送信しようとしても、中継装置20と情報収集装置30との間の通信速度が遅いため送信することができない。中継装置20は、発信機10から複数回受信した検出情報のうち、選択した一部の検出情報を送信することで、遅い通信速度の通信方式を採用することができる。
【0051】
また、送信制御部2004は、送信判定部2003が送信条件を満たしていると判定した場合に、発信機10毎に選択された検出情報を送信する。すなわち、送信制御部2004は、設定時間が経過する度に、選択された検出情報を送信する。具体的には、送信制御部2004は、送信条件に個別設定が設定されている場合には、発信機10毎に設定された設定時間が経過する度に、設定時間に対応した発信機10の検出情報を送信する。
【0052】
また、送信制御部2004は、送信条件に全体設定が設定されている場合には、複数の発信機10で共通の設定時間が経過する度に、発信機10毎に選択された検出情報を送信する。なお、送信制御部2004は、発信機10毎に設定時間を測定してもよいし、発信機10で共通して設定時間を測定してもよい。発信機10毎に設定時間を測定する場合、送信制御部2004は、設定時間が経過する度に、該当する発信機10の検出情報を送信する。発信機10で共通した設定時間を測定する場合、送信制御部2004は、設定時間が経過する度に、全ての発信機10の検出情報を送信する。
【0053】
ここで、送信判定部2003は、設定時間を変更する変更条件が設定されている場合に、変更後の設定時間が経過する度に、検出情報の送信条件が満たされたと判定する。よって、送信制御部2004は、設定時間を変更する変更条件が設定されている場合には、変更後の設定時間が経過する度に、選択された検出情報を送信する。具体的には、変更条件として検出値に対する閾値が設定されると、送信制御部2004は、変更条件が示す閾値以上の検出値を有する検出情報を受信した場合に、変更後の設定時間が経過する度に、選択された検出情報を送信する。また、変更条件として検出情報の受信回数が設定されると、送信制御部2004は、変更条件が示す受信回数以上に検出情報を受信した場合に、変更後の設定時間が経過する度に、選択された検出情報を送信する。なお、送信制御部2004は、検出値や受信回数に限らず、電波強度等の他の要件に基づいて、設定時間を変更してもよい。
【0054】
情報収集装置30のCPU301は、記憶部304やROM302等からプログラムを読み出して、RAM303にロードする。そして、CPU301は、プログラムを実行することにより、受信制御部3001、及び記憶制御部3002として機能する。なお、受信制御部3001、及び記憶制御部3002の一部または全部は、ハードウェアにより構成されていてもよい。
【0055】
受信制御部3001は、中継装置20から検出情報を受信する。
【0056】
記憶制御部3002は、受信制御部3001が受信した検出情報を記憶部304等に記憶させる。
【0057】
次に、通信システム1による通信処理を説明する。
【0058】
図7は、本実施形態に係る通信システム1が実行する通信処理の一例を示すフローチャートである。なお、
図7に示す通信処理は、送信判定部2003において変更条件が設定されていない場合の処理である。
【0059】
発信機10の検出制御部1001は、検出部106からの出力に基づいて、検出値を取得する(ステップS11)。発信機10の送信制御部1002は、取得した検出値を有する検出情報を中継装置20に送信する(ステップS12)。
【0060】
中継装置20の受信制御部2001は、発信機10から送信された検出情報を受信する(ステップS13)。中継装置20の記憶制御部2002は、受信した検出情報を検出情報テーブル207に記憶させる(ステップS14)。
【0061】
中継装置20の送信判定部2003は、検出情報を送信する送信条件が満たされたか否かを判定する(ステップS15)。例えば、送信判定部2003は、1秒毎のように、所定間隔ごとに送信条件が満たされたか否かを判定する。送信条件が満たされていない場合に(ステップS15;No)、中継装置20は、ステップS13に移行する。
【0062】
送信条件が満たされた場合に(ステップS15;Yes)、送信制御部2004は、複数回受信した検出情報のうち、発信機10毎に選択された検出情報を情報収集装置30に送信する(ステップS16)。また、中継装置20の記憶制御部2002は、送信した検出情報を検出情報テーブル207から削除する(ステップS17)。
【0063】
情報収集装置30の受信制御部3001は、検出情報を受信する(ステップS18)。情報収集装置30の記憶制御部3002は、受信した検出情報を記憶部304等に記憶させる(ステップS19)。
【0064】
以上により、通信システム1は、通信処理を終了する。
【0065】
図8は、本実施形態に係る通信システム1が実行する通信処理の一例を示すフローチャートである。なお、
図8に示す通信処理は、送信判定部2003において変更条件が設定されている場合の処理である。
【0066】
発信機10は、ステップS21及びステップS22において、
図7に示すステップS11及びステップS12と同様の処理を実行する。
【0067】
中継装置20は、ステップS23及びステップS24において、
図7に示すステップS13及びステップS14と同様の処理を実行する。
【0068】
中継装置20の送信判定部2003は、検出情報を送信する間隔である設定時間を変更する変更条件が満たされているか否かを判定する(ステップS25)。変更条件が満たされていない場合に(ステップS25;No)、送信判定部2003は、ステップS27に移行する。
【0069】
変更条件が満たされている場合に(ステップS25;Yes)、送信判定部2003は、設定時間を変更する(ステップS26)。
【0070】
中継装置20の送信判定部2003は、検出情報を送信する送信条件が満たされたか否かを判定する(ステップS27)。すなわち、変更条件が満たされた場合に、送信判定部2003は、変更後の設定時間が経過したか否かを判定する。一方、変更条件が満たされていない場合に、送信判定部2003は、変更前の設定時間が経過したか否かを判定する。
【0071】
送信条件が満たされていない場合に(ステップS27;No)、中継装置20は、ステップS23に移行する。送信条件が満たされている場合に(ステップS27;Yes)、中継装置20は、ステップS28に移行する。
【0072】
中継装置20は、ステップS28及びステップS29において、
図7に示すステップS16及びステップS17と同様の処理を実行する。
【0073】
情報収集装置30は、ステップS30及びステップS31において、
図7に示すステップS18及びステップS19と同様の処理を実行する。
【0074】
以上により、通信システム1は、通信処理を終了する。
【0075】
以上のように、本実施形態に係る中継装置20によれば、受信制御部2001は、発信機10が検出した検出値を有する検出情報を複数回受信する。記憶制御部2002は、受信制御部2001が複数回受信した検出情報を発信機10毎に検出情報テーブル207に記憶する。送信制御部2004は、記憶制御部2002が発信機10毎に記憶した検出情報のうち、発信機10毎に選択された検出情報を送信する。よって、中継装置20は、発信機10が複数回送信した検出情報の何れかを受信することができなくても、他の検出情報を情報収集装置30に送信することができる。よって、中継装置20は、情報の到達率を向上させることができる。
【0076】
本実施形態の中継装置20で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。また、本実施形態の中継装置20で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の中継装置20で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ROM202等に予め組み込んで提供するように構成してもよい。
【0077】
以上、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。実施形態は、種々の変更を行うことができる。