[第1実施形態]
図1は本発明の第1実施形態に係るシステム1の構成を示した図である。システム1はn個のセンサデバイス11−1、11−2、・・・、11−n(ただし、nは任意の自然数)と、第1サーバ装置12と、分析装置13と、n個の第2サーバ装置14−1、14−2、・・・、14−nと、n個の端末装置15−1、15−2、・・・、15−nと、第3サーバ装置16を備える。
センサデバイス11−1、11−2、・・・、11−nの各々は、センサにより検知対象の属性等の検知を行い、検知の結果(センサが検知した結果又は当該結果を用いて生成した情報)を示す検知結果データを出力する装置である。センサデバイス11−1、11−2、・・・、11−nの各々が備えるセンサの種類及び当該センサの検知対象の種類は画像センサ、温度センサ、加速度センサ等のいずれであってもよい。また、センサデバイス11−1、11−2、・・・、11−nの各々が備えるセンサの種類及び当該センサの検知対象の種類が互いに同じでも異なっていてもよい。以下、センサデバイス11−1、11−2、・・・、11−nを総称してセンサデバイス11という。センサデバイス11の各々は第1サーバ装置12との間でデータ通信を行う。
第1サーバ装置12は、センサデバイス11の各々から出力される検知結果データを蓄積し、分析装置13に提供するサーバ装置である。システム1が備える第1サーバ装置12の数は1つに限られず、2以上であってもよい。システム1が備える第1サーバ装置12の数が2以上である場合、センサデバイス11の各々は、2以上の第1サーバ装置12のいずれとの間でデータ通信を行ってもよい。また、システム1が備える第1サーバ装置12の数が2以上である場合、2以上の第1サーバ装置12が互いに蓄積している検知結果データを送受信し合ってもよい。
分析装置13は、第1サーバ装置12から検知結果データを受信し、受信した検知結果データを用いて各種のデータ分析を行う。システム1が備える分析装置13の数は1つに限られず、2以上であってもよい。
第2サーバ装置14−1、14−2、・・・、14−nの各々は、センサデバイス11−1、11−2、・・・、11−nの各々に対し、動作の規則を示す規則データを送信するサーバ装置である。規則データは、例えば、ファームウェア等のプログラム、プログラムに従うデータ処理において用いられるパラメータ等を示す。以下、第2サーバ装置14−1、14−2、・・・、14−nを総称して第2サーバ装置14という。第2サーバ装置14の2以上が1つのサーバ装置により実現されてもよい。すなわち、2以上のセンサデバイス11に対し、それらの2以上のセンサデバイス11に対応する第2サーバ装置14の役割を果たす1つのサーバ装置が規則データを送信してもよい。
本実施形態において、第2サーバ装置14は、規則データを送信する際、当該規則データの属性を示すメタデータを合わせて送信する。メタデータは、例えば、規則データが示す規則に従い動作するセンサデバイス11の仕様等を示す。
端末装置15−1、15−2、・・・、15−nの各々は、センサデバイス11−1、11−2、・・・、11−nの各々に接続され、接続されているセンサデバイス11に記憶されている規則データを監視する装置である。以下、端末装置15−1、15−2、・・・、15−nを総称して端末装置15という。本実施形態において、互いに接続されるセンサデバイス11と端末装置15は同じ筐体に収容される。端末装置15の各々は、監視対象の規則データの同一性を示すデータである同一性検証用データを第3サーバ装置16に送信する。
同一性検証用データは、センサデバイス11に異なる時刻(例えば、第1の時刻と第2の時刻)に記憶されていた2つの規則データが同一であるか否かを示すデータであれば、いずれの種類のデータであってもよい。すなわち、同一性検証用データは、規則データ自体、又は、規則データから一意に定まり当該規則データの同一性を示すデータである。規則データから一意に定まり当該規則データの同一性を示すデータは、規則データを可逆的に符号化したデータ、規則データを不可逆的に符号化したデータのいずれであってもよい。規則データを可逆的に符号化したデータの典型例は、規則データを暗号化したデータである。また、規則データを不可逆的に符号化したデータの典型例は、規則データのメッセージダイジェストである。
本実施形態において、端末装置15はセンサデバイス11に記憶されている監視対象の規則データのメッセージダイジェストを同一性検証用データとして第3サーバ装置16に送信するものとする。
第3サーバ装置16は、端末装置15から受信した同一性検証用データに基づきセンサデバイス11に異なる時刻(例えば、第1の時刻と第2の時刻)に記憶されていた規則データが同一であるか否かを判定し、判定の結果を示す判定結果データを分析装置13に送信するサーバ装置である。
分析装置13は、第3サーバ装置16から受信する判定結果データに基づき、第1サーバ装置12から受信した、同じセンサデバイス11によって異なる時刻に検知された結果を示す検知結果データが一貫性を有しているか否か、を判定することができる。2つの検知結果データが同じ動作規則に従いセンサデバイス11により生成された検知結果データである場合、それらの検知結果データは一貫性を有しており、2つの検知結果データが異なる動作規則に従いセンサデバイス11により生成された検知結果データである場合、それらの検知結果データは一貫性を有していない。
図2は、同じ筐体に収容され、互いに接続されたセンサデバイス11と端末装置15の構成を示した図である。センサデバイス11と端末装置15の接続方式は、バスを共有する方式、USB(Universal Serial Bus)、UART(Universal Asynchronous Receiver Transmitter)等の規格に従ったインタフェースを介して接続する方式等のいずれであってもよい。また、それらの2以上の接続方式が混在して用いられてもよい。
センサデバイス11は、通信インタフェース111、プロセッサ112、メモリ113及びセンサ114を備える。通信インタフェース111は、インターネット等の通信ネットワークを介して、外部の装置とデータ通信を行う。本実施形態において、通信インタフェース111は第1サーバ装置12及び第2サーバ装置14との間でデータ通信を行う。プロセッサ112はメモリ113に記憶されている規則データが示す規則に従い、センサ114の制御を含む各種データ処理を行う。メモリ113は、規則データ及びメタデータを含む各種データを記憶する。
センサ114はプロセッサ112の制御下で検知対象の属性等の検知を行い、検知の結果を示す検知結果データを生成する。センサ114により生成された検知結果データは、例えばメモリ113に一時的に記憶された後、通信インタフェース111を介して第1サーバ装置12に送信される。
メモリ113に記憶されている規則データは、第2サーバ装置14から受信した規則データで上書きされる場合がある。例えば、メモリ113に記憶されているファームウェアやパラメータがアップデートされた場合、センサデバイス11は第2サーバ装置14から新しいファームウェアやパラメータを受信し、メモリ113に記憶している古いファームウェアやパラメータを新しく受信したファームウェアやパラメータで置き換える。
端末装置15は、通信インタフェース151、プロセッサ152及びメモリ153を備える。通信インタフェース151は、移動通信網等の通信ネットワークを介して、外部の装置とデータ通信を行う。本実施形態において、通信インタフェース151は第3サーバ装置16との間でデータ通信を行う。プロセッサ152はメモリ153に記憶されているプログラムに従い各種データ処理を行う。メモリ153は、プロセッサ152の動作規則を示すプログラム、プロセッサ152により生成されたデータ等の各種データを記憶する。
図3は、端末装置15の機能構成を示した図である。プロセッサ152がメモリ153に記憶されているプログラムに従うデータ処理を行うことにより、図3に示される機能構成を備える端末装置15が実現される。
端末装置15は、機能構成として、取得部501、生成部502及び送信部503を備える。取得部501は、センサデバイス11を識別するデバイスID(Identifier)と、センサデバイス11のメモリ113に記憶されている監視対象の規則データと、メタデータを読み出すことにより取得する。生成部502は、取得部501により取得された規則データのメッセージダイジェス(同一性検証用データの一例)を生成する。送信部503は、生成部502により生成されたメッセージダイジェストと、取得部501により取得されたデバイスID及びメタデータを第3サーバ装置16に送信する。
なお、端末装置15が備える取得部501、生成部502及び送信部503の少なくとも一部が、プロセッサ152によるデータ処理により実現される代わりに、専用のハードウェアにより実現されてもよい。
第1サーバ装置12、分析装置13、第2サーバ装置14及び第3サーバ装置16の各々は、例えば一般的なサーバ用のコンピュータにより実現される。図4は、第1サーバ装置12、分析装置13、第2サーバ装置14及び第3サーバ装置16の各々を実現するために用いられるコンピュータ10の構成を示した図である。コンピュータ10は、通信インタフェース101、プロセッサ102及びメモリ103を備える。
通信インタフェース101は、インターネット、移動通信網等の通信ネットワークを介して、外部の装置とデータ通信を行う。本実施形態において、通信インタフェース101は端末装置15の各々と、分析装置13との間でデータ通信を行う。プロセッサ102はメモリ103に記憶されているプログラムに従い各種データ処理を行う。メモリ103は、プロセッサ102の動作規則を示すプログラム、プロセッサ102により生成されたデータ等の各種データを記憶する。
図5は、第3サーバ装置16の機能構成を示した図である。第3サーバ装置16に用いられるコンピュータ10のプロセッサ102がメモリ103に記憶されているプログラムに従うデータ処理を行うことにより、図5に示される機能構成を備える第3サーバ装置16が実現される。
第3サーバ装置16は、機能構成として、受信部601、記憶部602、判定部603及び送信部604を備える。受信部601は、端末装置15の各々からデバイスID、メッセージダイジェスト及びメタデータを受信する。記憶部602は、受信部601により受信されたデバイスID、メッセージダイジェスト及びメタデータを記憶する。
判定部603は、過去に受信部601により受信され、記憶部602に記憶されているメッセージダイジェスト(第1の時刻に関する同一性検証用データの一例)と、新たに受信部601により受信されたメッセージダイジェスト(第2の時刻に関する同一性検証用データの一例)に基づき、それらのメッセージダイジェストの生成に用いられた規則データが同一であるか否かを判定する。判定部603による判定の結果を示す判定結果データは、記憶部602に記憶される。
送信部604は、記憶部602に記憶されている判定結果データ及びメタデータを分析装置13に送信する。
なお、第3サーバ装置16が備える受信部601、記憶部602、判定部603及び送信部604の少なくとも一部が、プロセッサ102によるデータ処理により実現される代わりに、専用のハードウェアにより実現されてもよい。
第3サーバ装置16の記憶部602には、デバイスIDで識別されるセンサデバイス11の各々に応じて、判定結果データを格納するテーブルである第1テーブルと、メッセージダイジェスト及びメタデータを格納するテーブルである第2テーブルと、規則データの同一性が保たれていた期間を示す期間データを格納する第3テーブルが記憶されている。
図6は第1テーブルの構成を示した図である。第1テーブルは、フィールド[判定時刻]及び[判定結果]を備える。フィールド[判定時刻]には、判定部603によりメッセージダイジェストに基づく規則データの同一性の判定が行われた時刻を示すデータが格納される。フィールド[判定結果]には、判定部603により行われた規則データの同一性の判定の結果を示す判定結果データが格納される。第1テーブルのレコードは、例えば、判定時刻が新しい順にソートされている。
図7は第2テーブルの構成を示した図である。第2テーブルは、フィールド[メッセージダイジェストID]、[受信時刻]、[メッセージダイジェスト]及び[メタデータ]を備える。フィールド[メッセージダイジェストID]には、メッセージダイジェストを識別するメッセージダイジェストIDが格納される。
フィールド[受信時刻]には、第3サーバ装置16が、メッセージダイジェストIDにより識別されるメッセージダイジェストを最後に受信した時刻を示すデータが格納される。なお、フィールド[受信時刻]に、第3サーバ装置16が、メッセージダイジェストIDにより識別されるメッセージダイジェストを最初に受信した時刻を示すデータが格納されてもよい。第2テーブルのレコードは、例えば、受信時刻が新しい順にソートされている。
フィールド[メッセージダイジェスト]には、メッセージダイジェストIDにより識別されるメッセージダイジェストが格納される。フィールド[メタデータ]には、メッセージダイジェストの生成に用いられた規則データの属性を示すメタデータが格納される。
図8は第3テーブルの構成を示した図である。第3テーブルは、フィールド[期間]及び[メッセージダイジェストID]を備える。フィールド[期間]には、規則データの同一性が保たれていた期間、もしくは、センサデバイス11の動作が停止していた等の理由により、第3サーバ装置16が端末装置15からメッセージダイジェストを受信できず、規則データの同一性が保たれていたか否かが不明な期間を示すデータが格納される。第3テーブルのレコードは、例えば、期間が新しい順にソートされている。
フィールド[メッセージダイジェストID]には、フィールド[期間]に格納されるデータが示す期間に第3サーバ装置16が端末装置15から受信したメッセージダイジェストを識別するメッセージダイジェストIDが格納される。ただし、規則データの同一性が保たれていたか否かが不明な期間に応じたレコードのフィールド[メッセージダイジェストID]にはNull値が格納される。
端末装置15と第3サーバ装置16は、例えば所定時間の経過等のイベントの発生に応じて、図9に示すシーケンスに従った処理を行う。
まず、取得部501は、センサデバイス11のメモリ113からデバイスID、規則データ及びメタデータを読み出すことにより取得する(ステップS101)。続いて、生成部502は、取得部501により取得された規則データのメッセージダイジェストを生成する(ステップS102)。続いて、送信部503は、ステップS102において生成部502により生成されたメッセージダイジェストと、ステップS101において取得部501により取得されたデバイスID及びメタデータを、第3サーバ装置16に送信する(ステップS103)。
第3サーバ装置16の受信部601は、ステップS103において端末装置15が送信したデバイスID、メッセージダイジェスト及びメタデータを受信する(ステップS104)。続いて、判定部603は、受信部601により受信されたメッセージダイジェストと、受信部601により受信されたデバイスIDに応じた第2テーブルの受信時刻が最新のレコードに格納されているメッセージダイジェストが同一であるか否かを判定する(ステップS105)。
続いて、判定部603は、判定の結果を示す判定結果データを、受信部601により受信されたデバイスIDに応じた第1テーブルに記憶する(ステップS106)。具体的には、判定部603は、受信部601により受信されたデバイスIDに応じた第1テーブルに新しいレコードを追加し、現在時刻を示すデータを新たなレコードのフィールド[判定時刻]に格納し、フィールド[判定結果]に判定結果データを格納する。
続いて、判定部603は、判定の結果に応じて、受信部601により受信されたデバイスIDに応じた第2テーブル及び第3テーブルを更新する(ステップS107)。具体的には、まず第2テーブルに関し、判定部603は、ステップS105において比較した2つのメッセージダイジェストが同じであれば、最新のレコードのフィールド[受信時刻]のデータを、現在時刻を示すデータに変更する。一方、判定部603は、ステップS105において比較した2つのメッセージダイジェストが異なっていれば、第2テーブルに新たなレコードを追加し、新たなレコードのフィールド[メッセージダイジェストID]にユニークな新たなメッセージダイジェストIDを、フィールド[受信時刻]に現在時刻を示すデータを、フィールド[メッセージダイジェスト]にステップS104において受信したメッセージダイジェストを、また、フィールド[メタデータ]にステップS104において受信したメタデータを各々格納する。
次に、第3テーブルに関し、判定部603は、最新のレコードの期間の終期が現在時刻より所定時間以上前であれば、それまでの間、センサデバイス11の動作停止等の理由でメッセージダイジェストが得られなかったものと判定し、第3テーブルに新たなレコードを追加し、新たなレコードのフィールド[期間]に規則データの同一性が確認できなかった期間を示すデータを格納し、フィールド[メッセージダイジェストID]にNull値を格納する。その上で、さらに第3テーブルに新たなレコードを追加し、新たなレコードのフィールド[期間]に、現在時刻を始期とし終期未定の期間を示すデータを格納し、フィールド[メッセージダイジェストID]に、第3テーブルの最新のレコードに格納されているメッセージダイジェストIDを格納する。
また、判定部603は、第3テーブルの最新のレコードの期間の終期より現在時刻まで所定時間未満しか経過しておらず、ステップS105において比較した2つのメッセージダイジェストが同じであれば、第3テーブルの最新のレコードのフィールド[期間]のデータが示す期間の終期が現在時刻となるように、当該フィールドのデータを変更する。
また、判定部603は、第3テーブルの最新のレコードの期間の終期より現在時刻まで所定時間未満しか経過しておらず、ステップS105において比較した2つのメッセージダイジェストが異なっていれば、第3テーブルに新たなレコードを追加し、新たなレコードのフィールド[期間]に、現在時刻を始期とし終期未定の期間を示すデータを格納し、フィールド[メッセージダイジェストID]に、第3テーブルの最新のレコードに格納されているメッセージダイジェストIDを格納する。
以上が、端末装置15及び第3サーバ装置16により行われる、図9に示すシーケンスに従う処理の説明である。
分析装置13は、例えばユーザの指示等に応じて、第1サーバ装置12から分析に必要な検知結果データを受信する。分析装置13が第1サーバ装置12から受信する検知結果データには、その検知結果データを生成したセンサデバイス11を識別するデバイスIDと、その検知結果データが生成された時刻を示す検知時刻データが伴っている。分析装置13は、第1サーバ装置12から受信したデータを分析に用いるために一時的に記憶する。
図10は、分析装置13が第1サーバ装置12から受信したデータを蓄積するために用いる第4テーブルの構成を示した図である。第4テーブルは、フィールド[デバイスID]、[検知時刻]、[検知結果]、[メッセージダイジェストID]及び[メタデータ]を備える。フィールド[デバイスID]には、検知結果データに伴うデバイスIDが格納される。フィールド[検知時刻]には、検知結果データに伴う検知時刻データが格納される。フィールド[検知結果]には、検知結果データが格納される。
分析装置13は、第1サーバ装置12から検知結果データを受信すると、受信した検知結果データに伴うデバイスID及び検知時刻データの対をレコードとするテーブルを含む要求を第3サーバ装置16に送信する。第3サーバ装置16は、第1サーバ装置12からの要求に含まれるテーブルに格納されているレコードの各々に関し、デバイスIDに応じた第3テーブルから、検知時刻データが示す時刻を含む期間に応じたレコードを検索し、検索したレコードのフィールド[メッセージダイジェストID]を特定する。
続いて、第3サーバ装置16は、デバイスIDに応じた第2テーブルから、上記のように特定したメッセージダイジェストIDに応じたレコードを検索し、検索したレコードのフィールド[メタデータ]に格納されているデータを読み出す。
第3サーバ装置16は、分析装置13からの要求に含まれるテーブルのレコードの各々に関し、上記のように検索したメッセージダイジェストIDとメタデータを追加したテーブルを生成し、生成したテーブルを分析装置13に送信する。
分析装置13は、要求に応じて第3サーバ装置16から送信されてくるテーブルに含まれるメッセージダイジェストID及びメタデータを、第4テーブルの対応するレコードのフィールド[メッセージダイジェストID]及び[メタデータ]に格納する。
第4テーブルに格納されている検知結果データのうち、同じメッセージダイジェストIDに対応付けられている検知結果データは、互いに一貫性がある検知結果データである。従って、分析装置13は、第1サーバ装置12から受信した検知結果データ間の一貫性の有無を容易に認識することができる。分析装置13は、例えば、第4テーブルのレコードをメッセージダイジェストIDによりグループ化することによって、互いに一貫性のある検知結果データに区分し、互いに一貫性のある検知結果データを用いた分析を行う。その結果、分析装置13により、高い精度で分析が行われる。
なお、従来技術において、分析装置13は第1サーバ装置12から受信した検知結果データの間に一貫性があるか否かを認識するためには、検知結果データを生成したセンサデバイス11の管理者により管理されるWebページからファームウェアやパラメータ等の規則データの更新に関する情報を取得する必要がある。その場合、分析装置13は異なるセンサデバイス11の各々に関する情報を取得するために多数のWebページを訪問する必要がある。従って、分析処理を高速に行うことができない。システム1によれば、分析装置13は迅速に、検知結果データの間の一貫性の有無を判定することができる。
また、従来技術において、センサデバイス11の各々の管理者により提供される、ファームウェアやパラメータ等の規則データの更新に関する情報の信頼性は保証されない。システム1によれば、高い頻度で、実際にセンサデバイス11に記憶されている規則データの同一性の有無が確認される。従って、分析装置13が、規則データの更新に関する誤った情報に従い不正確な分析を行う危険性がない。
[第2実施形態]
以下に本発明の第2実施形態に係るシステムを説明する。第1実施形態に係るシステムにおいては、第3サーバ装置16において規則データの同一性の判定が行われる。一方、第2実施形態に係るシステムにおいては、規則データの同一性の判定が端末装置15において行われる。
第2実施形態に係るシステムは第1実施形態に係るシステム1と多くの点で共通している。従って、以下に第2実施形態に係るシステムが第1実施形態に係るシステム1と異なる点を説明し、共通する点はその説明を省略する。
第2実施形態に係るシステムの全体構成は、図1に示される第1実施形態に係るシステム1と同じである。また、第2実施形態に係るシステムが備えるセンサデバイス及び端末装置の構成は、図2に示される第1実施形態に係るセンサデバイス11及び端末装置15の構成と同じである。また、第2実施形態に係るシステムが備える第3サーバ装置16等のハードウェアとして使用されるコンピュータの構成は、図4に示される第1実施形態に係るコンピュータ10の構成と同じである。従って、以下の説明において、第2実施形態に係るシステム及びその構成部には、第1実施形態において用いた符号を用いる。
また、第2実施形態に係る端末装置15の機能構成は、図3に示される第1実施形態に係る端末装置15の機能構成と類似している。従って、第2実施形態に係る端末装置15の機能構成部のうち、第1実施形態に係る端末装置15の機能構成部と共通又は対応するものには、第1実施形態において用いた符号を用いる。また、第2実施形態に係る第3サーバ装置16の機能構成は、図5に示される第1実施形態に係る第3サーバ装置16の機能構成と類似している。従って、第2実施形態に係る第3サーバ装置16の機能構成部のうち、第1実施形態に係る第3サーバ装置16の機能構成部と共通又は対応するものには、第1実施形態において用いた符号を用いる。
図11は、第2実施形態に係る端末装置15の機能構成を示した図である。第2実施形態に係る端末装置15は、機能構成として、取得部501、記憶部511、判定部512及び送信部503を備える。取得部501は、センサデバイス11のメモリ113に記憶されているデバイスIDと、監視対象の規則データを読み出すことにより取得する。記憶部511は、取得部501により最後に取得された規則データを記憶する。
なお、第2実施形態において、センサデバイス11は第2サーバ装置14からメタデータを受信しないものとする。従って、第2実施形態において、端末装置15はメタデータをメモリ113から読み出すことはなく、第3サーバ装置16にメタデータを送信することもない。また、第2実施形態において、第3サーバ装置16はメタデータの記憶及び分析装置13への送信を行わないものとする。ただし、第2実施形態において、第1実施形態と同様に、センサデバイス11が第2サーバ装置14からメタデータを受信し、端末装置15経由でメタデータが第3サーバ装置16に送信されてもよい。また、第3サーバ装置16が、分析装置13に対しメタデータを送信してもよい。
判定部512は、過去に取得部501により取得され、記憶部511に記憶されている規則データ(第1の時刻に関する同一性検証用データの一例)と、新たに取得部501により取得された規則データ(第2の時刻に関する同一性検証用データの一例)が同一であるか否かを判定する。送信部503は、判定部512による判定の結果を示す判定結果データと、判定の時刻(現在時刻)を示す判定時刻データと、取得部501により取得されたデバイスIDを、第3サーバ装置16に送信する。
図12は、第2実施形態に係る第3サーバ装置16の機能構成を示した図である。第2実施形態に係る第3サーバ装置16は、機能構成として、受信部601、記憶部602、期間特定部611及び送信部604を備える。受信部601は、端末装置15の各々からデバイスID、判定結果データ及び判定時刻データを受信する。記憶部602は、受信部601により受信された判定結果データ及び判定時刻データを記憶する。
期間特定部611は、記憶部602に記憶されている判定結果データ及び判定時刻データに基づき、規則データの同一性が保たれていた期間を特定する。期間特定部611により特定された期間を示す期間データは記憶部602に記憶される。送信部604は、記憶部602に記憶されている期間データを分析装置13に送信する。
第2実施形態に係る第3サーバ装置16の記憶部602には、図6に示される構成の第1テーブルが記憶されている。第3サーバ装置16は、端末装置15から受信した判定時刻データ及び判定結果データを、それらのデータと共に受信したデバイスIDに応じた第1テーブルに、順次格納する。
また、第2実施形態に係る第3サーバ装置16の記憶部602には、図8に示される構成の第3テーブルに代えて、図13に示される構成の第3テーブルが記憶されている。第2実施形態に係る第3テーブルは、フィールド[期間]及び[同一性]を備える。
第2実施形態に係る第3テーブルのフィールド[期間]には、規則データの同一性が保たれていた期間又は同一性が保たれていたか否かが不明な期間を示すデータが格納される。また、第2実施形態に係る第3テーブルのフィールド[同一性]には、規則データの同一性が保たれていたことを示す「有」、又は、同一性が保たれていたか否かが不明であることを示す「不明」が格納される。なお、第2実施形態において、第2テーブル(図7参照)は利用されない。
図14は、第2実施形態において、端末装置15及び第3サーバ装置16が、例えば所定時間の経過等のイベントの発生に応じて行う処理のシーケンスを示した図である。まず、取得部501は、センサデバイス11のメモリ113からデバイスID及び規則データを読み出すことにより取得する(ステップS201)。続いて、判定部512は、取得部501により取得された規則データと記憶部511に記憶されている規則データが同一であるか否かを判定し、判定結果を示す判定結果データと、判定時刻を示す判定時刻データを生成する(ステップS202)。なお、判定時刻データは、例えば、判定が行われた時点における現在時刻を示す。
続いて、判定部512は、記憶部511に記憶されている規則データを、取得部501により取得された規則データで書き換える(ステップS203)。なお、ステップS202において比較対象の2つの規則データが一致した場合、ステップS203の処理は行われなくてもよい。
続いて、送信部503は、取得部501により取得されたデバイスIDと、判定部512により生成された判定時刻データ及び判定結果データを、第3サーバ装置16に送信する(ステップS204)。
第3サーバ装置16の受信部601は、ステップS204において端末装置15が送信したデバイスID、判定時刻データ及び判定結果データを受信する(ステップS205)。記憶部602は、受信部601により受信されたデバイスIDに応じた第1テーブルに新たなレコードを追加し、新たなレコードに、受信部601により受信された判定時刻データ及び判定結果データを格納する(ステップS206)。
続いて、期間特定部611は、受信部601により受信されたデバイスIDに応じた第1テーブルに格納されているデータに基づき、規則データの同一性が保たれていた期間及び同一性が保たれていたか否かが不明な期間を特定する(ステップS207)。期間特定部611は、特定した期間を示す期間データと、特定した期間において規則データの同一性が保たれていたか、もしくは規則データの同一性が保たれていたか否かが不明であるか、と示すデータを生成し、生成したそれらのデータを用いて第3テーブルを更新する(ステップS208)。
以上が、第2実施形態に係る端末装置15及び第3サーバ装置16が図14に示されるシーケンスに従い行う処理の説明である。
第2実施形態において、分析装置13は、例えばユーザの指示等に応じて、第1サーバ装置12から分析に必要な検知結果データを受信する。分析装置13が第1サーバ装置12から受信する検知結果データには、その検知結果データを生成したセンサデバイス11を識別するデバイスIDと、その検知結果データが生成された時刻を示す検知時刻データが伴っている。分析装置13は、第1サーバ装置12から受信したデータを分析に用いるために一時的に記憶する。
続いて、分析装置13は、分析に用いる検知結果データに伴うデバイスIDのリストを含む要求を第3サーバ装置16に送信する。第3サーバ装置16は、分析装置13から送信されてくる要求に含まれるリスト中のデバイスIDの各々に関し、デバイスIDに応じた第3テーブルを記憶部602から読み出し、分析装置13に送信する。
分析装置13は、要求に応じて第3サーバ装置16から送信されてくる第3テーブルを受信する。分析装置13は、第3サーバ装置16から受信した第3テーブルに格納されているデータに基づき、分析に用いる検知結果データの間の一貫性を認識することができる。
[第3実施形態]
以下に本発明の第3実施形態に係るシステム2を説明する。第1実施形態に係るシステム1においては、センサデバイス11により生成された検知結果データは第1サーバ装置12に送信され、センサデバイス11が当該検知結果データを生成した時点でセンサデバイス11に記憶されていた規則データに関する同一性検証用データは第1サーバ装置12とは異なる第3サーバ装置16に送信される。
これに対し、第3実施形態にかかるシステム2においては、センサデバイス11により生成された検知結果データに対し、端末装置15において同一性検証用データが対応付けられる。そして、同一性検証用データの付加された検知結果データが端末装置15から第1サーバ装置12に送信される。
システム2は第1実施形態に係るシステム1と多くの点で共通している。従って、以下にシステム2が第1実施形態に係るシステム1と異なる点を説明し、共通する点はその説明を省略する。
また、システム2が備える構成部のうち、第1実施形態に係るシステム1が備える構成部と共通又は対応する構成部には、第1実施形態において用いた符号を用いる。
図15は、システム2の構成を示した図である。システム2は、システム1が備える第3サーバ装置16を備えない。また、システム2が備えるセンサデバイス11は第1サーバ装置12とデータ通信を行わず、端末装置15が第1サーバ装置12とデータ通信を行う。
図16は、システム2が備える端末装置15の機能構成を示した図である。端末装置15は、機能構成として、取得部501、生成部502、電子署名部521及び送信部503を備える。取得部501はセンサデバイス11が出力する検知結果データを取得する。また、取得部501は、センサデバイス11のメモリ113に記憶されているデバイスIDと、監視対象の規則データを読み出すことにより取得する。
生成部502は、取得部501により取得された規則データのメッセージダイジェス(同一性検証用データの一例)を生成する。電子署名部521は、端末装置15の管理者に固有の公開鍵暗号方式における秘密鍵SKを記憶しており、秘密鍵SKを用いて、取得部501により取得されたデバイスIDと検知結果データ、検知時刻を示す検知時刻データ、そして、生成部502により生成されたメッセージダイジェストを互いに対応付けたデータに対し電子署名を行う。
送信部503は、電子署名部521により電子署名の行われた、デバイスID、検知結果データ、検知時刻データ、及び規則データのメッセージダイジェストを互いに対応付けたデータを、第1サーバ装置12に送信する。
システム2において、センサデバイス11は、センサ114を用いた検知を行い、検知結果データを生成すると、検知結果データを端末装置15に出力する。端末装置15の取得部501はセンサデバイス11から出力される検知結果データを取得し、電子署名部521に引き渡す。取得部501はセンサデバイス11から検知結果データを取得すると、センサデバイス11のメモリ113からデバイスIDと規則データを読み出し、デバイスIDを電子署名部521に、また、規則データを生成部502に引き渡す。
生成部502は、取得部501から規則データを受け取ると、受け取った規則データのメッセージダイジェストを生成する。また、生成部502は、その時点の現在時刻を示すデータを検知時刻データとして生成する。生成部502は、生成したメッセージダイジェストと検知時刻データを電子署名部521に引き渡す。
電子署名部521は、取得部501からデバイスIDと検知結果データを、生成部502から検知時刻データ及び規則データのメッセージダイジェストを、それぞれ受け取ると、これらのデータを互いに対応付けたデータに電子署名を行った後、送信部503に引き渡す。送信部503は、電子署名部521から引き渡されたデータを第1サーバ装置12に送信する。
システム2において、第1サーバ装置12及び分析装置13は、秘密鍵SKと対をなす公開鍵PKを取得し記憶している。第1サーバ装置12は、端末装置15から電子署名の行われたデバイスID、検知結果データ、検知時刻データ、及び規則データのメッセージダイジェストを受け取ると、公開鍵PKを用いてそれらのデータに改ざんが行われていないことを確認した後、蓄積する。
システム2において、分析装置13は第1サーバ装置12から、秘密鍵SKによる電子署名の行われた、デバイスID、検知結果データ、検知時刻データ、及び規則データのメッセージダイジェストを受信する。分析装置13は、第1サーバ装置12から電子署名の行われたデバイスID、検知結果データ、検知時刻データ、及び規則データのメッセージダイジェストを受け取ると、公開鍵PKを用いてそれらのデータに改ざんが行われていないことを確認した後、それらのデータを分析に利用する。
システム2においては、分析装置13が第1サーバ装置12から受信する検知結果データには、デバイスID及び検知時刻データに加え、検知結果データが生成された時点において当該検知結果データを生成したセンサデバイス11に記憶されていた規則データのメッセージダイジェストが対応付けられている。同じメッセージダイジェストに対応付けられている検知結果データは、同一の規則データに従い動作したセンサデバイス11により生成された検知結果データである。従って、分析装置13は、同じメッセージダイジェストが対応付けられている検知結果データを、一貫性のある検知結果データとして認識することができる。
[変形例]
上述した実施形態は様々に変形されてよい。以下にそれらの変形の例を示す。なお、上述した実施形態及び以下に示す変形例のうちの2以上が組み合わされてもよい。
(1)第1実施形態又は第2実施形態において、第1サーバ装置12と第3サーバ装置16が1つのサーバ装置に統合されてもよい。
(2)互いに接続されたセンサデバイス11と端末装置15が1つの装置に統合されてもよい。その場合、通信インタフェース111と通信インタフェース151、プロセッサ112とプロセッサ152、メモリ113とメモリ153の組み合わせの1以上が、1つの構成部に統合されてもよい。
(3)装置間のデータ通信に、必要に応じて暗号化、電子署名等の情報セキュリティ技術が用いられてもよい。また、装置間のデータ通信に用いられる通信接続として、特定の相手のみと通信可能な閉鎖的な通信接続等の情報セキュリティの高い通信接続が用いられてもよい。
(4)分析装置13は、分析に用いるデータを第1サーバ装置12から直接受信する代わりに、予め第1サーバ装置12から必要なデータを受信し蓄積するストレージサーバ装置を介して分析に必要なデータを受信してもよい。その場合、ストレージサーバ装置が第1サーバ装置12から受信した検知結果データの一貫性を認識してもよい。
(5)第3実施形態において、端末装置15における電子署名が行われなくてもよい。例えば、端末装置15と第1サーバ装置12との間で通信されるデータが改ざんされる危険性が低い場合、端末装置15における電子署名は不要である。
(6)第3実施形態において、端末装置15が第1サーバ装置12にデータを送信する代わりに、センサデバイス11が第1サーバ装置12にデータを送信してもよい。その場合、センサデバイス11は端末装置15により生成された同一性検証用データを受け取り、受け取った同一性検証用データを検知結果データに対応付けて第1サーバ装置12に送信する。また、センサデバイス11が、検知結果データに規則データ自体を同一性検証用データとして対応付けて第1サーバ装置12に送信してもよい。この場合、センサデバイス11が端末装置15の機能を兼ねることになる。
(7)センサデバイス11が端末装置15を介して第2サーバ装置14からファームウェア、パラメータ等の規則データを受信してもよい。
(8)端末装置15が監視対象とする規則データの範囲が、第3サーバ装置16等の外部の装置から端末装置15に送信される指示等に従い変更されてもよい。
(9)端末装置15が、センサデバイス11のメモリ113に記憶されている2以上の規則データの各々を個別に扱ってもよい。例えば、第1実施形態において、端末装置15が、プログラムのメッセージダイジェストと、パラメータのメッセージダイジェストを生成し、第3サーバ装置16に送信してもよい。この場合、センサデバイス11に記憶されているプログラムとパラメータの同一性が個別に管理される。
(10)互いに接続されるセンサデバイス11と端末装置15が各々異なる筐体に収容されてもよい。
(11)上述した実施形態において、端末装置15はセンサデバイス11に記憶されている規則データをメモリ113から読み出すことにより取得する。端末装置15がメモリ113から規則データを読み出す場合、端末装置15に対する規則データの改ざんが生じにくい、というメリットがある。ただし、規則データが改ざんされる危険性が低い場合には、センサデバイス11が規則データを送信し、端末装置15がセンサデバイス11から送信される規則データを受信することにより取得してもよい。また、その場合、端末装置15はデータを転送する他の装置を介してセンサデバイス11から送信される規則データを受信してもよい。また、センサデバイス11が規則データを無線通信(近距離無線を含む)により送信してもよい。さらに、端末装置15が規則データを無線通信(近距離無線を含む)により受信してもよい。