(57)【要約】      （修正有）【課題】セルラー通信が失敗してゲートウェイからネットワーク上のサーバへデータが送信できなかった場合にも、サーバでのデータ欠損をなくす中継装置を提供する。【解決手段】ゲートウェイは、センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗したセンサに基づくデータを記憶するために、センサに基づくデータをバックアップするバックアップ管理部と、サーバへのデータの送信の状態であるサーバ通信状態に基づいて、センサに基づくデータ及びバックアップ管理部にバックアップされたデータに対し、サーバに送信する優先順位を判断する優先順位判断部と、センサに基づくデータ及びバックアップ管理部にバックアップされたデータのうち、優先順位判断部が、優先順位が最も高いと判断したデータをサーバへ送信し、サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部とを備える。【選択図】図２
2019161359.tif 000002
【特許請求の範囲】
【請求項１】
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える中継装置。
【請求項２】
データをサーバに送信するための前記優先順位を定義する優先順位定義テーブルを備え、
前記優先順位判断部は、前記優先順位定義テーブルに定義された前記優先順位に基づいて前記サーバへ送信するデータの優先順位を判断する
請求項１に記載された中継装置。
【請求項３】
前記バックアップ管理部は、前記センサに基づくデータに含まれる、データ種別に基づいて、前記センサに基づくデータを分類してバックアップする
請求項１または２のいずれか１項に記載された中継装置。
【請求項４】
前記バックアップ管理部は、前記バックアップ管理部が前記センサに基づくデータをバックアップするために備えたバックアップ領域の容量を超えて、新たなデータをバックアップする場合、前記バックアップ領域に既に保存されている全てデータのうち、前期新たなデータよりも前記優先順位が低いデータを削除してから、前記新たなデータをバックアップする
請求項１乃至３のいずれか１項に記載された中継装置。
【請求項５】
前記センサに基づくデータにはタイムスタンプが含まれており、
前記データ種別には、中継装置のサーバへの参加離脱通知、センサの参加離脱通知、中継装置の設定変更通知、センサの設定変更通知、センサのアラームおよびセンサの測定値が含まれており、
前記サーバへ送信するデータの優先順位は、下記に示す番号順によって順位が定義され、さらに前記番号順により定義されたの順位の中で前記タイムスタンプが新しい順に順位が定められることを特徴とする
請求項１乃至４のいずれか１項に記載された中継装置。
（１）前記中継装置のサーバへの参加離脱通知、若しくは、前記センサの参加離脱通知。
（２）前記中継装置の設定変更通知、若しくは、前記センサの設定変更通知。
（３）前記センサのアラーム、若しくは、前記センサの測定値。
【請求項６】
コンピュータを、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える中継装置として機能させるプログラム。
【請求項７】
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップすることと、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断することと、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定することと
を備える中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）デバイスとネットワーク上のサーバとの間に設置されるゲートウェイ（登録商標）などの中継装置に関する。
【背景技術】
【０００２】
プラントや工場の製造工程等において、インターネットに接続可能なＩｏＴデバイスである様々なセンサから情報を収集してネットワーク上のサーバに送信するために、非特許文献１に示されるようなデータを中継するためのＩｏＴゲートウェイが導入される場合がある。ＩｏＴゲートウェイからサーバへのデータ送信には、有線通信の他に無線通信である３Ｇ／ＬＴＥ等のセルラー通信が使用される場合がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】シーメンス 産業用ＩｏＴゲートウェイ 「ＳＩＭＡＴＩＣ（登録商標）  ＩｏＴ２０２０」      https://jp.rs-online.com/web/p/iot-development-kits/1244037/
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、セルラー通信は、電波の状況が悪い不安定な状況下では一時的に通信が遮断される場合がある。すなわち、ＩｏＴゲートウェイは、通信が遮断されてから復旧するまでの間は、センサから収集した情報であるセンサデータをサーバへ送信できない。この場合、サーバにおいては、統計処理に関するデータ演算のうちデータが連続している必要のあるもの、例えばデータの所定の期間の最小値、最大値を求める演算、を行っている場合は、送信できなかった期間のセンサデータが欠如していることから、データ演算の結果に誤りが生じ得る問題がある。また、サーバで、データ演算の結果に基づいて製造工程の異常等の判断を行っている場合、その判断に誤りが生じ得る問題がある。
【課題を解決するための手段】
【０００５】
本願発明に係る中継装置は、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える。
【発明の効果】
【０００６】
本願発明のゲートウェイは、セルラー通信が失敗してゲートウェイからネットワーク上のサーバへデータが送信できなかった場合であっても、送信できなかったデータを簡易な処理で再度送信するため、サーバにおけるデータ欠損が補完され得る。そのため、ネットワーク上のサーバでのデータ処理の誤りを防止し得る。
【図面の簡単な説明】
【０００７】
【図１】本発明の第１の実施形態に係るクラウドサービスの全体の構成図である。
【図２】本発明の第１の実施形態によるゲートウェイの内部の構成図である。
【図３】本発明の第１の実施形態によるゲートウェイのソフトウェアのフローチャートである。
【図４】本発明の第１の実施形態によるサーバ通信データのフォーマットである。
【図５】本発明の第１の実施形態によるサーバ通信データの送信の優先順位の一例である。
【図６】本発明の第１の実施形態によるゲートウェイの動作を説明したタイムチャートである。
【図７】本発明の第２の実施形態によるゲートウェイの内部の構成図である。
【図８】本発明の第２の実施形態によるゲートウェイのソフトウェアのフローチャートである。
【発明を実施するための最良の形態】
【０００８】
[第１の実施形態]
以下、本発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求範囲に係る発明を限定するものではない。また、実施形態の中で説明されている発明の特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る中継装置であるゲートウェイ１００が用いられたクラウドサービス１の全体の構成図である。クラウドサービスとは、クラウド事業者が所有するサーバなどのコンピューティングリソースを、サービスとして提供したものである。クラウドサービスを利用することで、利用者はコンピューティングリソースを所有する必要がなく、インターネットなどのネットワークを介してコンピューティングリソースを利用することができる。本実施形態におけるクラウドサービスは、様々な場所からセンサデータをサーバに収集し、データに付加価値を付けるサービスを提供する。図1に示すクラウドサービス１の一実施形態は、センサ１０３〜１０６、無線アクセスポイント１０７、ゲートウェイ１００、インターネット１０９、クラウドサーバ１０２、クライアントＰＣ１１０、設定用ＰＣ１１２から構成される。
【００１０】
センサ１０３〜１０６は、ある対象のセンシングデータである測定値を、コンピュータが扱える電気信号に変換するデバイスである。センサ１０３〜１０６は、例えば、圧力センサ、ｐＨセンサ、振動センサ、温度センサ、流量センサ、腐食センサ、歪センサ、ノイズセンサ、ガスセンサ、電圧センサ、電流センサ、レベルセンサ等である。センサ１０３〜１０６は、測定値を通信により送信する。測定値を送信するための通信は、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、シリアル通信、Ｗｉ−Ｆｉ（登録商標）が用いられる。
【００１１】
無線アクセスポイント１０７は、無線通信を用いた無線センサ１０３の測定値を有線通信に変換する。無線センサ１０３に用いられる無線通信は、例えば、Ｗｉ−Ｆｉである。本実施例においては、無線アクセスポイント１０７は、Ｗｉ−Ｆｉを有線のＥｔｈｅｒｎｅｔに変換する。
【００１２】
記録計１０８は、センサデータをメモリや記録紙に記録する計器である。本実施例において、記録計１０８は、１つ又は複数のセンサからセンサデータを収集して記録計１０８に内蔵されたメモリに記録する。また、記録計１０８は、収集したセンサデータを、通信を介してリアルタイムに送信する。本実施例において、記録計１０８は、センサ１０５のセンサデータとセンサ１０６のセンサデータを収集し、例えば、Ｅｔｈｅｒｎｅｔを介してゲートウェイに送信する。
【００１３】
センサ１０３〜１０６と記録計１０８は、稼働中は、基本的に測定値をセンサデータに記録して送信し続ける。また、センサ１０３〜１０６と記録計１０８は、例えば、故障等の原因により測定値を出力できない場合は、アラームをセンサデータに付加して送信する。
【００１４】
ゲートウェイ１００は、本実施例では、いわゆるＩｏＴゲートウェイである。すなわち、ゲートウェイ１００は、インターネットを経由して自機に接続する各ネットワーク機器からの通信データをネットワーク上のサーバに直接送信する中継装置である。また、ゲートウェイ１００は、１つ又は複数のセンサからセンサデータを収集し、送信先のサーバに適合した通信データ（以下、サーバ通信データという。）にフォーマットを変換してデータを送信する。より具体的には、ゲートウェイ１００は、本実施例においてセンサ１０３〜１０６から収集したセンサデータを、ＡＳＣＩＩ形式のＪＳＯＮフォーマットに変換する。フォーマットを変換する理由は、センサの種類によって異なるセンサデータの形式を統一するためである。すなわち、ゲートウェイ１００は、ＪＳＯＮフォーマットに変換したデータを、３Ｇ／ＬＴＥ等の無線通信インタフェースプロトコルであるセルラー通信１１１を使用して、インターネット１０９を介してクラウドサーバ１０２に送信する。
【００１５】
ゲートウェイ１００に接続されている設定用ＰＣ１１２は、ゲートウェイ１００の各種設定を行うための装置である。ゲートウェイ１００の各種設定には、例えば、ＩＰアドレス等のネットワークに関する設定、センサデータの送信元のセンサデバイスの登録、送信先のサーバの登録が含まれる。設定用ＰＣ１１２は、ゲートウェイ１００に、例えば、Ｅｔｈｅｒｎｅｔを介して接続される。ゲートウェイ１００の各種設定を行うには、設定用ＰＣ１１２からゲートウェイ１００にログインし、設定用のツールを起動して設定値を入力する。また、設定用ＰＣ１１２は、ゲートウェイ１００を機能させるためのソフトウェアをゲートウェイ１００にインストールすることができる。更に、設定用ＰＣ１１２は、ゲートウェイ１００にインストールしたソフトウェアを起動することができる。
【００１６】
クラウドサーバ１０２は、クラウドサービス１によって提供されたサーバ装置である。クラウドサーバ１０２は、アプリケーションにより、ゲートウェイ１００から受信したサーバ通信データの可視化、解析、診断等の様々な処理を行う。クラウドサーバ１０２は、データの可視化として、例えば、受信したデータに含まれるセンサの測定値の変化に基づいてグラフを生成する。また、クラウドサーバ１０２は、データ解析のために、例えば、データの所定の期間の測定値の最小値、最大値を求める演算等を行う。更に、クラウドサーバ１０２は、例えば、データ解析の結果に基づいて製造工程の異常の状態等を診断する。また、クラウドサーバ１０２は、製造工程の異常等をユーザに通知するために、予め登録されたユーザのメールアドレスにメールを送信してもよい。
【００１７】
クライアントＰＣ１１０は、クラウドサーバ１０２で処理されたデータを、インターネット１０９を介して受信する。これにより、クライアントＰＣ１１０のユーザは、クライアントＰＣ１１０の画面で、例えば、グラフが生成された測定値やデータ解析の結果を閲覧することができる。また、クライアントＰＣ１１０のユーザは、クラウドサーバ１０２から送信されたメールを参照することができる。なお、クライアントＰＣ１１０は、デスクトップＰＣ、ノートＰＣの他に、タブレット端末、スマートフォン、または携帯電話が用いられてもよい。
【００１８】
このようなクラウドサービス１に用いるゲートウェイ１００に対して、従来のＩｏＴゲートウェイは、セルラー通信１１１の電波状況が良くないことが原因で通信が一時中断することがある。そして、中断している間、ＩｏＴゲートウェイは、センサから送信されたセンサデータをクラウドサーバ１０２に送信できない。その後電波状況が良くなることによってセルラー通信１１１が再接続された場合、ＩｏＴゲートウェイは、再接続された後にセンサから送信されたセンサデータを、サーバ通信データに変換してクラウドサーバ１０２に送信する。すなわち、セルラー通信１１１が一時中断している間のセンサデータは捨てられてしまう。そのため、クラウドサーバ１０２で行われるデータ解析に誤差が生じる可能性がある。例えば、データの所定の期間の測定値の最小値、最大値を求める演算を行っている場合、通信の不具合が原因で、最大値や最小値を含むデータが欠けることによって、正しい最小値、最大値を求めることができない場合がある。また、測定値に基づいてグラフを生成する場合、データが欠けた部分は表示されないという問題がある。更に、クラウドサーバ１０２がデータ解析の結果に基づいて製造工程の異常の傾向等を診断してユーザにメールを送信する場合、データが欠けることからメールを送信する判断を誤ってしまい、メールを送信すべき場合であってもメールが送信されないことがあり得る。
【００１９】
データの欠損により、ゲートウェイ１００からクラウドサーバ１０２へ送信することができなかったデータを、クラウドサーバ１０２が受信するためには、例えば、ゲートウェイ１００はデータをキャッシュしておく対策が考えられる。この場合、通信の復旧後にクラウドサーバ１０２からゲートウェイ１００へ不足データの送信を要求し、ゲートウェイ１００はキャッシュしておいたデータのうち必要なデータをクラウドサーバ１０２へ送信するようにすることで、データの欠損を防ぐことができる。しかし、プラントや工場等の製造工程に用いられるクラウドサービス１は、大量のセンサデータを処理する必要性から、ゲートウェイ１００とクラウドサーバ１０２との相互の通信が発生することは好ましくない。そのためゲートウェイ１００からクラウドサーバ１０２へできるだけ連続して一方向にデータ送信されることが必要である。
【００２０】
一方、センサデータには測定値を含むものの他に、センサの異常を示すアラームを含むもの、センサに設定変更があった場合の通知を含むものなど、いくつかの種類があり、測定値よりも送信の優先順位が高いものもある。また、クラウドサーバ１０２のアプリケーションのデータ解析の内容によっては、複数のセンサデータのリアルタイム性を優先したい場合もある。そのため、ゲートウェイが、セルラー通信１１１が一時中断中にキャッシュされたセンサデータを、セルラー通信の復旧後に直ちに送信したとしても、優先順位の高い適切なデータが送信されたことにならない場合があった。
【００２１】
そこで、本実施形態に係る中継装置は、
センサに基づくデータを受信するとともに所定の条件でバックアップし、通信が失敗してから復旧した後は、受信したセンサに基づくデータとバックアップしたデータを、所望の優先順位に基づいて選択してネットワーク上のサーバへ送信する。
そのため、中継装置は、データの送信先のサーバとの相互の通信を必要とせずとも送信データの優先順位を決定して一方向にデータを送信しつつ、通信が一時中断したことが原因でサーバへ送信できなかったデータを再度送信し得る。再度送信できれば、サーバでのデータ処理を正常に行うことができる。
【００２２】
本実施形態に係る中継装置は、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部とを備える。
そのため、中継装置は、サーバとの相互の通信を必要とせずとも送信データの優先順位を決定して一方向にデータを送信しつつ、通信が一時中断したことが原因でサーバへ送信できなかったデータを再度送信し得る。再度送信できれば、サーバでのデータ処理を正常に行うことができる。
【００２３】
本実施形態に係る中継装置は、
データをサーバに送信するための前記優先順位を定義する優先順位定義テーブルを備え、
前記優先順位判断部は、前記優先順位定義テーブルに定義された前記優先順位に基づいて前記サーバへ送信するデータの優先順位を判断する。
そのため、中継装置は、送信データの優先順位について、サーバで実行される処理の仕様に柔軟に対応することができる。
【００２４】
本実施形態に係る中継装置の
前記バックアップ管理部は、前記センサに基づくデータに含まれる、データ種別に基づいて、前記センサに基づくデータを分類してバックアップする。
そのため、中継装置は、サーバとの相互の通信を必要とせずとも送信データの優先順位を容易に決定することができる。よって、通信が一時中断したことが原因でクラウドへ送信できなかったデータを再度送信し得る。
【００２５】
本実施形態に係る中継装置の
前記バックアップ管理部は、前記バックアップ管理部が前記センサに基づくデータをバックアップするために備えたバックアップ領域の容量を超えて、新たなデータをバックアップする場合、前記バックアップ領域に既に保存されている全てデータのうち、前期新たなデータよりも前記優先順位が低いデータを削除してから、前記新たなデータをバックアップする。
そのため、中継装置は、長時間通信が一時中断したことが原因でサーバへ送信できなかったデータがバックアップ領域を超えた分がバックアップできなかった場合であっても、極力、優先順位の高いデータをサーバへ送信することができる。
【００２６】
本実施形態に係る中継装置についての、
前記センサに基づくデータにはタイムスタンプが含まれており、
前記データ種別には、中継装置のサーバへの参加離脱通知、センサの参加離脱通知、中継装置の設定変更通知、センサの設定変更通知、センサのアラームおよびセンサの測定値が含まれており、
前記サーバへ送信するデータの優先順位は、下記に示す番号順によって順位が定義され、さらに前記番号順により定義されたの順位の中でタイムスタンプが新しい順に順位が定められることを特徴とする
請求項１乃至３のいずれか１項に記載された中継装置。
（１）前記中継装置のサーバへの参加離脱通知、若しくは、前記センサの参加離脱通知。
（２）前記中継装置の設定変更通知、若しくは、前記センサの設定変更通知。
（３）前記センサのアラーム、若しくは、前記センサの測定値。
そのため、中継装置は、通信が一時的に中断した後、通信が復旧した場合、サーバが正常にデータ解析できるための送信データの優先順位を容易に決定することができる。
【００２７】
図２は、本実施形態に係る中継器であるゲートウェイ１００の内部の構成を示す。ゲートウェイ１００は、通信部２１０、制御部２２０、無線通信部２３０、記憶部２００から構成される。更に、記憶部２００の内部はゲートウェイ１００を機能させるソフトウェアの構成を示す。
【００２８】
通信部２１０は、主にセンサと接続するためのインタフェースである。通信部２１０は、例えば、Ｅｔｈｅｒｎｅｔカードである。通信部２１０は、ＩｏＴデバイスであるセンサ、センサと接続された記録計、センサと無線接続された無線アクセスポイント等と、Ｅｔｈｅｒｎｅｔケーブルによって接続される。また、通信部２１０は、主に接続先の各種機器からセンサデータを受信するために用いられる。なお、通信部２１０はＥｔｈｅｒｎｅｔカードの他に、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ等のシリアル通信に対応したものであってもよい。
【００２９】
制御部２２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。制御部２２０は、通信部２１０が受診したセンサデータを処理し、無線通信部２３０から出力する。なお、制御部２２０は、記憶部２２０に記憶されたソフトウェアによって動作する。
【００３０】
無線通信部２３０は、無線通信であるセルラー通信インタフェースである。セルラー通信とは、例えば、３Ｇ／４Ｇ／ＬＴＥなどの携帯電話に用いられる無線通信インタフェースプロトコルである。ここで、３Ｇとは第３世代の通信規格、４Ｇとは第４世代の通信規格、ＬＴＥとは、Ｌｏｎｇ  Ｔｅｒｍ Ｅｖｏｌｕｔｉｏｎを意味する。無線通信部２３０は、このセルラー通信により、インターネットを介してクラウドサーバ１０２へデータを送信する。
【００３１】
通信部２１０は、設定用ＰＣ１１２と接続するためにも用いることができる。設定用ＰＣ１１２は、通信部２１０を介してゲートウェイ１００にログインできる。設定用ＰＣ１１２は、ゲートウェイ１００の各種設定を行うために用いられる。各種設定とは、例えば、ＩＰアドレス等のネットワークに関する設定、センサデータの送信元のセンサの登録、送信先のクラウドサーバの登録等である。
【００３２】
記憶部２００は、制御部により実行されるプログラムを格納するための記憶装置である。記憶部２００は、例えば、揮発性のメモリであるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が用いられる。ここで、ＲＡＭは、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、または、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）である。ところで、記憶部２００に記憶されるソフトウェアは、例えば、設定用ＰＣ１１２から通信部２１０を介してゲートウェイ１００に内蔵される補助記憶装置（図示しない）に予め保存されていてもよい。また、設定用ＰＣ１１２からゲートウェイ１００の補助記憶装置に記憶されたプログラムが起動され、記憶部２００に記憶されてもよい。なお、補助記憶装置は、不揮発性の記憶装置であり、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ Ｓｔａｔｅ Ｄｒｉｖｅ）などが用いられる。
【００３３】
記憶部２００に記憶されているゲートウェイ１００を機能させるためのソフトウェアは、センサデータ通信部２０１、信号変換部２０２、優先順位判断部２０３、サーバ通信部２０４、バックアップ管理部２０５、優先順位設定テーブル２０６で構成される。
【００３４】
センサデータ通信部２０１は、通信部２１０が受信したセンサデータを記憶部２００に取得する。センサデータ通信部２０１は、所定の時間間隔で、登録されたセンサを順次切り替えながらセンサデータを取得する。所定の時間間隔とは、例えば、１０秒である。なお、センサデータ通信部が取得したセンサデータは、順次信号変換部２０２へ渡される。
【００３５】
信号変換部２０２は、センサデータのフォーマットをサーバ通信データのフォーマット４００へ変換する。ここで、サーバ通信データとは、送信先のクラウドサーバ１０２で取り扱うことができるフォーマットのデータである。より具体的には、サーバ通信データは、例えば、ＡＳＣＩＩ形式のＪＳＯＮフォーマットである。すなわち、信号変換部２０２は、センサによって異なるセンサデータのフォーマットをサーバ通信データのフォーマットに変換することにより、１つのフォーマットに統一してデータの取り扱いを容易にする。
【００３６】
信号変換部２０２が出力するサーバ通信データのフォーマット４００を図４に示す。サーバ通信データは、データ種別４０１、送信タイムスタンプ４０２、送信データ４０３で構成される。データ種別４０１は、サーバ通信データの種別を示す。データ種別には、例えば、次の６つがある。
【００３７】
1.ゲートウェイのサーバへの参加・離脱通知
ゲートウェイのサーバへの参加または離脱を意味する。例えば、ゲートウェイ１００の電源投入後、ゲートウェイ１００がクラウドサーバ１０２に接続した場合のデータ種別は参加であり、設定用ＰＣ１１２からクラウドサーバ１０２との接続を切断するよう指示した場合のデータ種別は離脱である。サーバ通信データは、参加・離脱のそれぞれのタイミングで生成される。そして、クラウドサーバ１０２が本通知を受信した場合、そのデータ種別が「参加」であれば、クラウドサーバ１０２は、ゲートウェイ１００からデータが送信されることを認識する。また、クラウドサーバ１０２が本通知を受信した場合、そのデータ種別が「離脱」であれば、クラウドサーバ１０２は、ゲートウェイ１００からデータが送信されなくなることを認識する。なお、ゲートウェイ１００を特定する情報が、信号変換部２０２により送信データ５０４に書き込まれる。
【００３８】
2.ゲートウェイ下に接続されているデバイスの参加・離脱通知
デバイスの参加または離脱を意味する。センサ等のデバイスがゲートウェイ１００に登録され接続されたら参加であり、登録解除され非接続となったら離脱である。サーバ通信データは参加・離脱のそれぞれのタイミングで生成される。そして、クラウドサーバ１０２がこの通知を受信した場合、参加であればデバイスからデータが送信されることを、離脱であればデバイスからデータの送信がされなくなることを認識する。なお、デバイスを特定する情報は、信号変換部２０２によりサーバ通信データの送信データ４０３に書き込まれる。
【００３９】
3.ゲートウェイの設定変更通知
ゲートウェイ１００の設定が変更されたことを意味する。例えば、ゲートウェイ１００の設定変更は、設定用ＰＣ１１２から通信部２１０を介して行われる。設定の内容は信号変換部２０２によりサーバ通信データの送信データ４０３に書き込まれる。
【００４０】
4.ゲートウェイ下に接続されているデバイスの設定変更通知
デバイスの設定が変更されたことを意味する。例えば、デバイスの設定変更は、デバイスへの操作により生じる。なお、設定の内容はデバイスからセンサデータとして情報を受け取った信号変換部２０２によって、サーバ通信データの送信データ４０３に書き込まれる。
【００４１】
5.デバイスのアラーム
センサ、記録計等のデバイスの故障等に起因するアラームを意味する。アラームの内容は、デバイスからセンサデータとして情報を受け取った信号変換部２０２により、サーバ通信データの送信データ４０３に書き込まれる。なお、信号変換部２０２により変換後、優先順位判断部２０３に初めて入力されるデータのうち、デバイスのアラームは、この種別に属することとして優先順位が判断される。
【００４２】
6.デバイスの測定データ
センサによって測定された測定値を意味する。測定値は、デバイスからセンサデータとして情報を受け取った信号変換部２０２により、サーバ通信データの送信データ４０３に書き込まれる。
【００４３】
優先順位判断部２０３は、信号変換部２０２から出力されたデータとバックアップ管理部２０５にバックアップされたデータの中から、優先順位の最も高いデータを選択し、サーバ送信部２０４に送信する。優先順位の高いデータは、優先順位定義テーブル２０６の定義に基づいて判断される。優先順位定義テーブル２０６には、データ種別４０１の優先順位が書き込まれている。また、送信タイムスタンプ４０２を優先順位の判断の条件に入れるか否か、優先順位の高い送信タイムスタンプ４０２に記録された時刻の大小関係が書き込まれている。なお、優先順位定義テーブル２０６に書き込まれた優先順位の定義は、例えば設定用のＰＣ１１２から通信部２１０を介して、必要に応じて書き換え可能である。
【００４４】
サーバ通信部２０４は、優先順位判断部２０３が選択したデータをクラウドサーバ１０２へ送信するために無線通信部２３０へ送信する。そして、無線通信部２３０は、セルラー通信によりデータをゲートウェイ１００に登録されたクラウドサーバ１０２へ送信する。次に、サーバ通信部２０４は、無線通信部２３０から、データの送信が成功したか失敗したかの結果を受け取る。データの送信が失敗だった場合、サーバ通信部２０４は、送信に失敗したデータをバックアップ管理部２０５へ送信する。
【００４５】
バックアップ管理部２０５は、送信に失敗したデータを保存することにより、送信できなかったデータの本システムからの消失を防ぐ。そして、バックアップ管理部２０５は、サーバ通信データのデータ種別４０１に書き込まれた種別ごとに分類して送信に失敗したデータを保存する。分類すべきデータ種別は、優先順位定義テーブル２０６から取得する。なお、優先順位判断部２０３は、バックアップ管理部２０５にデータ種別ごとに分類されてバックアップされているデータのうち、データ種別の優先順位の最も高いデータ種別を選択し、更に、送信タイムスタンプ４０１の優先順位の最も高いものを選択する。次に、優先順位判断部２０３は、その選択されたデータと、信号変換部２０２から受け取ったデータのうち、優先順位定義テーブル２０６の定義によって優先順位が高いと判断される方のデータを選択する。選択されたデータはサーバ通信部２０４に渡される。
【００４６】
ここで、セルラー通信が長時間不調となった場合、バックアップデータが増えるため、バックアップ管理部２０５が、データをバックアップするために確保しているメモリ容量が一杯になる場合がある。このような場合は、既にバックアップされているデータのうち、バックアップしようとするデータの優先順位よりも優先順位が低いデータを取り除くことによって、優先度の高いデータをバックアップすることが可能になる。
【００４７】
[ソフトウェアの動作]
図３は、ゲートウェイ１００の動作を説明したフローチャートを示す。ゲートウェイ１００に実装されたソフトウェアが図３のフローを実行することにより、センサから収集したセンサデータをクラウドサーバ１０２へ送信する。
【００４８】
センサデータ通信部２０１は、通信部２１０にＥｔｈｅｒｎｅｔを介して接続され、ゲートウェイ１００に登録されているセンサ等のデバイスのセンサデータを受信する（Ｓ３００）。複数のデバイスがゲートウェイ１００に登録されている場合、センサデータ通信部２０１は、所定の時間ごとに対象のデバイスを順次切替えながらセンサデータを受信する。ここで、所定の時間は、ゲートウェイ１００のソフトウェアがデフォルトで持っている値でもよく、通信部２１０を介して接続された設定用ＰＣ１１２から設定された値でもよい。なお、具体的な所定の時間は、例えば、１０秒である。更に、受信するセンサデータは、デバイスによって測定された測定値、または、デバイスの異常等を示すアラームを含んでいてもよい。
【００４９】
信号変換部２０２は、センサデータ通信部２０１が受信したセンサデータを、サーバ通信データのフォーマットに変換する（Ｓ３０１）。サーバ通信データのフォーマットは、前記の図４で説明した通りである。なお、ゲートウェイ１００に、サーバ通信データの送信先であるクラウドサーバ１０２が登録された場合は、信号変換部２０２は、データ種別４０１を「ゲートウェイのサーバへの参加通知」としたサーバ通信データを生成する。また、ゲートウェイ１００から、サーバ通信データの送信先であるクラウドサーバ１０２の登録が解除された場合は、信号変換部２０２は、データ種別４０１を「ゲートウェイのサーバへの離脱通知」としたサーバ通信データを生成する。なお、信号変換部２０２は、この２種のサーバ通信データを生成する際、サーバ通信データの送信データ４０３は、ゲートウェイを特定するための情報である、ゲートウェイのドメイン名、ＩＰアドレス、ＭＡＣアドレス等を書き込んでもよい。他に、信号変換部２０２は、ゲートウェイ１００に、センサデータの送信元であるデバイスが新たに登録された場合は、データ種別を「ゲートウェイ下に接続されているデバイスの参加通知」としたサーバ通信データを生成する。また、信号変換部２０２は、ゲートウェイ１００から、センサデータの送信元であるデバイスの登録が解除された場合は、データ種別を「ゲートウェイ下に接続されているデバイスの離脱通知」としたサーバ通信データを生成する。これら２種のサーバ通信データを生成する際、信号変換部２０２は、サーバ通信データの送信データ４０３に、デバイスを特定する情報、例えば、デバイスのドメイン名、ＩＰアドレス、ＭＡＣアドレス等を書き込んでもよい。更に、信号変換部２０２は、サーバ通信データをゲートウェイ１００から送信する時刻をサーバ通信データの送信タイムスタンプ４０２に書き込む。
【００５０】
優先順位判断部２０３は、信号変換部２０２から出力されたサーバ通信データとバックアップ管理部２０５にバックアップされたサーバ通信データの中から、優先順位の最も高いデータを選択する（Ｓ３０２）。
【００５１】
ここで、優先順位の決め方の具体例を図５を用いて説明する。図５は、優先順位判断部２０３が優先順位の判断をする対象のデータの一例を示している。ここで、バックアップ管理部２０５には、データ種別が1番のデータ５０１、データ種別が4番のデータ５０２乃至５０３、データ種別が6番のデータ５０５乃至５０８が、セルラー通信の失敗が原因でバックアップされている。なお、バックアップ管理部のデータは、データ種別ごとにまとめて保存されている。また、それぞれのデータ種別において、データはタイムスタンプに書き込まれた時刻が下から新しい順に並んでいる。すなわち、図５の場合、下から優先順位の高い順序で保存されている。
ここで、優先順位については、図４で示した通り、データ種別の番号が小さい順に優先順位を高く設定されているものとする。すなわち、図５の場合は、データ種別が1番のデータ５０１が最も優先順位が高いため、この中では最初にデータ５０１がサーバ通信部２０４に渡される。次に優先順位が高いのは、データ種別が4番でかつ最も新しいデータ５０２であり、その次に優先順位が高いのは、次に新しいデータ５０３である。そして、次に優先順位が高いのは、データ種別が4番であるデータ５０４乃至５０８である。これらのうち、タイムスタンプの時刻が最も新しいデータ５０４が最も優先順位が高い。その次に新しい順である、データ５０５、データ５０６、データ５０７、データ５０８の順に優先順位が高い。
【００５２】
なお、データ種別が6番のデバイスの測定データ及び5番のデバイスのアラームについては、通常はバックアップされたデータよりも信号変換部２０２から出力されるデータの方が新しい。そのため、信号変換部２０２から出力されるデータの方が優先順位が高くなる。すなわち、バックアップされたデバイスの測定データやデバイスのアラームが出力されるのは、信号変換部２０２へデバイスの測定データやデバイスのアラームが入ってこなくなった後である。
【００５３】
なお、データ種別４０１の優先順位は図４で説明したものを用いたが、この優先順位に限られるものではなく、優先順位定義テーブル２０６の設定を変更することによりいかようにも設定することができる。更に、送信タイムスタンプ４０２に書き込まれた時刻が新しいデータほど優先順位が高いこととしたが、これに限られず、時刻が古いデータの優先順位を高くするよう優先順位定義テーブル２０６に設定することもできる。なお、クラウドサーバ１０２において、リアルタイム性が要求されるデータ処理を行う場合は、時刻が新しいデータの優先順位を高くするよう設定し、リアルタイム性よりもデータの順序が重要なデータ処理を行う場合は、時刻が古いデータの優先順位を高くするよう設定を使い分けてもよい。
ちなみに、時刻が新しいデータの優先順位を高くする場合は、先入れ後出し方式であるスタック型のデータ構造を用いて実現することができる。一方、時刻が古いデータの優先順位を高くする場合は、先入れ先出し方式であるキュー型のデータ構造を用いて実現することができる。
【００５４】
優先順位判断部２０３は、選択したデータがバックアップデータであった場合は（Ｓ３０３）選択したバックアップデータを、バックアップ管理部２０５から取り出す（Ｓ３０４）。例えば、図５において、データ５０１を選択してサーバ通信部２０４へ送信する場合は、優先順位判断部２０３は、データ５０１をバックアップ管理部２０５から取り出す。その結果、データ５０１は、バックアップ管理部２０５から消去される。
【００５５】
サーバ通信部２０４は、優先順位判断部２０３が選択したデータを無線通信部２３０に送信することにより、セルラー通信によりクラウドサーバ１０２へデータを送信する（Ｓ３０５）。送信に失敗した場合（Ｓ３０６：Ｎｏ）、サーバ通信部２０４は、送信に失敗したデータをバックアップ管理部２０５へ渡し、バックアップ管理部２０５は受け取ったデータをバックアップする（Ｓ３０７）。その際、データ種別４０１に基づいて優先順位の高いデータを取り出すことができるようにするため、バックアップ管理部２０５は、図５に示すように、データ種別ごとに分類してデータを保存する。送信に成功した場合は、データをバックアップしない（Ｓ３０６：Ｙｅｓ）。
【００５６】
データをバックアップする際、バックアップ管理部２０５が確保しているバックアップ用のメモリ領域が一杯になっている場合があり得る。この場合、優先順位の高いデータを優先してバックアップ保存する。すなわち、バックアップ管理部２０５は、サーバ通信部２０４から通信に失敗したデータを取得したとき、バックアップデータでメモリ容量が一杯になっている場合は、優先順位定義テーブル２０６に定義された優先順位に基づいて、バックアップデータの優先順位をチェックする。もし、サーバ通信部２０４から取得したデータよりも優先順位の低いバックアップデータが存在した場合は、バックアップ管理部２０５は、そのデータを消去してメモリ領域を確保してから、サーバ通信部２０４から取得したデータをバックアップする。サーバ通信部２０４から取得したデータよりも優先順位の低いバックアップデータが存在しない場合は、サーバ通信部２０４から取得したデータは捨てられる。
【００５７】
サーバ通信部２０４が送信したデータのデータ種別が「ゲートウェイのサーバへの離脱通知」の場合、または、ゲートウェイ１００に登録されているデバイスすべてについて「ゲートウェイ下に接続されているデバイスの離脱通知」を送信した場合は、処理を終了する（Ｓ３０８：Ｎｏ）。ゲートウェイ１００のサーバへの参加が継続され、かつ、ゲートウェイ１００の下に接続されている少なくとも１つのデバイスの参加が継続される場合（Ｓ３０８：Ｙｅｓ）は、センサデータを受信する処理（Ｓ３００）に戻る。
【００５８】
図６は、本実施形態に係るタイミングチャートを示す。図６は、ゲートウェイ１００の動作を時系列に説明したものである。図６で説明に用いるデータは、全てデータ種別４０１が「デバイスの測定データ」であるものとする。
【００５９】
センサ６０１から入ってきた測定データは、センサデータ通信部２０１で取得される。そして、信号変換部２０２によりフォーマットが変換される。次に、信号変換部２０２から出力された1番のデータは、バックアップ管理部２０５にデータがないことから、優先順位判断部２０３において選択される。したがって、サーバ通信部２０４は１番のデータを送信する。２番のデータも同様にサーバ通信部２０４から出力される。
【００６０】
次に、サーバ通信部２０４で、セルラー通信が失敗６０７することにより、３番から５番までのデータが送信できなかったものとする。この場合、３番のデータは、サーバ通信部２０４で通信失敗した後、バックアップ管理部２０５に保存される。同様に、４番のデータもバックアップ管理部２０５に保存される。この時点でバックアップ管理部２０５に保存されているデータは３番と４番の２つである。更に５番のデータもバックアップ管理部２０５に保存される。そして、バックアップ管理部２０５に保存されているデータは３番から５番までの合計３つとなる。
【００６１】
一方、優先順位判断部２０３は、信号変換部２０２から３番から５番のデータを受信したときは、バックアップ管理部にデータがないため、信号変換部２０２から受信した３番から５番までのデータを選択する。次に、６番のデータを信号変換部２０２が出力した時点では、バックアップ管理部２０５に３番のデータが存在する。この場合、3番のデータよりも６番のデータの方が新しいため、優先順位判断部２０３は６番のデータを選択する。したがって、サーバ通信部２０４からは６番のデータが送信される。この送信は成功する。
【００６２】
次に、信号変換部２０２からは、６番のデータを最後にデータが出力されない。そのため、優先順位判断部２０３は、６番のデータの次は、バックアップ管理部２０５に保存されている最も新しい５番のデータを選択する。そして、サーバ通信部２０４は、その５番のデータを送信する。この送信は成功する。同時にバックアップ管理部２０５から５番のデータが取り出される。その結果、バックアップ管理部２０５に残ったデータは３番と４番のデータとなる。同様に、優先順位判断部２０３はバックアップ管理部２０５に保存されている４番、３番のデータを順に選択する。そのため、サーバ通信部２０４は、４番、３番のデータの順に送信する。この送信は成功する。
以上のシーケンスによりゲートウェイ１００は、定義された優先順位に基づいて、センサデータをクラウドサーバ１０２へ送信する。
【００６３】
[第２の実施形態]
図７に第２の実施形態に係るゲートウェイ１００内部の構成を示す。構成要素のそれぞれは図２のものと同じであり同一の構成要素には同一の番号を振っている。図２との異なる点は、バックアップ管理部２０５の位置である。図２では、バックアップ管理部２０５は、サーバ通信部２０４と優先順位判断部２０３の間に位置しているが、図７では、バックアップ管理部２０５は、信号変換部２０２と優先順位判断部２０３との間に位置する。この配置であっても図２の構成のゲートウェイ１００と同じ機能を実現することができる。
【００６４】
図７の構成と図２の構成とでは動作の順序が異なる。図７の構成では、バックアップ管理部２０５は通信の失敗の有無にかかわらずデータをバックアップしておき、サーバ通信部２０４で通信が成功したことを確認してから、優先順位判断部２０３がバックアップ管理部２０５にバックアップされたデータを取り出す。図２の構成では、サーバ通信部２０４が通信に失敗した後、バックアップ管理部２０５に送信に失敗したデータをバックアップ保存する。
【００６５】
図８は、第２の実施形態に係るゲートウェイ１００の動作を説明したフローチャートである。以降、図８を参照しつつ動作を説明する。センサデータ通信部２０１は、センサデータを受信する（Ｓ３００）。次に、信号変換部２０２は、センサデータをサーバ通信データのフォーマット４００に変換する（Ｓ３０１）。
【００６６】
次に、バックアップ管理部２０５は、信号変換部２０２から出力されたサーバ通信データをバックアップする（Ｓ３０７）。この場合、データ種別４０１ごとに分類してバックアップする点は、図３で説明した内容と同じである。そして、優先順位判断部２０３は、優先順位定義テーブル２０６の定義に基づいて、バックアップ管理部２０５にバックアップされているデータから優先順位の最も高いデータを選択する。優先順位判断部２０３により選択されたデータはサーバ通信部２０４から無線通信部２３０を介してセルラー通信でクラウドサーバ１０２へ送信される（Ｓ３０５）。
【００６７】
セルラー通信による送信が成功したか否かの情報は、サーバ通信部２０４から優先順位判断部２０３へ伝達される。送信が成功した場合（Ｓ３０６：Ｙｅｓ）、優先順位判断部２０３は、バックアップ管理部２０５にバックアップされている、送信に成功したバックアップデータを取り出す（Ｓ３０４）。これにより送信に成功したデータは消滅する。
【００６８】
送信が失敗した場合（Ｓ３０６：Ｎｏ）、優先順位判断部２０３は、バックアップデータを取り出さない。これにより、送信に失敗したデータは、バックアップ管理部２０５にバックアップされたままとなるため、セルラー通信が復旧してから送信されることができる。
【００６９】
ゲートウェイ及び少なくとも１つのデバイスが参加中であれば（Ｓ３０８：Ｙｅｓ）、センサデータを受信する処理（Ｓ３００）に戻る。そうでなければ（Ｓ３０８：Ｎｏ）、処理を終了する。
【００７０】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることは当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７１】
本発明の実施の形態において、ゲートウェイ１００の機能はソフトウェアで実現することを例示したが、必ずしもソフトウェアである必要はなく、専用のハードウェアで実現してもよい。例えば、ゲートアレイ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などを使用して実現されてもよい。
【００７２】
本発明の実施の形態において、ゲートウェイ１００は、設定用ＰＣ１１２によって各種設定及びソフトウェアの起動が実施される構成である、いわゆるＩｏＴゲートウェイを例示した。しかし、必ずしもこのような構成のＩｏＴゲートウェイである必要はなく、例えば、マウス、キーボード、ディスプレイ等の入出力装置を備えたデスクトップＰＣ、サーバ専用マシン、ノートＰＣ、仮想マシン等で実現されてもよい。そして、ゲートウェイ１００が備える入出力装置を操作することによって各種設定及びソフトウェアの起動が実施されてもよい。なお、祖gふとウェアは、ゲートウェイ１００の起動に伴って起動されてもよい。
【符号の説明】
【００７３】
１０３〜１０６  センサ、１０７  無線アクセスポイント、１０８  記録計、１００  ゲートウェイ、１０９  インターネット、１０２  クラウドサーバ、１１０  クライアントＰＣ、１１１２  設定用ＰＣ、２１０  通信部、２２０制御部、２３０  無線通信部、２００  記憶部、２０１  センサデータ通信部、２０２  信号変換部、２０３  優先順位判断部、２０４  サーバ通信部、２０５  バックアップ管理部、２０６  優先順位定義テーブル、４００  サーバ通信データのフォーマット、４０１  データ種別、４０２  送信タイムスタンプ、４０３  送信データ
【図１】
2019161359.tif 000003
【図２】
2019161359.tif 000004
【図３】
2019161359.tif 000005
【図４】
2019161359.tif 000006
【図５】
2019161359.tif 000007
【図６】
2019161359.tif 000008
【図７】
2019161359.tif 000009
【図８】
2019161359.tif 000010