<第1の実施形態>
(実施例1)
図5は、第1の実施形態を説明する図である。本実施形態においては、複数のセンサNWに接続するアダプタ28が、センサNW間に配置され、複数のセンサNW間でセンサデータの橋渡しを可能とする。また、集約装置には、グローバルネットワークを使用して、別のセンサNWの集約装置へセンサデータを転送するための転送機能が追加されている。
異常が発生したセンサNW_Bのセンサデータは、このセンサNWアダプタ28を経由して、別のセンサNW_Aの集約装置SV_Aへ送信される。別のセンサNW_Aの集約装置SV_Aに到達したセンサデータは、本来の集約装置SV_B(異常が発生したセンサNWの集約装置)へ、グローバルネットワークを経由して転送される。これにより、センサNWにおいて異常が発生した場合でもセンサデータの収集が継続可能となる。
アダプタ28は、各集約装置のセンサNW側(=LAN(Local Area Network)側)識別子、及び、グローバルネットワーク側(=WAN(Wide Area Network)側)の識別子(IPアドレス)を管理する。また、アダプタ28は、複数のセンサNWに接続可能とする(1つのセンサNWに複数のアダプタ28が接続することも可能とする)。
アダプタ28は、あるセンサNWに異常が発生すると、そのネットワーク内の1つ以上のセンサに、センサデータの送信先を自分(アダプタ)に変更させる。アダプタ28は、センサNWが正常に戻ったら、そのセンサに送信先を本来の集約装置へ変更させる。
転送先のセンサNWとして複数の候補がある場合は、アダプタ28は、転送するセンサデータに最適なセンサNWを選択する。
アダプタ28は、センサデータを転送するために、転送先センサNWに合わせてプロトコル変換(通信レイヤ)やデータ変換/ラッピング(Application Layerで実行する)を実施する。この時、アダプタ28は、変換後のセンサデータに、別センサNWのセンサデータであることを示す情報、本来の宛先(異常の発生したセンサNWの集約装置のWAN側IPアドレス)を付加する。
転送元のセンサNWと転送先のセンサNWでは、センサデータを伝送するためのデータフォーマット(メッセージフォーマット)やプロトコルが違う可能性がある。
そのような状況において、センサデータを送信可能とするためには、転送先のセンサNWに合わせてデータフォーマットを変換する必要がある。そこで、アダプタ28は、事前に設定したルール情報に従い、センサデータのデータフォーマットの変換を行う。
本実施形態では、通信方式の異なる複数のセンサNWを、アダプタ28を用いて、必要時に相互接続し、センサデータを他のセンサNWを使用して転送を可能とする。さらに、本実施形態は、センサNWの通信品質が劣化した場合においても、別のセンサNWを中継してセンサデータを転送することも可能とする。
集約装置は、以下の機能を備える。集約装置は、センサデータを受信し、受信したセンサデータが管理対象のセンサデータか管理対象外(別のセンサNW)のセンサデータかを判定する。
受信したセンサデータが別のセンサNWのセンサデータの場合、集約装置は、センサデータから本来の宛先(異常の発生したセンサNWの集約装置のWAN側IPアドレス)を抽出する。集約装置は、グローバルネットワークを使用して本来の集約装置へ、受信したセンサデータを転送する。
以上の構成によると、センサの故障や移動、盗難によるセンサNWの分断や、センサNWの品質の低下が発生した場合、隣接するセンサNWを用いてセンサデータを転送することが可能となる。そのため、長期にわたりセンサデータの収集ができなくなることもなく、特定のセンサNWの混雑によりセンサデータの収集タイミングが遅れることもない。
必要なセンサデータを隣接するセンサNWへ転送するため、転送先のセンサNWへの影響が少なくて済む。
また、故障等によりネットワークを分断したセンサが特定できるため、そのセンサを探す必要もなく即時に交換・追加が可能となり、継続的な運用が可能である。一方、故障センサによる他センサへの影響範囲も迂回経路により特定できる。そのため、例えば、センサを密集させた環境の場合は、隣接するセンサのセンサデータを迂回経路により収集することができれば、センサの交換が不要であると判断することも可能になる。
更に、集約装置においては、異種センサデータの内容を判断する必要がないため、センサデータの内容にあわせた開発やセンサの増減に応じた開発なども不要であり、開発コストを低減することが可能である。
加えて、例えば、夜にはセンサデータを収集しないセンサがある場合や、センサNWが輻輳している場合など、ネットワークに余裕のあるセンサNWを積極的に使用してセンサデータを転送することも可能になる。
図6は、第1の実施形態の全体システム構成図である。本実施形態のシステムは、センサ25(25−1,25−2,25−3)、収集サーバ26(26−1、26−2)、管理サーバ27、アダプタ28、集約装置A〜C(29A〜29C)を含む。
図6では、センサ25−1によってセンサNW Aが形成されている。センサ25−2によってセンサNW Bが形成されている。センサ25−3によってセンサNW Cが形成されている。それぞれセンサNW A,B,Cに集約装置A〜Cが設けられている。
センサ25(25−1,25−2,25−3)は、センサNWを通してセンシングしてセンサデータを収集し、その収集したセンサデータを指定された識別子の集約装置に送信する。収集するセンサデータは、温度・湿度・照度など様々なものがある。また、センサ25は、他のセンサ25から送信されるセンサデータを転送する機能を持つ。更に、センサ25は、センサデータを送信する送信先(集約装置の識別子)の変更を外部から受け付ける機能を持つ。また、センサ25は、センサデータ送信の開始・終了の指示を外部から受け付ける機能を持つ。
収集サーバ26(26−1、26−2)は、集約装置29から送信される集約されたセンサデータを受信し、センサデータの蓄積・加工・提供を行うサーバである。
管理サーバ27は、集約装置から送信されるセンサ管理情報を受信し、センサ25の管理を行うサーバである。
アダプタ28は、複数のセンサNWに接続し、各センサNW内において集約装置への経路のポーリングを行うことでセンサNWの接続性を管理する機能を持つ。アダプタ28は、集約装置への経路のポーリングによって、特定の集約装置に所属しているセンサの一覧やセンサNWの通信状態を取得し、管理する。また、アダプタ28は、あるセンサNWが分断された場合や通信品質が低下した場合に、そのセンサNWのセンサデータを別のセンサNWの集約装置へ転送する機能を持つ。アダプタ28は、センサNW内またはセンサNW間に1以上配置されている。
集約装置A〜Cは、自身が担当するセンサNWのセンサデータを集約(一時格納部に保持)する機能を持つ。また、集約装置A〜Cは、集約したセンサデータを収集サーバ26−1、26−2に通知する機能を持つ。更に、集約装置A〜Cは、センサデータの収集状態(受信するセンサデータの量や、通知されるセンサデータの時間間隔等)からセンサNWの通信状態を管理する機能を持つ。また、集約装置A〜Cは、アダプタ28から受信した他のセンサNWのセンサデータを、そのセンサNWを担当する集約装置へ転送する機能をもつ。
更に、集約装置A〜Cは、センサデータが、自身が担当するセンサNWから直接取得したものであるのか、他のセンサNW及び集約装置を経由して取得したものであるのかの情報を用いて、自身が担当するセンサNW内のセンサの状態に関する管理情報を管理する。集約装置A〜Cは、管理情報を定期的に管理サーバ27に通知する。
集約装置A〜Cは、アダプタ28のポーリングに対して、自身のグローバルネットワーク側の識別子(IPアドレス)や自身が担当するセンサの一覧、センサNWの通信品質の状態に関する情報を返す。
図7は、第1の実施形態における第1の実施形態におけるセンサの機能ブロック図である。センサ25に対しては、ネットワーク経由でセンサデータの送信先の設定が可能である。
通信部30は、他のセンサ25A、アダプタ28及び集約装置29に対してセンサデータを送信、または、他のセンサ25Aのデータを転送する。また、通信部30は、センサデータ送信先の変更メッセージを受け付ける。
送信先管理部31は、センシング部32によりセンシングしたセンサデータの送信先情報を管理する。この送信先情報の変更は、ネットワーク経由で行うことができる。
センシング部32は、観測量のセンシングを行う。センサ25の種類によって何をセンシングするかは異なる。センシングされたセンサデータは、一時格納部33において、アダプタ28、他のセンサ25A、あるいは、集約装置29に送信されるまで保持される。
図8は、第1の実施形態における収集サーバの機能ブロック図である。通信部35は、集約装置29から、集約されたセンサデータを受信し、管理部36に通知する。また、通信部35は、センサデータの取得要求を受信し、管理部36にセンサデータ取得要求を行う。
管理部36は、通信部35から通知されたセンサデータを格納部37に格納する。また、管理部36は、通信部35から要求されたセンサデータを格納部37から取得し、通信部35に返す。
格納部37は、センサデータを管理するためのデータベースである。格納部37は、複数のデータベースによる分散構成も可能である。
図9は、第1の実施形態における管理サーバの機能ブロック図である。通信部40は、集約装置29によって集約されたセンサ管理情報を受信し、管理部41に通知する。管理部41は、通信部40から通知されたセンサ管理情報を格納部42に格納する。格納部42は、センサ管理情報を管理するためのデータベースである。
図10は、第1の実施形態(実施例1)における集約装置の機能ブロック図である。集約装置29は、受信部45、判定部46、変換部47、集約部48、送信部49、一時格納部50、転送部51、ポーリング応答部52、管理部54、センサ/NW管理情報格納部55、通知部56、制御部57の機能ブロックを含む。
ポーリング応答部52は、アダプタ28からポーリングリクエストメッセージ(ポーリング要求)を受信し、アダプタ28へポーリングレスポンスメッセージ(ポーリング応答)を送信する。ポーリングレスポンスメッセージには、集約装置29のグローバルネットワーク側IPアドレス、センサ一覧及びセンサNWの通信品質が含まれる。
受信部45は、センサ25、または、アダプタ28、または、他の集約装置29Aからセンサデータを受信し、受信したセンサデータを判定部46に通知する。
判定部46は、受信部45から受け取ったセンサデータの判定を行い、次の処理を決定する。受信部45から受け取ったセンサデータが自身が担当するセンサNWのセンサデータであった場合(自身が担当するセンサNWのセンサから受信した場合)、判定部46は、センサデータを集約部48へ渡す。受信部45から受け取ったセンサデータが自身が担当するセンサNWのセンサデータであり、かつ、他の集約装置29Aから受信した場合、判定部46は、センサデータを変換部47へ渡す。受信部45から受け取ったセンサデータが自身の担当外のセンサNWのセンサデータであった場合(アダプタ28から受信した場合)、判定部46は、センサデータを転送部51へ渡す。また、判定部46は、センサデータの判定結果に関わらず、センサデータのコピーを管理部54へ渡す。
変換部47は、センサデータを、集約装置29で使用するデータフォーマットから、自身が担当するセンサNWのデータフォーマットへ変換する。
転送部51は、センサデータから転送先の集約装置のIPアドレスを抽出し、グローバルネットワークを使用して他の集約装置29Bへセンサデータを転送する。
集約部48は、センサNWから収集したセンサデータの集約を行い、一旦、センサデータを一時格納部50に格納してから、送信部49に渡す。
送信部49は、集約部48が集約した、集約済みセンサデータを、収集サーバ26のアドレス情報を参照して、収集サーバ26へ通知する。
管理部54は、取得したセンサデータを基に、センサNW内の各センサの稼働状況を管理する。管理部54は、センサの状態管理を、以下のように行なう。センサデータが、自身が担当するセンサNWから直接取得したものである場合は、管理部54は、当該センサデータを送信したセンサ25は正常に稼働しているものとしてそのセンサを管理する。センサデータが、他の集約装置を経由して取得したものである場合は、管理部54は、当該センサデータを送信したセンサ25は正常に稼働しているものとしてそのセンサを管理する。センサデータが取得できない場合は、管理部54は、センサ25が正常に稼働していないものとしてそのセンサを管理する。
管理部54は、取得したセンサデータを基に、センサNWの通信品質状況を管理する。管理部54は、以下のように、センサNWの通信品質の状態管理を行なう。自身が担当するセンサNWから直接取得したセンサデータの量が想定よりも多い場合は、管理部54は、センサNWの通信品質が劣化しているものとしてそのセンサNWを管理する。自身が担当するセンサからセンサデータ通知の時間間隔が想定よりも大きい場合は、管理部54は、センサNWの通信品質が劣化しているものとしてそのセンサNWを管理する。センサデータの量やセンサデータ通知の時間間隔が想定よりも多いあるいは大きいと判断する場合は、管理部54は、システムの設計者が予め設定した閾値とこれらの値とを比較して、センサNWの通信品質状況の判断を行なう。
図11及び図12は、センサ/NW管理情報格納部55が保持するセンサ/NW管理情報の例を示す。センサ/NW管理情報格納部55は、センサ/NW管理情報(センサ稼動状況テーブル55−1、センサNW状況テーブル55−2)を保持するデータベースである。
図11は、第1の実施形態(実施例1)におけるセンサ稼動状況テーブルの一例を示す。センサ稼動状況テーブル55−1は、センサの稼働状況のデータを保持する。センサの稼働状況のデータは、図11に示されている通り、センサ識別子、稼働状況、通知日時、前回通知日時、受信経路を含む。稼働状況は、センサ25が自身の動作において正常に動作しているか、あるいは、エラーが発生しているか等を示す。受信経路は、センサデータが他の集約装置を介して転送されてきたものか、センサ25から直接送られてきたものかを示す。通知日時は、センサデータの通知の日時を示す。前回通知日時は、前回のセンサデータの通知の日時を示す。通知日時と前回通知日時を参照することによってセンサデータの通知時間間隔を知ることが出来る。
図12は、第1の実施形態(実施例1)におけるセンサNW状況テーブルの一例を示す。センサNW状況テーブル55−2は、センサNWの通信品質を保持する。センサNW状況のデータは、図12に示されるとおり、日時と通信品質を含む。日時は、センサデータの通知の日時を示す。通信品質は、センサNW上の通信の品質を示す。通信品質は、センサNWのセンサデータ量が多い場合に通信品質が劣化している等の判断に用いられる。この場合、通信品質の中、高の判断は、システムの設計者が適宜設定する閾値とセンサデータの量とを比較することによって行なう。
図10に戻って説明する。通知部56は、管理部54で管理するセンサ/NW管理情報(センサ稼動状況テーブル、センサNW状況テーブル)を、定期的に管理サーバ27へ通知する。通知部56は、管理サーバ27への送信を、予め保持されている管理サーバのアドレス情報を参照して行なう。
なお、図10の各部の動作は、プログラムによって実現してもよく、その場合には、全体を制御する制御部57がプログラムを実行することによって実現可能である。プログラムは、CD−ROM、DVD、Blu−ray、ICメモリ、フレキシブルディスク等の可搬記録媒体58に記録されていてもよい。この場合には、制御部57が可搬記録媒体58からプログラムを読み込んで実行する。
図13は、第1の実施形態(実施例1)におけるアダプタの機能ブロック図である。アダプタ28は、ポーリング要求部63、センサNW管理部62、センサNW情報格納部65、センサNW選択部64、ルール格納部66、センサ制御部61、転送先決定部67、変換部68を含む。また、アダプタ28は、プロトコル選択部69及び通信部60a〜60c、70a〜70cを含む。
ポーリング要求部63は、アダプタ28と通信可能な(接続可能な)各センサNWの集約装置A〜Cへ定期的にポーリングを行い、集約装置A〜Cへのセンサデータの到達確認を行う。ポーリング要求部63は、ポーリング結果をセンサNW管理部62に通知する。
ポーリングが正常に行われた場合、ポーリング要求部63は、ポーリングの応答情報である集約装置のグローバルネットワーク側IPアドレス、センサ一覧、センサNWの通信品質をセンサNW管理部62に通知する。ポーリングが失敗した場合、ポーリング要求部63は、ポーリング異常をセンサNW管理部62に通知する。
センサNW管理部62は、ポーリング要求部63から受け取ったポーリング結果を基に、センサNW情報格納部65のセンサNW情報を更新する。これにより、センサNW管理部62は、アダプタ28が接続するセンサNWの状況を把握する。あるセンサNWが分断され集約装置29へのポーリングの到達性が失われた(ポーリング異常通知を受けた)場合は、センサNW管理部62は、センサNW選択部64への通知を行う。センサNW選択部64は、分断されたセンサNWのセンサデータを転送する他のセンサNWを特定する。また、分断されたセンサNW内のセンサ25A〜25Cを制御するため、センサNW管理部62は、センサ制御部61へ集約装置29の変更を依頼する通知を行う。
あるセンサNWの通信品質が低下した(ポーリング情報に通信品質低下を受けた)場合、センサNW管理部62はセンサNW選択部64への通知を行う。センサNW選択部64は、品質の劣化したセンサNWのセンサデータを転送する他のセンサNWを特定する。センサNW選択部64は、センサNW情報格納部65に格納されたセンサNW情報を基に、センサデータを転送するセンサを特定する(アダプタ28に近いセンサ25を転送対象とする)。そして、センサNW管理部62は、分断されたセンサNW内のセンサ25を制御するため、センサ制御部61へ集約装置29の変更を依頼する通知を行う。また、センサNW管理部62は、センサ制御部61から受け取ったセンサデータを基に、センサNW情報を更新する。センサNW情報の一例は、センサNWテーブル、センサ管理テーブルを含む。センサNW情報格納部65が格納するセンサNW情報(センサNWテーブル、センサ管理テーブル)の一例を、図14及び図15を用いて説明する。
図14は、第1の実施形態(実施例1)におけるセンサNWテーブルの一例を示す。センサNWテーブル65−1は、センサNW識別子と、IPアドレスと、通信品質と、通信プロトコルと、データフォーマットと、転送先NW優先度とを含む。
センサNW識別子は、センサNWを識別する識別子である。IPアドレスは、センサNWに対応する集約装置のIPアドレスである。通信品質は、センサNWの現在の通信品質である。通信プロトコルは、センサNWの使用している通信プロトコルである。データフォーマットは、センサNWの使用しているデータフォーマットである。転送先NW優先度は、転送先NWを優先順位を付けて列挙する。通信品質以外のセンサNW情報は、予め、ネットワークの設定のときに各情報を調べて格納される。
図15は、第1の実施形態(実施例1)におけるセンサ管理テーブルの一例を示す。センサ管理テーブル65−2は、センサNWの識別子と、センサの識別子と、アダプタから当該センサへのホップ数と、転送している最中か否かを示す転送中フラグと、転送先のセンサNWの識別子とを含む。転送中フラグは、現在センサNWにおいて使用できないセンサが存在し、ネットワークが分断されていることにより、センサデータの転送が行われていることを示す。
図13に戻って説明する。センサNW選択部64は、センサNWテーブル65−1から、分断されたセンサNWと接続するのに最適なセンサNWを選択し、変換ルール情報を生成し、ルール格納部66に格納する。センサNW選択部64は、センサNWを選択する場合、センサNW情報からの転送先NW優先度と通信品質からセンサNWを決定する。
ルール格納部66は、センサデータを転送するための転送ルール情報と、データフォーマット変換のための変換ルール情報(テンプレートファイル)を管理するデータベースである。転送ルール情報は、転送ルールテーブルに格納されている。変換ルール情報は、変換ルールテーブルに格納されている。転送ルールテーブル、変換ルールテーブルについて、図16〜図19を用いて説明する。
図16は、第1の実施形態(実施例1)における転送ルールテーブルの一例を示す。転送ルールテーブル66−1は、センサNWの識別子と、センサの識別子と、転送先NWの識別子と、本来の集約装置のIPアドレスを含む。ここで、障害が発生したセンサNWのセンサデータを収集・集約するはずの集約装置を本来の集約装置と呼んでいる。
図17は、第1の実施形態(実施例1)における変換ルールテーブルの一例を示す。変換ルールテーブル66−2は、図17に示されるように、センサNWの識別子と、使用しているデータフォーマットの名前と、転送先のプロトコルと、フォーマット形式と、フォーマット変換用テンプレートファイル名とを含む。
テンプレートファイルの例として、フォーマットAの例を図18に示し、フォーマットBの例を図19に示す。フォーマットAは、XMLで記述され、センサ識別子、転送先集約装置のIPアドレス、センサ生データをタグで囲んで記述される。フォーマットBは、センサ識別子、転送先集約装置のIPアドレス、センサ生データをテキスト形式で、フォーマットAより直接的な形で記述される。フォーマットCは、バイナリデータであるので、ここでは特に示さない。
データのフォーマットとしては、ここでは例を示したが、実際には、システムの設計者が適切に設定すべきものである。
図13に戻って説明する。センサ制御部61は、定期的に各センサNWのトポロジー情報(各センサ25のアダプタ28からのホップ数)を収集し、センサNW管理部62に通知する。センサ管理部62から集約装置変更依頼を受けた場合、センサ制御部61は、センサ25へ集約装置変更メッセージの送信を行い、各センサ25の集約装置29の識別子の変更を行う。各センサ25の集約装置29の識別子の変更が正常に実施された場合、センサ制御部61は、センサNW管理部62に対して、変更が完了したセンサ25の識別子を通知する。
転送先決定部67は、転送ルールテーブル66−1に従い、センサデータの転送先を決定する。
変換部68は、変換ルールテーブル66−2に従い、センサデータのデータフォーマットの変換を行う。変換部68は、変換したセンサデータをプロトコル選択部69に通知する。
プロトコル選択部69は、変換部68からセンサデータを受け取ると、変換ルールテーブル66−2に従い、センサデータを送信する通信プロトコルの選択を行う。プロトコル選択部69は、選択した通信プロトコルを担当する通信部70a〜70cに対して、センサデータ送信依頼を行う。
通信部70a〜70cは、集約装置29(29A,29B,29C)との間でセンサデータや制御情報の送受信を行う。
なお、図13の各部の動作は、プログラムによって実現してもよく、その場合には、全体を制御する制御部75がプログラムを実行することによって実現可能である。プログラムは、CD−ROM、DVD、Blu−ray、ICメモリ、フレキシブルディスク等の可搬記録媒体76に記録されていてもよい。この場合には、制御部75が可搬記録媒体76からプログラムを読み込んで実行する。
図20は、第1の実施形態(実施例1)におけるセンサNW監視シーケンスの一例を示す。図20は、集約装置29からのポーリング応答結果に基づいて、アダプタ28がセンサNWの異常を検知(センサNWを監視)するシーケンスを示す。アダプタ28は、自身と通信可能な集約装置29に対して定期的にポーリングを実施することで、センサNWの状態を監視する。
アダプタ28のポーリング要求部63は、通信部70aを介して、集約装置A(29A)に、ポーリング要求を通知する情報(ポーリング要求)を送信する(S1A,S2A)。ここでは、集約装置A(29A)はプロトコルAを使用しているので、プロトコルA用の通信部70aが使用される。
集約装置A(29A)のポーリング応答部52Aは、アダプタ28から送信されたポーリング要求を受信すると、ポーリング要求に対する応答情報(ポーリング応答)を返信する(S3A)。
アダプタ28の通信部70aは、集約装置A(29A)からポーリング応答を受信すると、そのポーリング応答をポーリング要求部63に通知する(S4A)。ポーリング要求部63は、ポーリング応答にしたがって、センサNW管理部62にポーリング結果を通知する(S5A)。センサNW管理部62は、そのポーリング結果に基づいて、センサNW情報を更新する(S6A)。ポーリング要求部63が集約装置B(29B)にポーリング要求を送信する場合も同様である(S1B〜S6B)。この場合には、集約装置B(29B)がプロトコルBを使用しているので、プロトコルB用通信部70bを用いて、ポーリング要求の送信、ポーリング応答の受信が行なわれる。
これにより、アダプタ28は、自身と通信可能な集約装置29に対して定期的にポーリングを行う。そして、アダプタ28は、ポーリング応答が受信できなかった場合、アダプタ28と集約装置29間のセンサNWは分断されていると判断することができる。
図21は、第1の実施形態(実施例1)における集約装置から送信されるポーリング応答の内容の一例を示す。ポーリング応答は、集約装置29のグローバルネットワーク側のIPアドレスと、通信品質と、当該集約装置が管理するセンサNWに属するセンサ一覧を含む。
センサNW管理部62は、ポーリング応答を用いて、図14のセンサNWテーブル65−1(集約装置IPアドレス、通信品質)を更新し、センサ管理テーブル65−2(センサNW識別子、センサ識別子)を更新する。尚、センサデータの通信プロトコル、データフォーマット、転送先NW優先度は、予め設定されているものとする。
図22は、第1の実施形態(実施例1)における通常時のセンサデータ収集シーケンスの一例を示す。図22は、通常時(センサNWに障害なし)のセンサデータ収集のシーケンスを示す。図22では、集約装置29は自分の管理するセンサNW内のセンサ25からセンサデータを受信、集約し、収集サーバ26に、その集約したセンサデータを送信する。
センサ25は、集約装置29へセンサデータを送信する(S11)。集約装置29の受信部45は、センサ25からセンサデータを受信すると、センサ25にセンサデータを受信した旨の応答を返す(S12)。また、受信部45は、受信したセンサデータを、判定部46を介して、集約部48に通知し(S13,S14)、集約部48にセンサデータの集約を行なわせる(S15)。具体的には、集約とは、データをまとめて格納することを示す。集約部48は、センサデータの集約が終わると、その旨の応答を受信部45に返す(S16)。集約部48は、センサデータを受信するたびに、センサデータを集約(一時格納部に保持)する(S14,S15)。集約部48は、集約したセンサデータをまとめたデータ(集約済みセンサデータ)を、送信部49を介して、収集サーバ26に送信する(S17,S18)。
図23は、第1の実施形態(実施例1)における障害(センサNW分断)検知からセンサデータの送信先変更までのシーケンスの一例を示す。図23は、図20のポーリング応答の監視によってアダプタ28がセンサNWの異常を検知した後、アダプタ28が、障害の発生したセンサNW内のセンサ25に対して、センサデータの送信先を変更するまでのシーケンスを示す。
図23において、S1〜S6を実行する。S1〜S6は、図20のS1A(S1B)〜S6A(S6B)と同じなので、その説明を省略する。S6において、ポーリング応答が異常の場合、センサNW管理部62はセンサNW情報(図14のセンサNWテーブル65−1)の通信品質を「分断」に変更する。センサNW管理部62は、センサNW選択部64に、センサNW識別子(センサNW A)を含むNW選択要求を通知する(S21)。
センサNW選択部64は、NW選択要求に含まれるセンサNW識別子(センサNW A)をキーとして、図14のセンサNWテーブル65−1から、センサデータの転送先のセンサNWを選択し、図16の転送ルールテーブル66−1を参照する(S22)。尚、図14では、センサNW Aの転送先として、センサNW B(通信品質:高)とセンサNW C(通信品質:高)があるが、転送先NW優先度についてはセンサNW Bの方が高いため、センサNW Bにセンサデータが転送されることになる。
センサNW選択部64は、転送ルールテーブル66−1の参照の結果、NW選択応答として、特定のセンサNWを選択する旨の通知をセンサNW管理部62に行なう(S23)。センサNW管理部62は、通信部60aを介して、センサ25に対し、センサデータ送信先変更要求を通知し、センサ25にセンサデータの送信先集約装置の設定を変更させる(S24−S27)。
図24は、第1の実施形態(実施例1)におけるアダプタにおけるセンサデータ転送シーケンスの一例を示す。図24は、アダプタ28がセンサ25からセンサデータを受信し、集約装置29へ転送するまでのシーケンスを示す。
通信部60aは、センサNW Aのセンサ25(識別子:AA0002、図16)からセンサデータを受信した場合(S31)、転送先決定部67にセンサデータを受信した旨を通知し、センサ25に応答情報を返す(S32〜S34)。
転送先決定部67は、図16の転送ルールテーブル66−1から、転送先センサNW(センサNW B)を抽出する(S35)。また、変換部68は、図17の変換ルールテーブル66−2を参照し、転送先センサNW(センサNW B)に対応したデータフォーマット変換を行う(S36,S37)。
これにより、アダプタ28は、センサデータをセンサNW Aを介して集約装置29Aが収集できないことが判明した場合には、センサNW Bを介して集約装置29Bにセンサデータを転送することができる。アダプタ28は、集約装置29Bからグローバルネットワークを介してセンサデータを集約装置29Aに送信させることができる。
図25は、第1の実施形態(実施例1)における変換前のセンサデータの一例を示す。図26は、第1の実施形態(実施例1)における変換後のセンサデータの一例を示す。図25は、図18のフォーマットAのセンサデータを示す。このセンサデータに含まれるセンサ25の識別子は、AA0002である。センシングを行なった時間は、2011年1月1日、10時30分0秒である。そして、このセンサ25は温度センサであり、温度をセンシングして、20℃というセンサ生データを記録している。図26は、フォーマットAのセンサデータをフォーマットBのセンサデータに変換した様子を示す。図26では、フォーマットBのセンサ生データの記録領域に、フォーマットAのセンサデータをそのままコピーしている。このように、フォーマットAからフォーマットBに変換する場合、フォーマットAのデータをそのままフォーマットBのデータの中に埋め込むような変換方法をラッピングと呼んでいる。
図24に戻って説明する。プロトコル選択部69は、図17のデータ変換ルール情報を参照し、送信先のプロトコル(プロトコルB)を選択し(S38,S39)、プロトコルBの通信部70bへセンサデータ送信要求を行う(S40)。これにより、アダプタ28は、センサNW Aのセンサデータを集約装置Bへ送信することが可能となる。
通信部70bは、センサデータを集約装置Bへ送信する(S41)。集約装置Bは、センサデータを受信すると、その応答をアダプタ28の通信部70bに通知する。通信部70bは、集約装置Bからの応答を、プロトコル選択部69、変換部68を介して、転送先決定部67に通知する(S43〜S45)。
図27は、第1の実施形態(実施例1)における集約装置でのセンサデータ転送シーケンスの一例を示す。図27は、集約装置B(29B)がアダプタ28からセンサデータを受信し、本来の集約機装置A(29A)へセンサデータを転送するまでのシーケンスを示す。
センサデータが、アダプタ28から集約装置Bの受信部45に転送される(S51)と、受信部45はその応答をアダプタ28へ返信する(S52)。受信部45は、判定部46を介して、転送部51にセンサデータを送る(S53、S54)。ここで、集約装置Bは、センサデータを送信してきたセンサ25が属しないセンサNWの集約装置である。集約装置Bの転送部51は、センサデータの転送先を取得して(S55)、センサデータを集約装置Aに転送する(S56)。集約装置Aは、センサデータを送信したセンサが属するセンサNWの集約装置であり、本来の集約装置と呼んでいる。
集約装置Aは、センサデータを受信すると、センサデータを受信した旨の応答を集約装置Bに送信する(S57)。この応答メッセージは、転送部51、判定部46を介して、受信部45に通知される(S58,S59)。
図28は、第1の実施形態(実施例1)における集約装置から収集サーバへセンサデータが送信されるまでの収集シーケンスの一例を示す。図28では、集約装置Aが他の集約装置Bから転送されてきたセンサデータを受信し、集約して収集サーバ26に送信するまでのシーケンスについて説明する。
集約装置Aの受信部45は、集約装置Bからセンサデータを受信すると(S61)、センサデータを受信した旨の応答を集約装置Bに返す(S62)。それと共に、受信部45は、センサデータを、判定部46を介して変換部47に送る(S63,S64)。変換部47は、センサデータのフォーマットの変換を行ない(S65)、変換済みセンサデータを集約部48に送る(S66)。ここでのセンサデータのフォーマットの変換は、データのラッピングを解除する処理となる。
集約部48は、変換済みセンサデータを受信して一時格納部50に保持すると(S67)、センサデータを受信した旨の応答を、変換部47、判定部46を介して受信部45に通知する(S68〜S70)。集約部48は、同様に変換済みセンサデータを受信したり(S66)、変換する必要が無いために変換されていないセンサデータを受信したりする(S71)。集約部48は、それまでに保持した変換済みセンサデータ及び変換する必要が無いために変換されていないセンサデータを集約(一時格納部50に保持する)する(S72)。集約部48は、送信部49を介して、収集サーバ26に対し、集約済みセンサデータを送信する(S73,S74)。収集サーバ26は、集約済みセンサデータ(一時格納部50に保持したセンサでデータ)を受信した旨の応答を集約装置B(送信部49、集約部48)に返す(S75、S76)。
(実施例2)
第1の実施形態(実施例1)では、アダプタ28によって変換されたセンサデータを、本来の集約装置(集約装置A)で復元していた。それに対して第1の実施形態(実施例2)では、中継する集約装置(集約装置B)でセンサデータを復元することについて説明する。なお、第1の実施形態(実施例2)では、第1の実施形態(実施例1)と同様の構成、機能については同一の符号を付し、その説明を省略する。
図29は、第1の実施形態(実施例2)に適用される集約装置の機能ブロック図である。
判定部46aは、受信部45から受け取ったセンサデータの判定を行い、次の処理を決定する。受信部45から受け取ったセンサデータが、自身が担当するセンサNWのセンサデータであった場合、判定部46aは、センサデータを集約部48へ渡す。受信部45から受け取ったセンサデータが、自身の担当外のセンサNWのセンサデータであった場合(アダプタ28から受信した場合)、判定部46aは、センサデータを変換部47aへ渡す。また、判定部46aは、センサデータの判定結果に関わらず、センサデータのコピーを管理部54へ渡す。
変換部47aは、アダプタ28によって自身が担当するセンサNWのデータフォーマットに変換されたセンサデータを、転送先の集約装置29Bが担当するセンサNWのデータフォーマットへ変換(本来のデータフォーマットに復元)する。そして、変換部47aは、変換したセンサデータを転送部51へ渡し、集約装置29Bに転送させる。
図30は、第1の実施形態(実施例2)における集約装置でのセンサデータ転送シーケンスの一例を示す。図30では、集約装置Bがアダプタ28からセンサデータを受信し、本来の集約装置Aへセンサデータを転送するまでのシーケンスを説明する。図30は、図27のフローに、S81〜S83を追加したものである。
集約装置Bの受信部45は、アダプタ28から送られてくるセンサデータを受け取ると(S51)、アダプタ28に応答を返す(S52)。それと共に、受信部45は、センサデータを、判定部46aを介して、変換部47aに送る(S53,S54)。変換部47aは、センサデータを変換し(S81)、変換済みセンサデータを転送部51に送る(S82)。転送部51は、変換済みセンサデータの転送先を取得し(S55)、センサデータを集約装置Aに送信する(S56)。ここで、集約装置Bは、センサデータを送信したセンサ25が属していないセンサNWの集約装置である。集約装置Aは、当該センサ25が属するセンサNWの集約装置で、本来の集約装置と呼ばれる。集約装置Aは、センサデータを受け取ると、センサデータを受信した旨の応答を集約装置Bに送る(S57)。その応答は、転送部51、変換部47a、判定部46aを介して、受信部45に送られる(S57,S83,S58,S59)。
図31は、第1の実施形態(実施例2)における集約装置からのセンサデータ収集シーケンスの一例を示す。図31では、集約装置Aが他の集約装置Bから転送されてきたセンサデータを受信し、集約して収集サーバ26に送信するまでのシーケンスについて説明する。図31は、図28のシーケンスからS65,S66を省いたものに相当する。
集約装置Aの受信部45は、集約装置Bからセンサデータを受信すると(S61)、センサデータを受信した旨を集約装置Bに応答する(S62)。受信部45は、判定部46aを介して、センサデータを集約部48に送る(S63,S64)。集約部48は、センサデータを受信し、集約する(S67)。集約部48は、センサデータを集約(一時格納部50に保持)すると、センサデータを受信した旨の応答を、判定部46aを介して受信部45に送る(S69,S70)。判定部46aがセンサデータを集約部48に通知する度に、センサデータが集約され、判定部46aなどに応答が返される。集約部48は、集約済みセンサデータを、送信部49を介して収集サーバ26に送る(S73,S74)。集約装置Aは、収集サーバ26から集約済みセンサデータを受信した旨の応答を受信する。その応答は、送信部49を介して集約部48に送られる(S75,S76)。
図32及び図33、図34は、第1の実施形態の構成例に共通の、ルール格納部66に格納された転送ルールテーブル66−1及び変換ルールテーブル66−2を参照した場合に実行される処理のフローチャートを示す。
図32は、第1の実施形態(実施例1,2)におけるアダプタの変換部の動作の一例を示す。変換部68は、センサデータを受信したセンサ25のセンサNWの識別子及びセンサの識別子を、センサ管理テーブル65−2から抽出する(S90)。変換部68は、ルール格納部66の転送ルールテーブル66−1を参照して、抽出したセンサNWの識別子、センサの識別子に対応する転送先NWの識別子、本来の集約装置のIPアドレスを取得する(S91)。変換部68は、ルール格納部66の変換ルールテーブル66−2から、取得した転送先NWの識別子と一致するセンサNWの識別子に対応するテンプレートファイル名を取得する(S92)。変換部68は、その取得したテンプレートファイル名に対応するテンプレートファイルを、所定の記憶装置から取得する(S93)。変換部68は、その取得したテンプレートファイルに、センサの識別子、集約装置のIPアドレス、センサデータを設定し、転送用のセンサデータを生成する(S94)。
図33は、第1の実施形態(実施例1,2)におけるアダプタの転送先決定部の動作の一例を示す。転送先決定部67は、センサ管理テーブル65−2から、センサデータを受信したセンサのセンサNWの識別子、センサの識別子を抽出する(S100)。転送先決定部67は、抽出したセンサNWの識別子及びセンサの識別子を用いて、ルール格納部66の転送ルールテーブル66−1から転送先NWの識別子を取得する(S101)。
図34は、第1の実施形態(実施例1,2)におけるアダプタのプロトコル選択部の動作の一例を示す。プロトコル選択部69は、センサ管理テーブル65−2から、センサデータを受信したセンサ25のセンサNWの識別子、センサの識別子を抽出する(S105)。プロトコル選択部69は、センサNWの識別子、センサの識別子をキーとして、ルール格納部66の転送ルールテーブル66−1から、転送先NWの識別子を取得する(S106)。プロトコル選択部69は、転送先NWの識別子をキーとして、ルール格納部66のデータ変換ルールテーブル66−2から、転送先プロトコル(対応する通信部)の情報を取得する(S107)。
これにより、アダプタ28によって変換されたセンサデータを、センサデータ要求元の集約装置ではなく、センサデータを中継する集約装置(集約装置B)でセンサデータを復元することができる。
<第2の実施形態>
第1の実施形態では、アダプタが、自身と通信可能な集約装置にポーリングを行い、そのポーリング応答結果に応じて、アダプタと集約装置間のセンサNWの状態を判定していた。また、センサが、集約装置へセンサデータを送信していた。センサNWの状態が異常の場合、アダプタが、センサにセンサデータの送信先を変更させていた。それに対して、第2の実施形態では、集約装置が、自身と通信可能なアダプタにポーリングを行い、そのポーリング応答結果に応じて、アダプタと集約装置間のセンサNWの状態を判定する。また、集約装置が、ポーリングにより自センサNW内のセンサにセンサデータ取得要求を送信して、各センサからセンサデータを取得する。また、センサNWの状態が異常の場合、集約装置が、受信した要求に応じて、その要求の転送先を決定する。なお、本実施形態において、第1の実施形態と同様の構成、機能については、同一の符号を付し、その説明を省略する。
第2の実施形態では、複数のセンサNWに接続するアダプタを配置し、センサNW間でセンサデータの橋渡しを可能とする。このとき、あるセンサからセンサデータの収集ができなかった場合又はあるセンサからセンサデータ収集に長時間かかった場合、集約装置は次の処理を行う。集約装置は、別センサNWを経由して対象のセンサの近隣に配置されているアダプタに、ポーリング型でそのセンサデータの収集の依頼を行う。センサデータ収集の依頼をされたアダプタは、対象となるセンサからセンサデータを収集し、依頼元の集約装置へセンサデータを返信する。
これにより、センサNWの一部が分断されたなどの障害が発生した場合でも、ダイナミックにアダプタが代替経路を変更することができるため、いつでもセンサデータの収集が可能となる。
さらに、ネットワークの品質が劣化した場合だけでなく、センサ特有の環境で情報を収集する場合、スケジューリングして予め通信容量に余裕がある時間帯にセンサNWを他センサが通信路として利用することも可能となる。ここで、ネットワークの品質が劣化した場合とは、例えば、センサNWの分断やセンサデータの伝送に時間がかかるなどの場合である。また、センサ特有の環境とは、例えば照度センサや水位センサなどセンサデータの収集に一定の規則性があるような環境をいう。一定の規則性とは、一例として、照度センサの場合、夜間のようなほとんど変化がない時間帯は頻繁に情報収集を行わなくてもよい規則性が挙げられる。
加えて、集約装置から別センサNWのアダプタにセンサデータ収集の依頼を行う場合、次の2つのセンサデータの収集方法がある。第1の収集方法は、アダプタがセンサからデータを取得する度に集約装置に返信する方法である。第2の収集方法は、一定時間アダプタがセンサからデータを取得後、まとめて集約装置に返信する方法である。取得頻度が少ない第2の収集方法の場合には、通信を必要なものに絞ることができ、別センサNWへの通信影響を抑えることが可能となる。
図35は、第2の実施形態の全体システム構成図である。本実施形態のシステムは、センサ25(25−1,25−2,25−3)、収集サーバ26(26−1、26−2)、管理サーバ27、アダプタ28−1、集約装置A〜C(29−1A,29−1B.29−1C)を含む。本実施形態における全体システムは、第1の実施形態(図6)と同様である。
センサ25(25−1,25−2,25−3)は、センサNWを介して、センシングしたセンサデータを要求元に送信する。センサ25により収集されるセンサデータは、温度・湿度・照度など様々である。センサデータは、集約装置A〜Cにより発行されるポーリングによる取得要求にて収集される。また、センサ25は、他のセンサから送信されるセンサデータを転送する。センサ25は、集約装置A〜Cからのセンサデータ取得要求メッセージを受け付ける。センサ25の詳細は、第1の実施形態で説明したものと同様である。
収集サーバ26(26−1、26−2)は、集約装置A〜Cから送信される集約されたセンサデータを受信し、センサデータの蓄積・加工・提供を行う。収集サーバ26の詳細は、第1の実施形態で説明したものと同様である。
管理サーバ27は、集約装置A〜Cから送信されるセンサについての管理情報を受信し、センサの管理を行う。管理サーバ27の詳細は、第1の実施形態で説明したものと同様である。
集約装置A〜C(29−1A,29−1B.29−1C)は、センサNW A〜C内のセンサデータを一旦集約する機能を含む。また、集約装置A〜Cは、自身のセンサNWに異常が発生してもグローバルネットワークに接続されている別の集約装置経由でセンサデータを収集する機能を含む。
アダプタ28−1は、通信方式の異なる複数のセンサNWに接続してセンサデータの橋渡しを可能とする機能を含む。
図36は、第2の実施形態における集約装置の機能ブロック図である。集約装置29−1は、センサNW管理部101、疎通確認要求部102、集約部104、収集先決定部105、外部データ要求部106、収集部107、転送部108、送受信部109、通信部111を含む。さらに、センサNW管理情報格納部100、一時格納部103、取得要求済情報テーブル110を含む。
センサNW管理部101は、自センサNW内に存在するセンサ25に関するセンサ情報、アダプタ28−1近隣のセンサ25の情報、及びアダプタ28−1に関するアダプタ情報を、センサNW管理情報格納部100に格納して管理する。また、センサNW管理部101は、センサデータの取得に要した時間とその平均を計測して管理する。
収集部107は、定期的に自センサNWを使用してセンサデータを収集するために、収集先決定部105を呼び出す。収集先決定部105が自センサNWを使用してセンサデータが収集できると判断した場合は、収集部107は、取得要求済情報テーブル110にセンサデータ取得要求に関する情報を格納すると共に、送受信部109を経由してセンサデータを収集する。
収集先決定部105は、自センサNWを使用してセンサデータを収集できない、または収集に長時間を要する(平均を大きく外れる)と判断した場合、次の処理を行う。収集先決定部105は、取得要求済情報テーブル110にセンサデータ取得要求に関する情報を格納し、外部データ要求部106を呼び出す。
外部データ要求部106は、グローバルネットワークを使用し、別のセンサNWの集約装置29−1へセンサデータ取得要求を発信する。
そのセンサデータ取得要求に対して、外部の集約装置29−1Aから応答(センサデータの返信)があった場合、送受信部109は、センサデータを受信する。送受信部109は、受信したセンサデータを、収集部107を経由して、集約部104へ送る。集約部104は、センサデータを一時格納部103に格納する。
また、送受信部109は、外部の集約装置29−1Aからセンサデータ取得要求を受信する。その場合、送受信部109は、収集部107を経由して収集先決定部105を呼び出す。収集先決定部105は、自センサNW内のセンサ25を使用して対象となるアダプタ28−1へのセンサデータ取得要求が可能か判断する。また、収集先決定部105は、他センサデータを自センサNW内に流すだけの余裕があるかを判断する。
収集先決定部105は、アダプタ28−1へのセンサデータ取得要求が可能と判断した場合、収集部107は、送受信部109を経由し自センサNWを使用して、アダプタ28−1に対してセンサデータ取得を要求する。センサデータ取得を要求する際には、収集部107は、発行したセンサデータ取得要求に、そのセンサデータ取得要求を識別する識別子を付加すると共に、要求元の情報などと関係付けて取得要求済情報テーブル110に保持する。
また、センサデータ取得を要求する際には、センサからの情報取得方法について、第1の収集方法、または第2の収集方法の指定が可能である。第1の収集方法とは、アダプタ28−1がセンサ25から情報を取得する度に集約装置29−1に返信するように指定する方法である。第2の収集方法とは、一定時間アダプタ28−1がセンサから情報を取得後、まとめて集約装置29−1に返信するように指定する方法である。
収集先決定部105がアダプタ28−1へのセンサデータ取得要求が不可能と判断した場合、収集部107は外部データ要求部106を呼び出す。外部データ要求部106は、グローバルネットワークを使用して次の集約装置29−1Aへセンサデータ取得要求を転送する。
アダプタ28−1がセンサデータ取得要求に対するセンサデータを返信し、送受信部109がそのセンサデータを受信する。この場合、収集部107は、センサデータに含まれるセンサデータ取得要求を識別する要求識別子に基づいて、予め保持していた要求識別子と、その要求識別子に対応する送信元の集約装置29−1の情報から、本来の宛先を抽出する。本来の宛先とは、異常の発生したセンサNWの集約装置29−1のWAN側IPアドレスを示す。収集部107は、グローバルネットワークを使用して、送受信部109を経由して、本来の集約装置29−1へセンサデータを転送する。
疎通確認要求部102は、集約装置29−1に接続するアダプタ28−1へ定期的にポーリングを行い、アダプタ28−1への到達確認を行う。その到達確認の結果と共に、疎通確認要求部102は、アダプタ28−1から、アダプタ28−1近隣のセンサ情報を取得する。
図37は、第2の実施形態におけるアダプタの機能ブロック図である。アダプタ28−1は、センサNW管理部121、疎通確認応答部122、集約部124、収集部125、転送先決定部126、送受信部128、変換部129、通信部130を含む。さらに、アダプタ28−1は、センサNW情報格納部120、一時格納部123、変換ルール格納部127を含む。
センサNW管理部121は、アダプタ28−1の近隣のセンサ25の一覧を、センサNW情報として管理する。
送受信部128がセンサデータ取得要求を受信すると、収集部125に送信する。収集部125は転送先決定部126を呼び出し、転送先決定部126はセンサデータ取得要求先となるセンサNW及びセンサ25を決定する。送受信部128は、その決定したセンサ25に対してセンサデータ取得要求を発信する。
センサデータ取得要求を発信する際には、変換部129は、変換ルール格納部127を参照し、その決定したセンサ25のセンサNWに合わせてプロトコル変換(通信レイヤ)及びデータ変換ラッピング(アプリレイヤ)を実施する。また、変換部129は、センサデータ取得要求の宛先を、その決定したセンサ25の宛先に変更する。また、変換部129は、発行したセンサデータ取得要求を識別する要求識別子と、その要求識別子に対応する送信元の集約装置29−1の情報とを内部で保持する。
また、送受信部128がセンサ25からセンサデータを受信したタイミングで収集部125は集約部124を呼び出し、集約部124は、受信したセンサデータを一時格納部123に格納する。
センサ25からの情報取得方法として、一定時間、センサ25から情報を取得するような指定がされていた場合(第2の収集方法)、再度、収集部125は、センサデータ取得要求を発行する。この場合、送受信部128は、再度、センサ25からセンサデータを受信する。
集約装置29−1へデータを送信する条件がそろった場合、変換部129は、次の処理を行う。集約装置29−1は、変換部129を経由して変換ルール格納部127を用いて、集約部124にて集約したセンサデータを自センサNWに合わせてプロトコル変換(通信レイヤ)やデータ変換/ラッピング(アプリレイヤ)を実施する。また、変換部129は、センサデータに含まれる要求識別子に基づいて、センサデータ取得要求の要求識別子に対応する集約装置の情報を取得し、センサデータの宛先をその取得した集約装置に変更し、センサデータを返信する。
疎通確認応答部122は、集約装置29−1(29−1A,29−1B)による疎通確認のためのポーリングに対して応答し、近隣のセンサ情報を返信する。
これにより、センサの故障や移動、盗難によるセンサNWの分断や、センサNWの品質の低下が発生した場合、動的に集約装置29−1とアダプタ28−1が隣接するセンサNWを用いて経路を変更し、センサデータの取得要求を発行することができる。その結果、センサデータを収集することが可能となる。そのため、長期にわたりセンサデータの収集ができなくなることもなく、特定のセンサNWの混雑によりセンサデータの収集タイミングが遅れることもない。
また、夜間の照度センサや水田の収穫時期以降の水位センサなど、頻繁にセンサデータを収集する必要がないセンサNWを、データやプロトコル変換によって他のセンサNWが通信路として使用することができる。その結果、センサを増強することもなく、センサNWの耐障害性や効率を向上させることが可能となる。
以下に本実施形態の実施例について説明する。
(実施例1)
実施例1では、分断されたポーリング型センサNWのセンサデータを、別のセンサNWを使用して収集することについて説明する。実施例1では、方式の異なる複数のセンサNWに接続するアダプタを配置する。集約装置は、センサNW間でセンサデータの橋渡しを可能とした環境下で、ポーリング型にてセンサデータを収集し、集約する。このとき、集約装置は、各センサに対してデータの取得を要求する場合やセンサNWの通信品質が劣化した場合においても最適な経路(別のセンサNW)を選択・中継してセンサデータの集約の実施を可能とする。
第2の実施形態(実施例1)における全体システムは、図35と同様である。以下では、図35を参照しながら、第2の実施形態(実施例1)におけるセンサ25、収集サーバ26、管理サーバ27、アダプタ28−1、集約装置29−1について説明する。
センサ25は、センサNWを通してセンシングしたセンサデータを要求元に送信する。収集するセンサデータは、例えば、温度・湿度・照度などを含む。センサ25は、取得要求が発行されるポーリング型によってセンサデータ収集を開始する。さらに、センサ25は、他のセンサから送信されるセンサデータを転送する機能を含む。
収集サーバ26は、集約装置29−1から送信される集約されたセンサデータを受信し、センサデータの蓄積・加工・提供を行う。
管理サーバ27は、集約装置29−1から送信されるセンサ管理情報を受信し、センサの管理を行う。
集約装置29−1は、自身が担当するセンサNWのセンサデータを集約(一時格納部103に保持)する。それから、集約装置29−1は、集約したセンサデータを収集サーバ26に通知する。また、集約装置29−1は、自センサNW内に存在するセンサ情報とアダプタ28−1等を管理し、センサデータの収集状態からセンサNWの通信状態を管理する。
また、集約装置29−1は、自センサNWの通信状態から自センサNWを使用してセンサデータを収集可能な場合は、自センサNWを使用してセンサデータを収集する。集約装置29−1は、自センサNWを使用してセンサデータを収集できない場合、グローバルネットワークを使用して他のセンサNWの集約装置へセンサデータ取得要求を発行する。
集約装置29−1は、他の集約装置29−1からセンサデータ取得要求を受信すると、自センサNWを使用してセンサデータ取得が可能か判断する。集約装置29−1は、自センサNWを使用してセンサデータ取得が可能であれば、アダプタ28−1に対してセンサデータ取得を要求する。集約装置29−1は、センサデータ取得が不可能であれば、更に別のセンサNWの集約装置29−1へセンサデータ取得要求を転送する。
集約装置29−1は、アダプタ28−1に対して要求した結果、アダプタ28−1から他のセンサNWのセンサデータを受信した場合、当該センサNWを担当する集約装置29−1へそのセンサデータを転送する機能を有する。
集約装置29−1は、アダプタ28−1へ定期的にポーリングにて疎通確認を行い、センサNWの接続環境を管理すると共に、返信されたアダプタ28−1の近隣のセンサ情報を管理する。
アダプタ28−1は、複数のセンサNWに接続し、各センサNWの集約装置29−1から送信される疎通確認要求に対して応答を行う。その際、アダプタ28−1は、近隣のセンサ情報を送信する。アダプタ28−1は、センサNW内またはセンサNW間に1以上配置されている。
アダプタ28−1は、あるセンサNWが分断された場合や通信品質が低下した際に、そのセンサNWの集約装置29−1からセンサデータ取得要求を受信した場合、次の処理を行う。アダプタ28−1は、対象となる別のセンサNW内のセンサ25に対して、センサデータ取得要求を発行しセンサデータを収集する。
次に、アダプタ28−1、集約装置29−1の機能ブロック図について説明する。なお、センサ25、収集サーバ26、管理サーバ27の機能ブロック図についてはそれぞれ、図7、図8、図9で説明したものと同様なので、その説明を省略する。
図38は、第2の実施形態(実施例1)における集約装置の機能ブロック図を示す。図36と異なり、図38では、センサNW管理情報格納部100と収集部107との間の関係線がない。
図38において、収集部107は、自センサNW内のセンサ25に対して、センサデータを定期的に収集するためにポーリングを行う。その際、収集部107は、収集先決定部105に、収集先を決定するように通知する。
収集先決定部105による判定の結果、自センサNW内のセンサ25に対して、センサデータ取得要求が発行できると判断された場合、収集部107は、送受信部109を経由してセンサ25にセンサデータ取得要求を発行する。センサデータ取得要求を発行できないと判断された場合、収集部107は、外部データ要求部106を呼び出し、他センサNWにセンサデータ取得要求を行う。他センサNWへのセンサデータ取得要求の内容については、図39を用いて説明する。
図39は、第2の実施形態(実施例1)における他センサNWへのセンサデータ取得要求の内容の一例を示す。他センサNWへのセンサデータ取得要求には、「IPアドレス」、「センサ識別子」、「要求識別子」を含む。「IPアドレス」は、要求元の集約装置29−1のIPアドレスである。「センサ識別子」は、センサデータの取得先のセンサ25を識別する識別情報である。「要求識別子」は、要求を識別する識別情報である。
収集先決定部105によりセンサデータの取得先が決定されると、収集部107は、図40に示すように、その取得先に関する情報を取得要求済情報テーブル110に記述する。
図40は、第2の実施形態(実施例1)における取得要求済情報テーブルの一例を示す。取得要求済情報テーブルは、「要求識別子」、「センサ識別子」、「要求日時」、「要求元集約装置のIPアドレス」、「要求先センサNW」、「要求先アダプタ識別子」のデータ項目を含む。
「要求識別子」は、要求情報を識別する識別情報を示す。「センサ識別子」は、センサを識別する識別情報を示す。「要求日時」は、要求情報が発行された日時を示す。「要求元集約装置のIPアドレス」は、要求元の集約装置29−1のIPアドレスを示す。「要求先センサNW」は、要求先のセンサNWが自センサNWか、他センサNWかを示す。「要求先アダプタ識別子」は、要求先のアダプタ28−1を識別する識別情報を示す。
図36の説明に戻る。図36の収集部107は、送受信部109がセンサデータを受信したタイミングで起動する。その際、収集部107は、受信したセンサデータが自センサNWのセンサ情報であるか否かの判定を行い、次の処理を実行する。
収集部107は、受信したセンサデータが自身が担当するセンサNWのセンサ情報である場合(センサ25から受信した場合)、センサデータを集約部104へ渡す。
収集部107は、受信したセンサデータが自身が担当するセンサNW以外のセンサ情報である場合(他の集約装置から受信した場合)、センサデータのフォーマットを変換して集約部104へ渡す。他の集約装置から受信した他センサNWからのセンサデータの一例を図41に示す。
図41は、第2の実施形態(実施例1)における他センサNWから送信されたセンサデータの一例を示す。他センサNWから送信されたセンサデータは、「要求元集約装置のIPアドレス」、「センサ識別子」、「要求識別子」、「センサデータ」を含む。
「要求元集約装置のIPアドレス」は、要求元の集約装置29−1のIPアドレスを示す。「センサ識別子」は、取得対象のセンサを識別する識別情報を示す。「要求識別子」は、要求を識別する識別情報を示す。「センサデータ」は、センサデータの取得先のセンサ25から取得したデータの内容を示す。
収集部107は、受信したセンサデータが自身の担当外のセンサNWのセンサ情報である場合(アダプタ28−1から受信した場合)、センサデータから要求識別子を抽出する。それから、収集部107は、抽出した要求識別子を基に、取得要求済情報テーブル110から、該当する転送先の集約装置のIPアドレスを抽出する。収集部107は、その転送先の集約装置のIPアドレスと合わせて、センサデータを転送部108へ渡す。
収集部107は、送受信部109が、外部の集約装置29−1Aからセンサデータ取得要求を受信したタイミングで起動する。その際、収集部107は、収集先決定部105に収集先の決定依頼を通知する。
通知された決定依頼に対して収集先決定部105により自センサNWを使用してセンサデータ取得要求の発行が可能と判定された場合、収集部107は、送受信部109を経由してアダプタ28−1にセンサデータ取得要求を発行する。収集先決定部105により自センサNWを使用してセンサデータ取得要求の発行ができないと判定された場合、収集部107は、外部データ要求部106を呼び出す。外部データ要求部106は、収集部107より呼び出しを受けると、他センサNWにセンサデータ取得要求を転送する。
送受信部109は、定期的に収集部107から起動され、自センサNW内のセンサ25にセンサデータ取得要求を送信したり、アダプタ28−1や他の集約装置29−1Aにセンサデータ取得要求を送信したりする。
また、集約装置29−1は、センサ25、アダプタ28−1、他の集約装置29−1Aからセンサデータやセンサデータ取得要求を受信する。受信したセンサデータや要求は、集約部104に通知される。センサデータの集約が完了すると、送受信部109は、集約部104から起動され、集約したセンサデータを収集サーバ26に送信する。
集約部104は、収集したセンサデータを集約、すなわち一時格納部103に順次格納する。集約部104は、集約が完了すると、送受信部109を経由して収集サーバ26へセンサデータを通知する。
転送部108は、グローバルネットワークを使用して他の集約装置29−1へセンサデータを転送する。
収集先決定部105は、収集部107から起動され、自センサNW内に対するセンサデータ取得要求と外部からのセンサデータ取得要求を受信し、自センサNW内の通信状況の判定を行う。収集先決定部105は、受信した要求が自センサNW内のセンサデータ取得要求であるかの判定をする場合、自センサNWを使用してセンサデータの取得ができるならば、自センサNW内を使用可能であることを収集部107に通知する。収集先決定部105は、自センサNWを使用してセンサデータの取得ができない、または自センサNWの通信品質の状況が悪い場合は、自センサNWが使用不可であることを収集部107に通知する。収集先決定部105は、受信した要求が外部からのセンサデータ取得要求であるかの判定をする場合、自センサNWを使用してアダプタ28−1にセンサデータ取得要求を送信可能ならば、自センサNWを使用可能であることを収集部107に通知する。それと共に、収集先決定部105は、使用するアダプタ28−1を収集部107に通知する。自センサNWを使用できない場合、収集先決定部105は、自センサNW内を使用不可であることを収集部107に通知する。
外部データ要求部106は、収集部107から起動され、外部の集約装置29−1Aに対してセンサデータ取得要求を発行する。
取得要求済情報テーブル110は、要求毎に付与された要求識別子と要求元の集約装置29−1などの情報を管理するために用いられる。
疎通確認要求部102は、集約装置29−1に接続されているアダプタ28−1に定期的にポーリングを行い、アダプタ28−1への所定のメッセージの到達確認を行う。疎通確認要求部102は、ポーリング結果(成功/失敗)をセンサNW管理部101に通知する。ポーリング成功時には、疎通確認要求部102は、アダプタ28−1から取得した近隣のセンサ情報もセンサNW管理部101に通知する。
センサNW管理部101は、取得したセンサデータに基づいて、センサNW内の各センサ25の稼働状況と近隣のアダプタ28−1を管理する。センサデータが自身のセンサNWから直接取得されたものである場合、センサNW管理部101は、当該センサデータを送信したセンサ25は正常に稼働しているものとしてそのセンサ25を管理する。センサデータが他の集約装置29−1Aを経由して取得されたものである場合、センサNW管理部101は、当該センサデータを送信したセンサ25は正常に稼働しているものとしてそのセンサを管理する。センサデータが取得できない場合、センサNW管理部101は、センサ25が正常に稼働していないものとしてそのセンサ25を管理する。
また、センサNW管理部101は、取得したセンサデータに基づいて、センサNWの通信品質状況を管理する。自身が担当するセンサNWから直接取得したセンサデータの取得時間が平均時間を大幅に超えている場合、センサNW管理部101は、センサNWの通信品質が劣化しているものとして、センサNWの通信品質状況を管理する。
センサNW管理情報格納部100は、センサの稼働状況やセンサNWの通信品質を保持するデータベースである。センサNW管理情報格納部100には、自センサNWについての、センサ稼動状況テーブル、センサNW状況テーブル、アダプタ−近隣センサ情報テーブルが格納されている。センサ稼動状況テーブル、センサNW状況テーブル、アダプタ−近隣センサ情報テーブルについては、図42−図44を用いて説明する。
図42は、第2の実施形態(実施例1)における自センサNW内のセンサ稼動状況テーブルを示す。稼動状況テーブル100−1は、自センサNW内のセンサの稼動状況を管理するテーブルである。稼動状況テーブル100−1は、「センサ識別子」、「稼動状況」、「平均時間」、「次回取得日時」、「前回取得日時」、「近隣アダプタ識別子」、「受信経路」のデータ項目を含む。
「センサ識別子」は、自センサNW内のセンサ25(集約装置29−1が管理するセンサ25)を識別する識別情報を示す。「稼動状況」は、そのセンサ25の稼動状況(正常稼動中、停止中、・・・等)を示す。「平均時間」は、集約装置29−1がセンサデータ取得要求を送信してから、その応答を受信するまでの所要時間の平均値を示す。「次回取得日時」は、次回のセンサデータの取得日時を示す。「前回取得日時」は、前回のセンサデータの取得日時を示す。「近隣アダプタ識別子」は、そのセンサ25の近隣にあるアダプタ28−1を識別する識別子を示す。「受信経路」は、センサデータをセンサから直接受信したか、または転送されたセンサデータを受信したか等の受信経路を示す。
図43は、第2の実施形態(実施例1)における自センサNWのセンサNW状況テーブルを示す。センサNW状況テーブル100−2は、自センサNWのセンサNWの日時別の通信品質(分断、高、中、低等)を管理する。
図44は、第2の実施形態(実施例1)におけるアダプタ−近隣センサ情報テーブルを示す。アダプタ−近隣センサ情報テーブル100−3は、「アダプタ識別子」、「センサNW」、「近隣センサ識別子」のデータ項目を含む。「アダプタ識別子」は、集約装置29−1と通信可能なアダプタ28−1を識別する識別情報を示す。「センサNW」は、そのアダプタ28−1が通信可能なセンサNWを示す。「近隣センサ識別子」は、そのアダプタ28−1と通信可能なセンサ25を識別する識別情報を示す。
図36の説明に戻る。通信部111は、センサNWインターフェース(IF)112とグローバルネットワークインタフェース(IF)113を含む。通信部111は、アダプタ28−1、センサ25、集約装置29−1及び収集サーバ26と、センサデータやセンサデータ取得要求の送受信を行う。
図45は、第2の実施形態(実施例1)におけるアダプタの機能ブロック図を示す。アダプタ28−1は、センサNW管理部121、疎通確認応答部122、センサNW情報格納部120、送受信部128、転送先決定部126、変換部129、変換ルール格納部127、通信部130を含む。
疎通確認応答部122は、アダプタ28−1と接続される各センサNWの集約装置29−1A,29−1Bから送信される疎通確認要求に対して応答を行う。疎通確認応答部122は、ポーリング結果として、アダプタ28−1近隣のセンサ情報を通知する。
センサNW管理部121は、アダプタ28−1近隣のセンサ情報を管理する。センサNW情報格納部120は、各センサNWの通信プロトコル、データフォーマットなどのセンサNW情報と、各センサNWに属しているセンサの識別子などのセンサ情報を保持するデータベースである。センサNW情報格納部120には、センサNW管理テーブル120−1、アダプタ管理テーブル120−2が格納されている。センサNW管理テーブル120−1、アダプタ管理テーブル120−2については、図46、図47を用いて説明する。
図46は、第2の実施形態(実施例1)におけるセンサNW管理テーブルの一例を示す。センサNW管理テーブル120−1は、各センサNWの通信プロトコル、データフォーマットなどのセンサNWに関する情報を管理するために用いられる。センサNW管理テーブル120−1は、「センサNW」、「集約装置のIPアドレス」、「通信プロトコル」、「データ取得要求データフォーマット」、「センサデータフォーマット」のデータ項目を含む。
「センサNW」は、センサNWの識別子を示す。「集約装置のIPアドレス」は、センサNWに対応する集約装置29−1のIPアドレスを示す。「通信プロトコル」は、センサNWの使用している通信プロトコルを示す。「データ取得要求データフォーマット」は、データ取得要求に用いるフォーマットを識別する識別情報を示す。「センサデータフォーマット」は、センサデータを送受信するときに用いるデータフォーマットを識別する識別情報を示す。
図47は、第2の実施形態(実施例1)におけるアダプタ管理テーブルの一例を示す。アダプタ管理テーブル120−2は、「アダプタ識別子」、「センサNW」、「センサ識別子」、「近隣センサ識別子」のデータ項目を含む。
「アダプタ識別子」は、アダプタを識別する識別子を示す。「センサNW」は、アダプタ28−1と通信可能なセンサ25のセンサNWを識別する識別情報を示す。「センサ識別子」は、前記「センサNW」内におけるアダプタ28−1のセンサ識別子を示す。「近隣センサ識別子」は、「アダプタ識別子」により特定されるアダプタの近隣にあるセンサの識別子を示す。
図45の説明に戻る。図45の送受信部128は、センサデータ取得要求またはセンサデータを受信する。送受信部128は、受信したセンサデータ取得要求またはセンサデータを転送先決定部126に通知する。
転送先決定部126は、センサデータ取得要求またはセンサデータから、センサデータ取得要求またはセンサデータの転送先を決定する。転送先決定部126は、転送先を決定後、変換部129にデータフォーマットの変換依頼を通知する。転送先決定部126は、変換部129によりデータフォーマット変換されたセンサデータを、その決定した転送先に送信する。
変換部129は、変換ルール格納部127に格納されているルール情報に従い、センサNWの通信プロトコルに合わせて、データフォーマット(センサデータ取得要求または取得済センサデータ)の変換を行う。
変換ルール格納部127は、センサデータ取得要求またはセンサデータを転送するため、データフォーマット変換ルール(テンプレートファイル)を管理するデータベースである。変換ルール格納部127は、取得要求変換ルールテーブル127−1、送信データ変換ルールテーブル127−2を含む。取得要求変換ルールテーブル127−1、送信データ変換ルールテーブル127−2については、図48〜図51を用いて説明する。
図48は、第2の実施形態(実施例1)における取得要求変換ルールテーブルの一例を示す。取得要求変換ルールテーブル127−1は、「センサNW」、「データフォーマット名」、「転送先プロトコル」、「フォーマット形式」、「テンプレートファイル名」のデータ項目を含む。
「センサNW」は、センサNWの識別子を示す。「データフォーマット名」は、そのセンサNWで使用しているデータフォーマットの名前を示す。「転送先プロトコル」は、同様にそのセンサNWで使用している通信プロトコルを示す。「フォーマット形式」は、テキスト形式かバイナリ形式か等のフォーマット形式を示す。「テンプレートファイル名」は、フォーマット変換用テンプレートファイル名を示す。
センサデータ取得要求時に用いるテンプレートファイルの例として、フォーマットPAの例を図49(A)に示し、フォーマットPBの例を図49(B)に示す。フォーマットPAは、XMLで記述され、センサ識別子(アダプタのセンサ識別子)、取得要求先のセンサ識別子、要求識別子をタグで囲んで記述される。フォーマットPBは、センサ識別子、取得要求先のセンサ識別子、要求識別子をテキスト形式で、フォーマットPAより直接的な形で記述される。フォーマットPCは、バイナリデータであるので、ここでは特に示さない。ここでは、データのフォーマットの例を示したが、実際には、システムの設計者が適切に設定すべきものである。
図50は、第2の実施形態(実施例1)における送信データ変換ルールテーブルの一例を示す。送信データ変換ルールテーブル127−2は、「センサNW」、「データフォーマット名」、「転送先プロトコル」、「フォーマット形式」、「テンプレートファイル名」のデータ項目を含む。
「センサNW」は、センサNWの識別子を示す。「データフォーマット名」は、そのセンサNWで使用しているデータフォーマットの名前を示す。「転送先プロトコル」は、同様にそのセンサNWで使用している通信プロトコルを示す。「フォーマット形式」は、テキスト形式かバイナリ形式か等のフォーマット形式を示す。「テンプレートファイル名」は、フォーマット変換用テンプレートファイル名を示す。
テンプレートファイルの例として、フォーマットAの例を図51(A)に示し、フォーマットBの例を図51(B)に示す。フォーマットAは、XMLで記述され、センサ識別子、転送先の集約装置のIPアドレス、要求識別子、及びセンサデータ(生データ)をタグで囲んで記述される。フォーマットBは、センサ識別子、転送先の集約装置のIPアドレス、要求識別子、及びセンサデータ(生データ)をテキスト形式で、フォーマットAより直接的な形で記述される。フォーマットPCは、バイナリデータであるので、ここでは特に示さない。ここではデータのフォーマットの例を示したが、実際には、システムの設計者が適切に設定すべきものである。
図45の説明に戻る。通信部130は、センサ25との間でセンサデータ取得要求又はセンサデータなどの送受信を行う。通信部130は、センサNWのトポロジー情報を管理し、近隣のセンサ情報をセンサNW管理部121に通知する。
図52は、第2の実施形態(実施例1)における集約装置の収集先決定のフローの一例を示す。集約装置の収集部107は、自センサNW内のセンサ25に対して、センサデータを定期的に収集するためにポーリングを行う。この場合、収集部107は、ポーリング毎に、収集先決定部105に、自センサNW内のセンサ25の識別子と共に、センサデータ取得要求の発行先の決定依頼を通知する。
収集先決定部105は、その決定依頼通知を受信すると、センサ稼動状況テーブル100−1(図42)を用いて、センサデータを取得する対象センサ(収集部107より通知されるセンサ識別子)が自センサNW内のセンサなのか否かを判断する(S201)。センサ稼動状況テーブル100−1に対象センサが存在しない場合(対象センサが自センサNW内のセンサでない場合)(S201で「No」)、収集先決定部105は、次の処理を行う。収集先決定部105は、アダプタ−近隣センサ情報テーブル100−3(図44)から、アダプタ28−1の「近隣センサ識別子」を抽出する(S202)。
収集先決定部105は、対象センサがいずれのアダプタ28−1経由でデータ取得可能なセンサか否かを判定する(S203)。ここでは、収集先決定部105は、対象センサの識別子がS202で抽出した「近隣センサ識別子」に含まれるか判定する。
収集先決定部105により対象センサの識別子がS202で抽出した「近隣センサ識別子」に含まれないと判定された場合(S203で「No」)、収集部107は、次の処理を行う。収集部107は、別の集約装置29−1へセンサデータ取得要求を転送するため、外部データ要求部106を呼び出す(S206)。
対象センサの識別子がS202で抽出した「近隣センサ識別子」に含まれると判定した場合(S203で「Yes」)、収集先決定部105は、次の処理を行う。収集先決定部105は、センサNW状況テーブル100−2(図43)から自センサNWの状態(通信品質)を抽出する(S204)。収集先決定部105は、抽出した自センサNWの状態(通信品質)が良好かを判定する(S205)。例えば、センサNW状況テーブル100−2(図43)の直近時刻の「通信品質」が「高」または「中」の場合、収集先決定部105は、自センサNWの状態(通信品質)が良好であると判断する。例えば、センサNW状況テーブル100−2(図43)の直近時刻の「通信品質」が「低」または「分断」の場合、収集先決定部105は、自センサNWの状態(通信品質)が良好でないと判断する。
S205で抽出した自センサNWの状態(通信品質)が良好でない場合(S205で「No」)、収集部107は、別の集約装置29−1へセンサデータ取得要求を転送するため、外部データ要求部106を呼び出す(S206)。
S205で抽出した自センサNWの状態(通信品質)が良好な場合(S205で「Yes」)、収集先決定部105は、アダプタ−近隣センサ情報テーブル100−3から、S202で抽出した「近隣センサ識別子」に対応する「アダプタ識別子」を取得する。収集先決定部105は、その取得したアダプタ識別子を収集部107へ通知する。収集部107は、その通知されたアダプタ識別子で識別されるアダプタ28−1へデータ取得要求を発行するため、送受信部109を呼び出す(S207)。収集部107は、取得要求済情報テーブル110(図40)に、アダプタ28−1へ発行するデータ取得要求に対応するデータを格納する(S208)。
センサ稼動状況テーブル100−1(図42)に対象センサが存在する場合(対象センサが自センサNW内のセンサである場合)(S201で「Yes」)、収集先決定部105は、次の処理を行う。収集先決定部105は、センサNW状況テーブル100−2(図43)からセンサNWの状態(通信品質)を抽出する(S209)。収集先決定部105は、その抽出した自センサNWの状態(通信品質)が良好かを判定する(S210)。
S209で抽出したセンサNWの状態(通信品質)が良好でない場合(S210で「No」)、収集部107は、別の集約装置へデータ取得要求を発行するため、外部データ要求部106を呼び出す(S211)。収集部107は、取得要求済情報テーブル110(図40)に、別の集約装置へ発行するデータ取得要求に対応するデータを格納する(S212)。
S209で抽出したセンサNWの状態が良好な場合(S210で「Yes」)、収集部107は、自センサNWのセンサへデータ取得要求を発行するため、送受信部109を呼び出す(S213)。収集部107は、取得要求済情報テーブル110(図40)に、自センサNWのセンサへ発行するデータ取得要求に対応するデータを格納する(S214)。
これにより、集約装置29−1は、自センサNWを介して、自センサNW内のセンサのセンサデータを収集できないことが判明した場合には、他の集約装置に対して、そのセンサデータを取得するセンサデータ取得要求を送信することができる。また、集約装置29−1は、他の集約装置から転送されたセンサデータ取得要求を受信した場合には、自身のセンサNWの通信品質に応じて、センサデータ取得要求を転送することができる。
図53は、第2の実施形態(実施例1)における集約装置とアダプタ間の疎通確認によるセンサNWの異常を検知(センサNWを監視)するシーケンスの一例を示す。集約装置29−1は、アダプタ28−1に対して定期的にポーリングを実施することで、センサNWの状態を監視する。
集約装置A(29−1A)の疎通確認要求部102は、通信部111を介して、アダプタA(28−1A)に疎通確認要求を行う(S221A、S222A)。ここで、集約装置A(29−1A)とアダプタA(28−1A)との間では、プロトコルAを使用しているので、プロトコルA用の通信部111が使用される。
アダプタA(28−1A)の疎通確認応答部122は、プロトコルA用の通信部130aを介して疎通確認要求を受信する(S223A)。アダプタA(28−1A)は、疎通確認要求に対する応答として、近隣センサ情報を、通信部130aを介して、集約装置A(29−1A)に送出する(S224A、S225A)。疎通確認要求に対する応答(近隣センサ情報)については、図54を用いて説明する。
図54は、第2の実施形態(実施例1)における近隣センサ情報の一例を示す。近隣センサ情報は、アダプタ28−1自身の近隣にあるセンサ25、すなわち、そのアダプタ28−1と通信可能(接続可能)なセンサ25の識別子の一覧情報を含む。
図53の説明に戻る。集約装置A(29−1A)の通信部111は、疎通確認要求に対する応答(近隣センサ情報)をアダプタA(28−1A)から受信すると、応答(近隣センサ情報)を疎通確認要求部102に通知する(S226A)。疎通確認要求部102は、疎通確認結果としてその通知された応答(近隣センサ情報)をセンサNW管理部101に通知する(S227A)。その疎通確認結果を受信すると、センサNW管理部101は、その通知された応答(近隣センサ情報)を用いて、センサNW管理情報格納部100を更新する(S228A)。具体的には、センサNW管理部101は、その応答の近隣センサ情報を用いて、その応答を返信したアダプタ28−1と、その近隣センサ情報に含まれるセンサ25の一覧の組をアダプタ−近隣センサ情報テーブル100−3に登録する。
疎通確認結果が受信できなかった場合、センサNW管理部101は、アダプタ28−1と集約装置29−1間のセンサNWは分断されていると判断する。このとき、センサNW管理部101は、センサNW状況テーブル100−2に、疎通確認要求を送信した日時と、通信品質に「分断」を登録する。
また、センサNW管理部101は、その疎通確認結果の受信に要する時間が予め設定した時間より長い場合、アダプタ28−1と集約装置29−1間のセンサNWの通信状態は良くないと判断する。このとき、センサNW管理部101は、センサNW状況テーブル100−2に、疎通確認要求を送信した日時と、通信品質に例えば「低」を登録する。
集約装置B(29−1B)の疎通確認要求部102がアダプタA(28−1A)に疎通確認要求を送信する場合も、集約装置A(29−1A)の場合と同様である(S221B〜S228B)。
これにより、集約装置29−1は、アダプタ28−1に疎通確認要求を送信し、その疎通確認要求に対するアダプタ28−1からの応答に応じて、自センサNWの異常を検知することができる。
図55は、第2の実施形態(実施例1)における通常時(センサNWに障害なし)のセンサデータ収集のシーケンスの一例を示す。図55は、図52のS210で「Yes」へ進んだ場合に実行されるシーケンスである。
集約装置29−1は、自センサNW内のセンサ25に対して定期的にポーリングを行い、センサデータを取得する。このとき、集約装置29−1は、自分の管理するセンサNW内のセンサ25からセンサデータを受信して集約し、その集約したセンサデータを収集サーバ26に送信する。
具体的には、集約装置29−1の収集部107は、収集先決定部105に取得先決定依頼を通知する(S231)。収集先決定部105は、図52の処理に基づいて、センサデータの取得先を収集部107に通知する(S232)。収集部107は、送受信部109、通信部111を介して、センサ25へセンサデータ取得要求を通知する(S233〜S235)。センサ25は、センサデータ取得要求を受信すると、センサデータを集約装置Aへ送信する(S236)。
収集部107は、通信部111、送受信部109を介して、センサデータを受信する(S237、S238)。収集部107は、受信したセンサデータを集約部104に送信する(S239)。このように、ポーリングに応じて、S231〜S239の処理を行うことにより、各センサ25から送信されたセンサデータが集約部104へ送信される。
集約部104は、各センサ25から送信されたセンサデータを集約、すなわち一時格納部103に保持する(S240)。集約部104は、集約したセンサデータ(一時格納部103に保持したセンサデータ)を、送受信部109、通信部111を介して、収集サーバ26へ送信する(S241〜S243)。
なお、センサNW管理部101は、センサデータの取得に要した時間とその平均を計測して、記憶装置に記憶している。センサNW管理部101は、センサデータの取得中にエラーが生じた場合、または、収集に長時間を要する(平均を大きく外れる)と判断した場合、次の処理を行う。センサNW管理部101は、センサNW状況テーブル100−2に、その判断した日時と共に、通信品質に例えば「分断」または「低」を登録する。
図56は、第2の実施形態(実施例1)における集約装置が、別のセンサNWを管理する集約装置を介してセンサデータを収集し、収集サーバに集約したセンサデータを送信するまでの機能ブロック間のシーケンスの一例を示す。ここでは、集約装置が自身のセンサNW内のセンサデータを収集できない場合に、別のセンサNWを管理する集約装置を介してセンサデータを収集し、収集サーバに集約したセンサデータを送信する。すなわち、図53において、センサNW管理部101が、集約装置29−1とアダプタ28−1間の疎通確認によるセンサNWの異常を検知した場合に実行されるシーケンスである。具体的には、図56は、図52のS205で「No」、またはS210で「No」へ進んだ場合に実行されるシーケンスである。
集約装置A(29−1A)は、集約装置B(29−1B)に、図39で示したセンサデータ取得要求を通知する(S251)。集約装置B(29−1B)は、センサデータ取得要求に含まれるセンサ識別子に対応するアダプタ28−1をセンサNW管理情報格納部100の各テーブルから検索し、センサデータ取得要求を、その検索されたアダプタ28−1に通知する(S252)。アダプタ28−1は、受信したセンサデータ取得要求に基づいて、対象センサ25にそのセンサデータ取得要求を通知する(S253)。
センサ25は、センサデータ取得要求を受信すると、アダプタ28−1に、図41に示すセンサデータをアダプタ28−1に返信する(S254)。アダプタ28−1は、受信したセンサデータを集約装置B(29−1B)に送信する(S255)。集約装置B(29−1B)は、集約装置A(29−1A)に、そのセンサデータを送信する(S256)。
集約装置A(29−1A)は、集約装置B(29−1B)から送信されたセンサデータを集約、すなわち一時格納部103に保持する(S257)。集約装置A(29−1A)は、集約したセンサデータ(一時格納部103に保持したセンサデータ)を収集サーバ26へ送信する(S258)。
次に、図56の各機能ブロック間の詳細シーケンスを、センサデータ取得要求までとセンサデータ収集部分に分けて、図57と図58に記述する。
図57は、図56のS251〜S253の詳細シーケンスの一例を示す。集約装置A(29−1A)の収集部107は、収集先決定部105に、対象センサから取得するセンサデータの取得先決定依頼を通知する(S251−1)。収集先決定部105は、図52のフローに基づいて、自センサNW内に、センサデータ取得対象のセンサ25がない旨を収集部107に通知する(S251−2)。収集部107は、集約装置B(29−1B)に対してセンサデータの取得を要求する旨を、外部データ要求部106に通知する(S251−3)。外部データ要求部106は、集約装置B(29−1B)に、図39で示したセンサデータ取得要求を通知する(S251−4)。
集約装置B(29−1B)の送受信部109は、集約装置A(29−1A)から送信されたセンサデータ取得要求を受信すると、収集部107へ送信する(S252−1)。収集部107は、センサデータ取得要求を受信すると、センサデータ取得要求内のセンサ識別子を含む取得先決定依頼を収集先決定部105へ通知する(S252−2)。
収集先決定部105は、図52のフローに基づいて、受信した取得先決定依頼のセンサ識別子に対応するアダプタをセンサNW管理情報格納部100の各テーブルから検索し、検索されたアダプタを取得先として収集部107に通知する(S252−3)。収集部107は、送受信部109を介して、検索されたアダプタ28−1に対して、センサデータ取得要求を通知する(S252−4,S252−5)。
アダプタ28−1の送受信部128は、集約装置B(29−1B)からセンサデータ取得要求を受信すると、転送先決定部126へ送信する(S253−1)。転送先決定部126は、受信したセンサデータ取得要求に基づいて、センサデータ取得要求の転送先となるセンサ25を決定し、変換部129にセンサデータのフォーマットの変換要求を通知する(S253−2)。変換部129は、図48に示す取得要求変換ルールテーブル127−1に従い、センサデータ取得要求のデータフォーマットの変換を行う。変換部129は、フォーマット変換したセンサデータ取得要求を転送先決定部126を介して、送受信部128に送信する(S253−3,S253−4)。送受信部128は、フォーマット変換したセンサデータ取得要求を、決定した転送先のセンサ25へ送信する(S253−5)。
図58は、図56のS254〜S258の詳細シーケンスの一例を示す。センサ25は、アダプタ28−1から送信されたセンサデータ取得要求を受信すると、センサデータをアダプタ28−1に送信する(S254−1)。
アダプタ28−1の送受信部128は、センサ25から送信されたセンサデータを受信すると、転送先決定部126へ返信する(S254−2)。転送先決定部126は、変換部129に、センサデータのフォーマット変換要求を通知する(S254−3)。変換部129は、図50の送信データ変換ルールテーブル127−2を参照し、その受信したセンサデータを転送先センサNWに対応したデータフォーマットへ変換する。変換部129は、フォーマット変換後のセンサデータを転送先決定部126へ送信する(S254−4)。転送先決定部126は、送受信部128を介して、集約装置B(29−1B)へフォーマット変換後のセンサデータを送信する(S254−5、S255−1)。
集約装置B(29−1B)の送受信部109は、アダプタ28−1から送信されたセンサデータを受信すると、外部のセンサNWよりセンサデータを取得した旨を収集部107を介して転送部108に通知する(S255−2、S255−3)。転送部108は、送受信部109を介して、その外部のセンサNWのセンサデータを集約装置A(29−1A)に転送する(S255−4,S256−1)。
集約装置A(29−1A)の送受信部109は、集約装置B(29−1B)から送信されたセンサデータを受信すると、収集部107を介して、集約部104へ送信する(S256−2、S256−3)。集約部104は、受信したセンサデータを集約、すなわち一時格納部103に保持する(S257)。集約部104は、集約したセンサデータ(一時格納部103に保持したセンサデータ)を送受信部109を介して、収集サーバ26へ送信する(S258−1,S258−2)。
これにより、集約装置29−1Aは、集約装置29−1Bを介して、アダプタ28−1にセンサデータの取得を要求する旨のセンサデータ取得要求を送信する。集約装置29−1Aは、集約装置29−1Bを介して、アダプタ28−1からセンサデータ取得要求に対応するセンサデータを取得することができる。
なお、図57及び図58では、通信部111,130を省略して記述している。実際には、送受信部109,128よりもネットワーク側に通信部111,130が配置され、データの送受信を行っている。
図59は、第2の実施形態(実施例1)における外部のセンサNWから発行されたセンサデータ取得要求を他の集約装置に転送する全体のシーケンスの一例を示す。図59のシーケンスは、図56のシーケンスにおいて、集約装置A(29−1A)と集約装置B(29−1B)との間に、集約装置X(29−1X)を追加したものである。図59は、図52のS203で「No」へ進んだ場合に実行されるシーケンスである。
集約装置A(29−1A)は、センサデータ取得要求を発行する(S261)。集約装置X(29−1X)は、集約装置A(29−1A)から発行されたセンサデータ取得要求を受信すると、そのセンサデータ取得要求を集約装置B(29−1B)に転送する(S262)。これ以降は、図56のS252−S258の処理を行う。
図60は、図59のS261−S262の詳細シーケンスの一例を示す。集約装置A(29−1A)は、集約装置X(29−1X)に、図39で示したセンサデータ取得要求を通知する(S261)。
集約装置X(29−1X)の通信部111は、集約装置A(29−1A)から送信された外部センサデータ取得要求を受信する。すると、通信部111は、送受信部109を介して、外部センサデータ取得要求を収集部107へ送信する(S262−1、S262−2)。
収集部107は、外部センサデータ取得要求を受信すると、外部センサデータ取得要求に含まれるセンサ識別子を用いて、取得先決定依頼を収集先決定部105へ通知する(S262−3)。
収集先決定部105は、図52のフローに基づいて、自センサNW内に、センサデータの取得が可能なセンサ25がない旨を収集部107に通知する(S262−4)。収集部107は、図52のS206またはS211で示すように、集約装置B(29−1B)に対してセンサデータの取得を要求する旨を、外部データ要求部106に通知する(S262−5)。外部データ要求部106は、通信部111を介して、集約装置B(29−1B)に、図39で示したセンサデータ取得要求を転送する(S262−6,S262−7)。
(実施例2)
第2の実施形態(実施例2)は、第2の実施形態(実施例1)にスケジューリング機能を追加し、予め通信容量に余裕がある時間帯に他センサが通信路として利用することが可能になる方法について示す。なお、本実施例では、第1の実施形態及び第2の実施形態(実施例1)と同様の構成、機能については同一の符号を付し、その説明を省略する。
第2の実施形態(実施例2)では、全体システム構成、センサ25、収集サーバ26、管理サーバ27、アダプタ28−1は、第2の実施形態(実施例1)と同様であるため、その説明を省略する。また、集約装置29−1についても、以下で説明する点以外については、第2の実施形態(実施例1)と同様である。
図61は、第2の実施形態(実施例2)におけるスケジューリングテーブルの一例を示す。スケジューリングテーブル100−4は、センサNW管理情報格納部100に格納されている。スケジューリングテーブル100−4は、「スケジュール識別子」、「開始時刻」、「間隔」、「開始日」、「終了日」、「次回実行時刻」のデータ項目を含む。
「スケジュール識別子」は、スケジューリングテーブル100−4のスケジュール情報を識別する識別子を示す。「開始時刻」は、ポーリングの開始時刻を示す。「間隔」は、ポーリング間隔を示す。「開始日」は、ポーリングを行う期間の始期(日付)を示す。「終了日」は、ポーリングを行う期間の末日(日付)を示す。「次回実行時刻」は、次回の実行時刻を示す。
収集部107は、第2の実施形態(実施例1)の処理に加え、センサNW管理情報格納部100に格納されているスケジューリングテーブル100−4を参照し、センサデータ収集の時期または時間帯に起動した場合、ポーリング処理を実行する。一方、収集部107は、センサデータ収集の時間帯以外に起動した場合、ポーリング処理を実行せずに終了する。
センサNW管理部101は、第2の実施形態(実施例1)の処理に加え、センサデータ収集時間帯の情報を管理する。例えば、センサNW管理部101は、スケジューリングテーブル100−4の「次回実行時刻」を「開始時刻」に「間隔」を加えた時刻で更新する。
第2の実施形態(実施例2)では、第2の実施形態(実施例1)のポーリング処理のタイミングが異なるが、動作例は実施例1と同様である。具体的には、図55のS231または図57のS251−1で、スケジューリングテーブル100−4のスケジュール情報に応じて、収集部107が起動する。
これにより、集約装置29−1は、予め設定された日時情報に基づいて、センサデータ取得要求を送信することができるため、それ以外の時間帯に他センサが通信路として利用することが可能となる。
(実施例3)
第2の実施形態(実施例1)では、随時センサデータを収集した。それに対して、第2の実施形態(実施例3)では、センサ25からデータを一定期間収集する収集方法を指定可能とし、アダプタがセンサデータを一定時間取得したら、まとめて集約装置に送信することについて説明する。なお、本実施例では、第1の実施形態及び第2の実施形態(実施例1、実施例2)と同様の構成、機能については同一の符号を付し、その説明を省略する。
第2の実施形態(実施例3)では、全体システム構成、センサ25、収集サーバ26、管理サーバ27は、実施例1と同様であるため、その説明を省略する。
図62は、第2の実施形態(実施例3)における集約装置の機能ブロック図を示す。図62の集約装置29−1は、図38と同様に、収集部107とセンサNW管理情報格納部100との間の関係線がない構成である。以下では、第2の実施形態(実施例3)と動きの異なる収集部107、収集先決定部105、取得要求済情報テーブル110、センサNW管理部101、センサNW管理情報格納部100について、以下に記述する。
収集先決定部105は、第2の実施形態(実施例1)の処理に加え、センサNW管理情報格納部100から、集約数、収集間隔等の収集方法情報を参照し、その収集方法情報を取得要求済情報テーブル110に格納する。収集先決定部105は、その収集方法情報を収集部107に通知する。
センサNW管理部101は、第2の実施形態(実施例1)の処理に加え、各センサ25のデータ収集方法を管理する。
収集部107は、第2の実施形態(実施例1)の処理に加え、収集先決定部105から収集方法情報が通知された場合、外部からのセンサデータ取得要求時の収集方法として、次の処理を行う。収集部107は、送受信部109を介して、収集先決定部105より通知された収集方法情報を含むセンサデータ取得要求としてアダプタ28−1に送信する。このセンサデータ取得要求の内容は、アダプタ28−1に対して一定時間センサ25からデータを取得し、その取得した回数分のセンサデータをまとめて集約装置29−1に返信するよう要求するものである。
図63は、第2の実施形態(実施例3)におけるセンサ稼動状況テーブルの一例を示す。センサ稼動状況テーブル100−1aは、図42のセンサ稼動状況テーブル100−1に、「集約数」、「収集間隔」のデータ項目を追加したものである。「集約数」は、センサデータ取得要求に対応するセンサデータを一時格納部123に保持する回数を示す。「収集間隔」は、センサデータの収集間隔を示す。
図64は、第2の実施形態(実施例3)における取得要求済情報テーブルの一例を示す。取得要求済情報テーブル110aは、図40の取得要求済情報テーブル110に、「集約数」、「収集間隔」のデータ項目を追加したものである。
図65は、第2の実施形態(実施例3)におけるアダプタの機能ブロック図を示す。図65は、図45のアダプタ28−1に、一時格納部123、集約部124、収集部125を加えたものである。以下では、第2の実施形態(実施例1)と動きの異なる部分について説明する。
送受信部128は、センサデータ取得要求やセンサデータを受信し、受信した旨を収集部125に通知する。
収集部125は、送受信部128からセンサデータ取得要求を受信し、センサデータ取得要求に含まれる「集約数」及び「収集間隔」の値を取得する。取得した集約数が0より大きい値が設定されている場合、収集部125は、その取得した収集間隔で、対象センサ25に対してポーリングを行い、センサデータ取得要求を発行する。ここでは、収集部125は、センサデータ取得要求から取得した集約数分、当該アダプタ28−1と通信可能なセンサ25にポーリングを実行する。なお、センサデータ取得要求から取得した集約数が0の場合、収集部125は、1回、当該アダプタ28−1と通信可能なセンサ25にセンサデータ取得要求を発行する。
収集部125は、センサデータ取得要求に対するセンサデータを対象センサ25から受信した場合、集約部124にセンサデータを通知する。集約部124は、収集部125から受信したセンサデータを集約(一時格納部123に格納)する。集約部124によりセンサデータ取得要求に設定された集約数分のセンサデータが集約(一時格納部123に保持)された場合、収集部125は、集約装置29−1に、その集約したセンサデータを送信する。センサデータ送信時は、転送先決定部126は、第2の実施形態(実施例1)で説明したように、センサデータの転送先及びデータ変換を実施し、送受信部128を経由して、集約装置29−1にセンサデータを送信する。
図66は、第2の実施形態(実施例3)におけるセンサデータ取得要求時に用いるテンプレートファイルの一例を示す。図66(A)は、フォーマットPAの例を示す。図66(A)は、図49(A)に、集約数(150)、収集間隔(151)のタグを追加したものである。図66(B)は、フォーマットPBの例を示す。図66(B)は、図49(B)に、集約回数(152)、収集間隔(153)をテキスト形式で追加したものである。
図67は、第2の実施形態(実施例3)におけるセンサデータ送信時に用いるテンプレートファイルの一例を示す。図67(A)は、フォーマットPAの例を示す。図67(A)は、図51(A)と同様である。図67(B)は、フォーマットPBの例を示す。図67(B)は、図51(B)に、集約回数(154)、収集間隔(155)をテキスト形式で追加したものである。
次に、第2の実施形態(実施例3)の動作例として、各機能ブロック間のシーケンスを示す。以下では、第2の実施形態(実施例1)と動作の異なるアダプタに関して、全体シーケンスと詳細シーケンスを記述する。
図68は、第2の実施形態(実施例3)におけるアダプタにてセンサデータを集約する際の全体シーケンスの一例を示す。集約装置A(29−1A)は、集約装置B(29−1B)に、図66で示した集約回数、収集間隔等の収集方法情報を含むセンサデータ取得要求を通知する(S271)。
集約装置B(29−1B)は、センサデータ取得要求に含まれるセンサ識別子に対応するアダプタ28−1をセンサNW管理情報格納部100の各テーブルから検索する。集約装置B(29−1B)は、センサデータ取得要求を、その検索されたアダプタ28−1に通知する(S272)。
アダプタ28−1は、センサデータ取得要求の収集方法情報に基づいて、自身と通信可能なセンサ25に対して、複数回ポーリングを行って、そのセンサデータ取得要求を所定の間隔で通知する(S273)。アダプタ28−1は、センサ25へのセンサデータ取得要求の通知毎に、センサ25からセンサデータを受信する(S274)。
アダプタ28−1は、受信したセンサデータを集約(一時格納部123に保持)し(S275)、集約したセンサデータ(一時格納部123に保持したセンサデータ)を集約装置B(29−1B)に送信する(S276)。
集約装置B(29−1B)は、集約装置A(29−1A)に、そのセンサデータを送信する(S277)。
集約装置A(29−1A)は、集約装置B(29−1B)から送信されたセンサデータを集約(一時格納部103に保持)する(S278)。集約装置A(29−1A)は、集約したセンサデータ(集約済センサデータ)を収集サーバ26へ送信する(S279)。
図69は、図68のS272〜S276の詳細シーケンスの一例を示す。集約装置B(29−1B)は、センサデータ取得要求に含まれるセンサ識別子に対応するアダプタ28−1をセンサNW管理情報格納部100の各テーブルから検索する。集約装置B(29−1B)は、センサデータ取得要求を、その検索されたアダプタ28−1に通知する(S272)。
アダプタ28−1の通信部130は、集約装置B(29−1B)からセンサデータ取得要求を受信すると、送受信部128を介して、収集部125へ転送する(S281,S282)。収集部125は、転送先決定部126に転送先決定要求を通知する(S283)。
転送先決定部126は、受信したセンサデータ取得要求に基づいて、センサデータ取得要求の転送先となるセンサ25を決定し、変換部129にセンサデータのフォーマットの変換要求を通知する(S284)。変換部129は、図48に示す取得要求変換ルールテーブル127−1に従い、センサデータ取得要求のデータフォーマットの変換を行う。変換部129は、フォーマット変換したセンサデータ取得要求を転送先決定部126に返信する(S285)。そのあと、転送先決定部126はS284で決定した転送先とS285でフォーマット変換したセンサデータ取得要求を収集部125に通知する(S286)。
収集部125は、センサデータ取得要求から収集方法情報(「集約回数」、「収集間隔」)を読み出す。収集部125は、送受信部128、通信部130を介して、センサ25にセンサデータ取得要求を送信する(S287,S288,S273)。センサ25は、そのセンサデータ取得要求を受信すると、アダプタ28−1にセンサデータを送信する(S274)。
集約部124は、通信部130、送受信部128、収集部125を介して、センサ25からのセンサデータを受信する(S289,S290,S291)。集約部124は、センサデータを集約、すなわち一時格納部123に保持する(S275)。
収集部125によって読み出された収集方法情報(集約回数、収集間隔)に応じて、ポーリング対象のセンサ25に対して、S287〜S288→S273〜S274→S289〜S291→S275の処理が繰り返される。
その後、集約部124は、収集部125、送受信部128、通信部130を介して、集約したセンサデータを集約装置B(29−1B)へ送信する(S293〜S295,S276)。
これにより、アダプタ28−1は、指定された回数に応じて、センサデータを取得して保持する。アダプタ28−1は、回数分保持したセンサデータを集約装置29−1へ送信することができる。
第2の実施形態によれば、センサデータ収集システムは、第1の集約装置、第2の集約装置、アダプタを含む。第1の集約装置は、第1の観測量を測定する複数の第1のセンサが接続された第1のセンサNWとそれらのセンサデータをポーリング型で集約する。第2の集約装置は、第2の観測量を測定する複数の第2のセンサが接続された第2のセンサNWとそれらのセンサデータをポーリング型で集約する。アダプタは、第1の集約装置が第1のセンサNWを介して第1のセンサに対してセンサデータ取得要求を発行できない場合に、グローバルネットワークでつながった第2の集約装置へセンサデータ取得要求を発行する。アダプタは、第2の集約装置による、第2のセンサNWを経由して第1のセンサNW内の第1のセンサに対してセンサデータ取得要求が発行可能なように接続されている。
このように構成することにより、センサNWにおいて、使用不能となったセンサの存在等のため、センサNW内の通信が分断されても、センサデータを収集することができるので、センサデータの収集効率を向上させることができる。
また、第2の集約装置は、第1のセンサデータを収集できない場合、さらに別の集約装置へセンサデータ取得要求を転送する。
また、第1の集約装置において、センサデータ取得要求を第2の集約装置に対して発行する際にセンサデータ収集方法を指定するようにしてもよい。この場合、アダプタは、指定された収集方法にあわせてセンサデータを集約(一時格納部に保持)することができる。
また、アダプタに対して、ポーリングの条件としてセンサの使用時期にあわせたセンサデータ取得スケジュールを指定可能にしてもよい。
図70は、第1または第2の実施形態を適用したコンピュータのハードウェア環境の構成ブロック図である。コンピュータ200は、第1または第2の実施形態の処理を行うプログラムを読み込むことにより、アダプタ28,28−1、集約装置29,29−1、収集サーバ26、または管理サーバ27として機能する。
コンピュータ200は、出力I/F201、CPU202、ROM203、通信I/F204、入力I/F205、RAM206、記憶装置207、読み取り装置208、バス209を含む。コンピュータ200は、出力機器211、及び入力機器212と接続可能である。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス209には、出力I/F201CPU202、ROM203、通信I/F204、入力I/F205RAM206、記憶装置207、読み取り装置208が接続されている。読み取り装置208は、可搬型記録媒体を読み出す装置である。出力機器211は、出力I/F201に接続されている。入力機器212は、入力I/F205に接続されている。
記憶装置207としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。
記憶装置207またはROM203には、例えば、上記第1または第2の実施形態で説明した処理を実現するアダプタ28,28−1、集約装置29,29−1、収集サーバ26、または管理サーバ27のプログラムが格納されている。また、記憶装置207またはROM203は、一時格納部33,37,42,50、センサ/NW管理情報格納部55、センサNW情報格納部65、ルール格納部66としてデータを記憶することもできる。また、記憶装置207またはROM203は、センサNW管理情報格納部100、一時格納部103、センサNW情報格納部120、一時格納部123、変換ルール格納部127としてデータを記憶することもできる。
CPU202は、記憶装置207等に格納した上記第1または第2の実施形態で説明した処理を実現するプログラムを読み出し、当該プログラムを実行する。具体的には、CPU202は、当該プログラムを実行することにより、アダプタ28,28−1、集約装置29,29−1、収集サーバ26、管理サーバ27として機能する。
第1または第2の実施形態で説明した処理を実現するプログラムは、プログラム提供者側から通信ネットワーク210、および通信I/F204を介して、例えば記憶装置207に格納してもよい。また、第1または第2の実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置208にセットされて、CPU202によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置208によって読み取られる。
また、入力機器212には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器211には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク210は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。