(57)【要約】【課題】処理負荷を抑え、かつ、システム構成の変更に柔軟に対応できる、センサデータのデータ量を削減するためのフィルタリングを実現する。【解決手段】複数のセンサから取得したセンサデータを計算機に転送するゲートウェイ装置であって、配列型のデータから取得する要素を指定する情報であるリストマップを管理するためのリストマップ管理情報を保持し、センサからセンサデータを取得した場合、センサデータから配列型のデータである変換データを生成し、リストマップ管理情報に格納されるリストマップに基づいて、変換データの任意の要素を取得することによってセンサ情報を生成し、計算機にセンサ情報を送信する。【選択図】図５
2020008928.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサから取得したセンサデータを少なくとも一つの計算機に転送するゲートウェイ装置であって、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを備え、
前記記憶装置は、配列型のデータから取得する要素を指定する情報であるリストマップを管理するためのリストマップ管理情報を格納し、
前記演算装置は、
前記インタフェースを介して、少なくとも一つの前記センサから前記センサデータを取得した場合、前記センサデータから配列型のデータである変換データを生成し、
前記リストマップ管理情報に格納される前記リストマップに基づいて、前記変換データの任意の要素を取得することによってセンサ情報を生成し、
前記少なくとも一つの計算機に前記センサ情報を送信することを特徴とするゲートウェイ装置。
【請求項２】
請求項１に記載のゲートウェイ装置であって、
前記リストマップは、前記変換データを表す配列の行に対応するビット列に基づいて算出される数値を用いて定義される値であることを特徴とするゲートウェイ装置。
【請求項３】
請求項２に記載のゲートウェイ装置であって、
前記少なくとも一つの計算機から、前記変換データを表す配列に対応するビットマップを、前記リストマップを設定するための情報として受信した場合、前記ビットマップに含まれ、前記変換データを表す配列の行に対応するビット列に基づいて、前記数値を算出し、
前記変換データを表す配列の各行から算出された前記数値を結合した値を前記リストマップとして前記リストマップ管理情報に登録することを特徴とするゲートウェイ装置。
【請求項４】
請求項３に記載のゲートウェイ装置であって、
前記リストマップ管理情報は、前記センサ情報の送信先となる計算機の宛先情報及び前記リストマップを対応づけたエントリを格納し、
前記演算装置は、
前記リストマップ管理情報から前記リストマップを選択し、
前記選択されたリストマップに基づいて、前記センサ情報を生成し、
前記選択されたリストマップに対応付けられる前記宛先情報に基づいて、前記少なくとも一つの計算機に前記センサ情報を送信することを特徴とするゲートウェイ装置。
【請求項５】
複数のセンサから取得したセンサデータを少なくとも一つの計算機に転送するゲートウェイ装置が実行するデータ転送方法であって、
前記ゲートウェイ装置は、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを有し、
前記記憶装置は、配列型のデータから取得する要素を指定する情報であるリストマップを管理するためのリストマップ管理情報を格納し、
前記データ転送方法は、
前記演算装置が、前記インタフェースを介して、少なくとも一つの前記センサから前記センサデータを取得した場合、前記センサデータから、配列型のデータである変換データを生成する第１のステップと、
前記演算装置が、前記リストマップ管理情報に格納される前記リストマップに基づいて、前記変換データの任意の要素を取得することによってセンサ情報を生成する第２のステップと、
前記演算装置が、前記少なくとも一つの計算機に前記センサ情報を送信する第３のステップと、を含むことを特徴とするデータ転送方法。
【請求項６】
請求項５に記載のデータ転送方法であって、
前記リストマップは、前記変換データを表す配列の行に対応するビット列に基づいて算出される数値を用いて定義される値であることを特徴とするデータ転送方法。
【請求項７】
請求項６に記載のデータ転送方法であって、
前記演算装置が、前記少なくとも一つの計算機から、前記変換データを表す配列に対応するビットマップを、前記リストマップを設定するための情報として受信した場合、前記ビットマップに含まれ、前記変換データを表す配列の行に対応するビット列に基づいて、前記数値を算出するステップと、
前記演算装置が、前記変換データを表す配列の各行から算出された前記数値を結合した値を前記リストマップとして前記リストマップ管理情報に登録するステップと、を含むことを特徴とするデータ転送方法。
【請求項８】
請求項７に記載のデータ転送方法であって、
前記リストマップ管理情報は、前記センサ情報の送信先となる計算機の宛先情報及び前記リストマップを対応づけたエントリを格納し、
前記第２のステップは、
前記演算装置が、前記リストマップ管理情報から前記リストマップを選択するステップと、
前記演算装置が、前記選択されたリストマップに基づいて、前記センサ情報を生成するステップと、を含み、
前記第３のステップは、前記演算装置が、前記選択されたリストマップに対応付けられる前記宛先情報に基づいて、前記少なくとも一つの計算機に前記センサ情報を送信するステップを含むことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のセンサと接続するゲートウェイ装置のセンサデータの送信技術に関する。
【背景技術】
【０００２】
ＩｏＴの様々な機器にセンサを取り付け、センサが計測した値（センサデータ）を活用するシステムの利用が拡大している。
【０００３】
センサデータは、ゲートウェイ装置等を介して分析等を行うサーバに送信される。しかし、全てのセンサからセンサデータが送信された場合、ネットワーク負荷及びサーバの処理負荷が大きくなるという問題がある。
【０００４】
そこで、センサデータの送信技術として様々な技術が検討されている。例えば、特許文献１には、サーバの負荷及び通信量を軽減し、緊急性の高いデータに対するリアルタイム性を確保するセンサデータ収集システムが記載されている。また、特許文献２には、異常判定のために重要なセンサデータを逃さずにセンサデータの量を効果的に削減するセンサデータ処理方法が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−２８７４２号公報
【特許文献２】特開２０１８−８４８５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
センサデータは、ビットの配列であるため、特許文献１及び特許文献２に記載されているようなデータの圧縮では送信するセンサデータのデータ量を効率的に削減できない可能性がある。
【０００７】
そこで、ゲートウェイ装置が、フィルタリングを行ってセンサデータに含まれる値の中からサービスに必要なデータのみを取得し、取得した値のみをサーバに送信することができれば、データ量を効率的に削減できる。
【０００８】
しかし、フィルタリングの設定をゲートウェイ装置に行う必要がある。また、サービスの追加又はサービス内容の変更に伴って、フィルタリングの設定を追加又は変更する必要がある。フィルタリングの設定、追加、及び変更には、ゲートウェイ装置のファームウェアの更新又はゲートウェイ装置の入替え等を行う必要がある。システムに含まれるゲートウェイ装置の数は膨大であるため、システムの運用コストが高くなるという問題がある。
【０００９】
また、センサデータはＸＭＬ形式のデータであることが多いため、フィルタリング設定に合致する値をセンサデータから取得するために、全文検索を行う必要がある。したがって、従来のフィルタリングでは、処理負荷が大きいという問題がある。
【００１０】
本発明は、処理負荷を抑え、かつ、システム構成の変更に柔軟に対応できる、センサデータのデータ量を削減するためのフィルタリングを実現するシステム及び方法を提供する。
【課題を解決するための手段】
【００１１】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のセンサから取得したセンサデータを少なくとも一つの計算機に転送するゲートウェイ装置であって、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続されるインタフェースを備え、前記記憶装置は、配列型のデータから取得する要素を指定する情報であるリストマップを管理するためのリストマップ管理情報を格納し、前記演算装置は、前記インタフェースを介して、少なくとも一つの前記センサから前記センサデータを取得した場合、前記センサデータから配列型のデータである変換データを生成し、前記リストマップ管理情報に格納される前記リストマップに基づいて、前記変換データの任意の要素を取得することによってセンサ情報を生成し、前記少なくとも一つの計算機に前記センサ情報を送信する。
【発明の効果】
【００１２】
本発明によれば、処理負荷を抑え、かつ、システム構成の変更に柔軟に対応できる、センサデータのデータ量を削減するためのフィルタリングを実現できる。
【図面の簡単な説明】
【００１３】
【図１】実施例１のシステムの構成例を示す図である。
【図２】実施例１のゲートウェイ装置の構成例を示す図である。
【図３Ａ】実施例１の変換データのデータ構造の一例を示す図である。
【図３Ｂ】実施例１のデータ構造定義情報のデータ構造の一例を示す図である。
【図４Ａ】実施例１のリストマップのデータ構造の一例を示す図である。
【図４Ｂ】実施例１のリストマップの管理方法を説明する図である。
【図４Ｃ】実施例１のリストマップ管理情報のデータ構造の一例を示す図である。
【図５】実施例１のゲートウェイ装置が実行する処理の流れを示す図である。
【図６】実施例１のゲートウェイ装置がリストマップ登録要求を受け付けた場合に実行する処理の一例を説明するフローチャートである。
【図７】実施例１のゲートウェイ装置がセンサ情報を送信する場合に実行する処理の一例を説明するフローチャートである。
【図８】実施例２のゲートウェイ装置がセンサ情報を送信する場合に実行する処理の一例を説明するフローチャートである。
【図９】実施例２のゲートウェイ装置がセンサ情報を送信する場合に実行する処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１５】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【実施例１】
【００１６】
図１は、実施例１のシステムの構成例を示す図である。
【００１７】
システムは、ゲートウェイ装置１００、複数のセンサ１１０、及び複数のサーバ１２０から構成される。図１に示すシステムは、Ｍ個のセンサ１１０及びＮ個のサーバ１２０を含む。
【００１８】
ゲートウェイ装置１００は、ネットワークを介して、複数のセンサ１１０と接続し、また、複数のサーバ１２０と接続する。ネットワークは、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。また、ネットワークの接続方式は無線及び有線のいずれでもよい。
【００１９】
なお、ゲートウェイ装置１００は、直接、複数のセンサ１１０と接続してもよいし、また、直接、複数のサーバ１２０と接続してもよい。
【００２０】
センサ１１０は、監視オブジェクトに関連する値を計測する。監視オブジェクトは、例えば、家電等である。センサ１１０は、計測値等の複数の項目値を含むセンサデータ１４０をゲートウェイ装置１００に送信する。なお、本発明は、監視オブジェクトの種類に限定されず、また、センサ１１０が計測する値の種類に限定されない。
【００２１】
ゲートウェイ装置１００は、センサ１１０から取得したセンサデータ１４０を用いてセンサ情報１５０を生成し、サーバ１２０にセンサ情報１５０を送信する。
【００２２】
より具体的には、ゲートウェイ装置１００は、センサデータ１４０を２次元配列に変換し、リストマップを用いて２次元配列の所定の要素（項目値）を取得することによってセンサ情報１５０を生成する。リストマップは、２次元配列（配列型のデータ）から取得する要素を指定するための情報である。以下の説明では、センサデータ１４０を変換することによって生成される２次元配列を変換データと記載する。
【００２３】
ゲートウェイ装置１００は、後述するように、各サーバ１２０に設定されたリストマップを管理する。そのため、各サーバ１２０に送信されるセンサ情報１５０は必ずしも一致しない。センサ情報１５０は、センサデータ１４０から取得された要素のみを含むためデータ量が小さくなる。
【００２４】
サーバ１２０は、センサ情報１５０を用いた処理を実行する。例えば、監視オブジェクトの状態分析等の処理を実行する。なお、本発明は、サーバ１２０が実行する処理に限定されない。
【００２５】
図２は、実施例１のゲートウェイ装置１００の構成例を示す図である。
【００２６】
ゲートウェイ装置１００は、プロセッサ２００、メモリ２０１、及びネットワークインタフェース２０２を有する。プロセッサ２００、メモリ２０１、及びネットワークインタフェース２０２は、内部バス等を介して互いに接続される。
【００２７】
なお、ゲートウェイ装置１００は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、キーボード及びマウス等の入力装置、並びに、ディスプレイ及びタッチパネル等の出力装置を有してもよい。また、ゲートウェイ装置１００は、外部の入力装置及び出力装置と接続するＩＯインタフェースを有してもよい。
【００２８】
プロセッサ２００は、少なくとも一つの演算コアを有する演算装置であって、メモリ２０１に格納されるプログラムを実行する。プロセッサ２００がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ２００が当該モジュールを実現するプログラムを実行していることを示す。
【００２９】
メモリ２０１は、プロセッサ２００が実行するプログラム及びプログラムが使用する情報を格納する。また、メモリ２０１は、プログラムが一時的に使用するワークエリアを含む。メモリ２０１は、揮発性メモリ及び不揮発性メモリのいずれでもよい。メモリ２０１に格納されるプログラム及び情報については後述する。
【００３０】
ネットワークインタフェース２０２は、ネットワークを介して外部装置と接続するためのインタフェースである。
【００３１】
ここで、メモリ２０１に格納されるプログラム及び情報について説明する。メモリ２０１は、制御部２１０を実現するプログラムを格納する。また、メモリ２０１は、データ構造定義情報２２０及びリストマップ管理情報２３０を格納する。
【００３２】
データ構造定義情報２２０は変換データの定義情報を格納する。変換データのデータ構造及びデータ構造定義情報２２０の詳細は、図３Ａ及び図３Ｂを用いて説明する。
【００３３】
リストマップ管理情報２３０はリストマップの情報を格納する。リストマップのデータ構造及びリストマップ管理情報２３０の詳細は、図４Ａ、図４Ｂ、及び図４Ｃを用いて説明する。
【００３４】
制御部２１０は、ゲートウェイ装置１００全体を制御する。制御部２１０は、リストマップ登録部２１１、前処理部２１２、データ生成部２１３、及び送信部２１４を含む。
【００３５】
リストマップ登録部２１１は、サーバ１２０からリストマップの登録要求を受け付け、リストマップ管理情報２３０にリストマップの情報を登録する。前処理部２１２は、データ構造定義情報２２０を参照して、センサ１１０から取得したセンサデータ１４０を変換データに変換する。データ生成部２１３は、リストマップ管理情報２３０を参照し、変換データから所定の項目値を取得することによってセンサ情報１５０を生成する。送信部２１４は、サーバ１２０にセンサ情報１５０を送信する。
【００３６】
なお、制御部２１０に含まれる各機能部は、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【００３７】
図３Ａは、実施例１の変換データのデータ構造の一例を示す図である。図３Ｂは、実施例１のデータ構造定義情報２２０のデータ構造の一例を示す図である。
【００３８】
データ構造３００は、変換データのデータ構造を示す。変換データは、図３Ａに示すような２次元配列として定義される。各要素のアルファベットは項目値の識別情報を表す。実施例１では、変換データの横方向を行と呼び、縦方向を列と呼ぶ。なお、センサ１１０から取得するセンサデータ１４０は、必ずしも全ての要素に対応する項目値を含まなくてもよい。
【００３９】
データ構造定義情報２２０は、ＩＤ３０１、データ名３０２、及び要素３０３から構成されるエントリを格納する。一つのエントリが変換データの一つの要素に対応する。
【００４０】
ＩＤ３０１は、エントリの識別情報を格納するフィールドである。データ名３０２は、要素に格納される項目値の識別情報を格納するフィールドである。要素３０３は、変換データの要素を指定する識別情報を格納するフィールドである。要素３０３には、例えば、行の番号及び列の番号の組合せが格納される。
【００４１】
図４Ａは、実施例１のリストマップのデータ構造の一例を示す図である。図４Ｂは、実施例１のリストマップの管理方法を説明する図である。図４Ｃは、実施例１のリストマップ管理情報２３０のデータ構造の一例を示す図である。
【００４２】
リストマップは、データ構造４００に示すように、変換データ（２次元配列）に対応するビットマップ形式の情報として扱うことができる。丸が設定された要素は取得する要素を示す。リストマップ及び変換データのデータ構造は、互いが対応するように設定される。
【００４３】
実施例１では、ゲートウェイ装置１００が管理する情報のデータ量を削減するために、ビットマップとは異なるデータ形式でリストマップを管理している。ここで、図４Ｂを用いて、実施例１におけるリストマップの管理方法について説明する。
【００４４】
リストマップの一つの行をビット列として扱う。図４Ｂでは、リストマップの各行が４桁のビット列として扱われる。丸が設定されている要素の値を「１」、丸が設定されていない要素の値を「０」とする。
【００４５】
ビット列を１０進法で表された二桁の数値に変換することによって、取得する要素（ビット）を行ごとに特定できる。さらに、各ビット列（各行）から算出された数値を結合した値を取得する要素を特定するための情報、すなわち、リストマップの情報として扱う。
【００４６】
以下の説明では、図４Ｂに示すような規則に基づいて、ビットマップ形式の情報として表されるリストマップから算出される数値を登録値と記載する。
【００４７】
図４Ｂに示すように、各行のビット列は「１００１」、「００００」、「０１００」、及び「０００１」となるため、１０進法の数値は「０９」、「００」、「０４」、及び「０１」となる。したがって、図４Ａに示すリストマップの登録値は「０９０００４０１」と算出される。
【００４８】
リストマップ管理情報２３０は、ＩＤ４０１、リストマップ４０２、及び宛先４０３から構成されるエントリを格納する。一つのエントリが一つのリストマップに対応する。
【００４９】
ＩＤ４０１は、エントリの識別情報を格納するフィールドである。リストマップ４０２は、リストマップの登録値を格納するフィールドである。宛先４０３は、センサ情報１５０を送信するサーバ１２０の宛先情報を格納するフィールドである。宛先４０３には、例えば、ＩＰアドレスが格納される。
【００５０】
リストマップをビットマップ形式のデータではなく、図４Ｂに示すような数値として管理することによって、リストマップの管理を容易にすることができる。また、リストマップをバイナリデータではなく、１０進法で表された二桁の数値として表すことによって、管理するデータ量を削減することができる。
【００５１】
次に、ゲートウェイ装置１００が実行する処理について説明する。
【００５２】
図５は、実施例１のゲートウェイ装置１００が実行する処理の流れを示す図である。図６は、実施例１のゲートウェイ装置１００がリストマップ登録要求を受け付けた場合に実行する処理の一例を説明するフローチャートである。図７は、実施例１のゲートウェイ装置１００がセンサ情報１５０を送信する場合に実行する処理の一例を説明するフローチャートである。ここでは、一つのセンサ１１０から一つのセンサデータ１４０を受信した場合に実行される処理について説明する。
【００５３】
まず、図５及び図６を用いてリストマップの管理方法について説明する。
【００５４】
制御部２１０のリストマップ登録部２１１は、サーバ１２０から、リストマップ５００を登録するためのリストマップ登録要求を受信する（ステップＳ１０１）。
【００５５】
リストマップ登録要求はリストマップ５００に関する情報を含む。リストマップ５００に関する情報は、例えば、値を取得する要素に「１」、その他要素に「０」を設定したビットマップ形式の情報、又は、登録値が考えられる。
【００５６】
なお、サーバ１２０は、主導的にリストマップ登録要求を送信してもよいし、リストマップ登録部２１１からの問合わせに対する応答としてリストマップ登録要求を送信してもよい。
【００５７】
次に、制御部２１０のリストマップ登録部２１１は、リストマップ登録要求に基づいてリストマップ管理情報２３０を更新し（ステップＳ１０２）、その後、処理を終了する。具体的には、以下のような処理が実行される。
【００５８】
リストマップ登録部２１１は、リストマップ登録要求から、リストマップに関する情報及びサーバ１２０の宛先情報を取得する。
【００５９】
なお、リストマップに関する情報が変換データのデータ構造に対応するビットマップである場合、リストマップ登録部２１１は、図４Ｂで示す規則に基づいて、ビットマップの各行に対応するビット列を１０進法の数値に変換し、各行の数値を結合することによって登録値を算出する。
【００６０】
なお、サーバ１２０の宛先情報が登録情報としてリストマップ登録要求に含まれていない場合、リストマップ登録部２１１は、リストマップ登録要求に対応するパケットのヘッダからＩＰアドレス等を取得する。
【００６１】
リストマップ登録部２１１は、リストマップ管理情報２３０にエントリを追加し、追加されたエントリのＩＤ４０１に識別情報を設定する。リストマップ登録部２１１は、追加されたエントリのリストマップ４０２に登録値を設定し、また、宛先４０３にサーバ１２０の宛先情報を設定する。以上がステップＳ１０２の処理の説明である。
【００６２】
次に、図５及び図７を用いてセンサ情報１５０の送信方法について説明する。
【００６３】
制御部２１０の前処理部２１２は、センサ１１０からセンサデータ１４０を受信した場合、データ構造定義情報２２０を参照して、センサデータ１４０から変換データを生成する（ステップＳ２０１）。
【００６４】
具体的には、前処理部２１２は、２次元配列（変換データ）の各要素に設定する項目値をセンサデータ１４０から取得し、各要素に取得した項目値を設定することによって変換データ５１０を生成する。なお、センサデータ１４０に項目値が含まれていない要素は空欄となる。変換データ５１０の三角は要素に値が格納されていることを示す。
【００６５】
次に、制御部２１０のデータ生成部２１３は、リストマップのループ処理を開始する（ステップＳ２０２）。
【００６６】
具体的には、データ生成部２１３は、リストマップ管理情報２３０に登録されるエントリからターゲットエントリを選択する。
【００６７】
次に、制御部２１０のデータ生成部２１３は、ターゲットエントリのリストマップ４０２及びセンサデータ１４０に基づいて、センサ情報１５０を生成する（ステップＳ２０３）。具体的には、以下のような処理が実行される。
【００６８】
データ生成部２１３は、リストマップ４０２に設定された登録値をバイナリデータに変換し、当該バイナリデータに基づいて変換データ５１０の任意の行の要素（項目値）を取得する。
【００６９】
リストマップ４０２に設定された登録値がリストマップ５００に対応する登録値である場合、データ生成部２１３は、リストマップ５００の丸と変換データ５１０の三角が重なる要素を取得する。すなわち、１行４列、３行２列、及び４行４列に対応する要素が取得される。
【００７０】
データ生成部２１３は、変換データ５１０から取得した要素を含むセンサ情報１５０を生成し、送信部２１４に出力する。このとき、データ生成部２１３は、センサ情報１５０とともに、ターゲットエントリの宛先４０３に格納されるサーバ１２０の宛先情報を送信部２１４に出力する。以上がステップＳ２０３の処理の説明である。
【００７１】
次に、制御部２１０の送信部２１４は、サーバ１２０の宛先情報に対応するサーバ１２０にセンサ情報１５０を送信する（ステップＳ２０４）。
【００７２】
次に、制御部２１０のデータ生成部２１３は、リストマップ管理情報２３０の全てのエントリについて処理が完了したか否かを判定する（ステップＳ２０５）。
【００７３】
リストマップ管理情報２３０の全てのエントリについて処理が完了していないと判定された場合、制御部２１０のデータ生成部２１３は、ステップＳ２０２に戻り、新たなターゲットエントリを選択する。
【００７４】
リストマップ管理情報２３０の全てのエントリについて処理が完了したと判定された場合、制御部２１０のデータ生成部２１３は処理を終了する。
【００７５】
ゲートウェイ装置１００は、リストマップに基づいて、変換データ（２次元配列）の所定の要素を取得することによって、データ量を削減したセンサ情報１５０を生成することができる。
【００７６】
当該処理は、従来のフィルタリングにおいて行われるセンサデータ１４０に対するデータ検索処理が必要ないため、処理負荷が低く、また、処理速度が高速であるという利点がある。また、圧縮処理を行うことなくサーバ１２０に送信するデータ量を削減できるため、処理負荷の増大を抑えて、効率的なデータの送信が可能となる。
【００７７】
サービス又はサーバ１２０を追加する場合、追加するサービス又はサーバ１２０に対応するリストマップを登録することによって、所望のセンサ情報１５０を送信することができる。また、サービスの変更する場合には、対応するリストマップを更新することによってセンサ情報１５０に含める項目値を変更することができる。さらに、サービス又はサーバ１２０を削除する場合、削除するサービス又はサーバ１２０に対応するリストマップを削除すればよい。
【００７８】
したがって、ゲートウェイ装置１００は、システム構成の変更（サービスの追加、変更、及び削除、並びに、サーバ１２０の追加及び削除）に柔軟かつ容易に対応することができる。
【実施例２】
【００７９】
実施例１では、一つのセンサ１１０のセンサデータ１４０に対してリストマップを定義したが、実施例２では、複数のセンサ１１０のセンサデータ１４０に対してリストマップを定義する。以下、実施例１との差異を中心に実施例２について説明する。
【００８０】
実施例２のシステムの構成は実施例１と同一である。また、実施例２のゲートウェイ装置１００の構成は実施例１と同一である。
【００８１】
実施例２では、データ構造定義情報２２０が異なる。具体的には、一つの列を一つのセンサ１１０が送信するセンサデータ１４０に対応させるように変換データを定義する。なお、一つの列に複数のセンサ１１０のデータを対応づけてもよい。
【００８２】
ゲートウェイ装置１００は、前述のような変換データとリストマップを用いることによって、送信するセンサデータ１４０の選択、及び選択されたセンサデータ１４０から取得する項目値（要素）の選択を実現できる。
【００８３】
リストマップ登録要求を受け付けた場合に実行する処理は、実施例１の処理と同一である。センサ情報１５０を送信する場合に実行する処理は、実施例１の処理と一部異なる。図８及び図９は、実施例２のゲートウェイ装置１００がセンサ情報１５０を送信する場合に実行する処理の一例を説明するフローチャートである。
【００８４】
ゲートウェイ装置１００は図８又は図９に示す処理を実行する。まず、図８に示す処理について説明する。
【００８５】
ゲートウェイ装置１００の前処理部２１２は、一つのセンサ１１０からセンサデータ１４０を受信した場合、データ構造定義情報２２０を参照して、センサデータ１４０から変換データを生成する（ステップＳ２０１）。
【００８６】
具体的には、前処理部２１２は、２次元配列（変換データ）の各要素に設定する項目値をセンサデータ１４０から取得し、各要素に取得した項目値を設定する。
【００８７】
次に、ゲートウェイ装置１００の前処理部２１２は、変換データの生成が完了したか否かを判定する（ステップＳ２１１）。
【００８８】
例えば、前処理部２１２は、２次元配列の行に空の行が存在するか否かを判定する。本実施例では、２次元配列の行とセンサデータ１４０を対応づけているため、空の行は変換データを生成するために必要なセンサデータ１４０を取得していないことを示す。したがって、２次元配列の行に空の行が存在する場合、前処理部２１２は、変換データの生成が完了していないと判定する。
【００８９】
変換データの生成が完了していないと判定された場合、ゲートウェイ装置１００の前処理部２１２は、待ち状態に移行し（ステップＳ２１２）、ステップＳ２０１に戻る。
【００９０】
変換データの生成が完了したと判定された場合、ゲートウェイ装置１００の前処理部２１２は、データ生成部２１３に変換データを出力する。その後、ゲートウェイ装置１００は、ステップＳ２０２からステップＳ２０５の処理を実行する。
【００９１】
次に、図９に示す処理について説明する。
【００９２】
ゲートウェイ装置１００の前処理部２１２は、センサデータ１４０を受信した場合、メモリ２０１のワークエリアに受信したセンサデータ１４０を蓄積する（ステップＳ２２１）。
【００９３】
次に、ゲートウェイ装置１００の前処理部２１２は、変換データを生成するために必要な全てのセンサデータ１４０を受信したか否かを判定する（ステップＳ２２２）。
【００９４】
変換データを生成するために必要な全てのセンサデータ１４０を受信していないと判定された場合、ゲートウェイ装置１００の前処理部２１２は、待ち状態に移行し（ステップＳ２２３）、ステップＳ２２１に戻る。
【００９５】
変換データを生成するために必要な全てのセンサデータ１４０を受信していないと判定された場合、ゲートウェイ装置１００の前処理部２１２は、ステップＳ２０１からステップＳ２０５の処理を実行する。
【００９６】
実施例２によれば、複数のセンサデータ１４０を一括して処理できるため、効率的なセンサ情報１５０の送信を実現できる。
【００９７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることが可能である。
【００９８】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ＨＤＤ及びＳＳＤ等の記憶装置、又は、ＩＣカード、ＳＤカード、及び光ディスク等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。例えば実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【００９９】
１００  ゲートウェイ装置
１１０  センサ
１２０  サーバ
１４０  センサデータ
１５０  センサ情報
２００  プロセッサ
２０１  メモリ
２０２  ネットワークインタフェース
２１０  制御部
２１１  リストマップ登録部
２１２  前処理部
２１３  データ生成部
２１４  送信部
２２０  データ構造定義情報
２３０  リストマップ管理情報
【図１】
2020008928.tif 000003
【図２】
2020008928.tif 000004
【図３Ａ】
2020008928.tif 000005
【図３Ｂ】
2020008928.tif 000006
【図４Ａ】
2020008928.tif 000007
【図４Ｂ】
2020008928.tif 000008
【図４Ｃ】
2020008928.tif 000009
【図５】
2020008928.tif 000010
【図６】
2020008928.tif 000011
【図７】
2020008928.tif 000012
【図８】
2020008928.tif 000013
【図９】
2020008928.tif 000014