TOP特許意匠商標
特許ウォッチ DM通知 Twitter
公開番号2019161359
公報種別公開特許公報(A)
公開日20190919
出願番号2018043195
出願日20180309
発明の名称中継装置
出願人横河電機株式会社
代理人
主分類H04L 12/801 20130101AFI20190823BHJP(電気通信技術)
要約【課題】セルラー通信が失敗してゲートウェイからネットワーク上のサーバへデータが送信できなかった場合にも、サーバでのデータ欠損をなくす中継装置を提供する。
【解決手段】ゲートウェイは、センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗したセンサに基づくデータを記憶するために、センサに基づくデータをバックアップするバックアップ管理部と、サーバへのデータの送信の状態であるサーバ通信状態に基づいて、センサに基づくデータ及びバックアップ管理部にバックアップされたデータに対し、サーバに送信する優先順位を判断する優先順位判断部と、センサに基づくデータ及びバックアップ管理部にバックアップされたデータのうち、優先順位判断部が、優先順位が最も高いと判断したデータをサーバへ送信し、サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部とを備える。
【選択図】図2
特許請求の範囲約 1,800 文字を表示【請求項1】
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える中継装置。
【請求項2】
データをサーバに送信するための前記優先順位を定義する優先順位定義テーブルを備え、
前記優先順位判断部は、前記優先順位定義テーブルに定義された前記優先順位に基づいて前記サーバへ送信するデータの優先順位を判断する
請求項1に記載された中継装置。
【請求項3】
前記バックアップ管理部は、前記センサに基づくデータに含まれる、データ種別に基づいて、前記センサに基づくデータを分類してバックアップする
請求項1または2のいずれか1項に記載された中継装置。
【請求項4】
前記バックアップ管理部は、前記バックアップ管理部が前記センサに基づくデータをバックアップするために備えたバックアップ領域の容量を超えて、新たなデータをバックアップする場合、前記バックアップ領域に既に保存されている全てデータのうち、前期新たなデータよりも前記優先順位が低いデータを削除してから、前記新たなデータをバックアップする
請求項1乃至3のいずれか1項に記載された中継装置。
【請求項5】
前記センサに基づくデータにはタイムスタンプが含まれており、
前記データ種別には、中継装置のサーバへの参加離脱通知、センサの参加離脱通知、中継装置の設定変更通知、センサの設定変更通知、センサのアラームおよびセンサの測定値が含まれており、
前記サーバへ送信するデータの優先順位は、下記に示す番号順によって順位が定義され、さらに前記番号順により定義されたの順位の中で前記タイムスタンプが新しい順に順位が定められることを特徴とする
請求項1乃至4のいずれか1項に記載された中継装置。
(1)前記中継装置のサーバへの参加離脱通知、若しくは、前記センサの参加離脱通知。
(2)前記中継装置の設定変更通知、若しくは、前記センサの設定変更通知。
(3)前記センサのアラーム、若しくは、前記センサの測定値。
【請求項6】
コンピュータを、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える中継装置として機能させるプログラム。
【請求項7】
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップすることと、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断することと、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定することと
を備える中継方法。

発明の詳細な説明約 19,000 文字を表示【技術分野】
【0001】
本発明は、IoT(Internet of Things)デバイスとネットワーク上のサーバとの間に設置されるゲートウェイ(登録商標)などの中継装置に関する。
【背景技術】
【0002】
プラントや工場の製造工程等において、インターネットに接続可能なIoTデバイスである様々なセンサから情報を収集してネットワーク上のサーバに送信するために、非特許文献1に示されるようなデータを中継するためのIoTゲートウェイが導入される場合がある。IoTゲートウェイからサーバへのデータ送信には、有線通信の他に無線通信である3G/LTE等のセルラー通信が使用される場合がある。
【先行技術文献】
【非特許文献】
【0003】
シーメンス 産業用IoTゲートウェイ 「SIMATIC(登録商標) IoT2020」 https://jp.rs-online.com/web/p/iot-development-kits/1244037/
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、セルラー通信は、電波の状況が悪い不安定な状況下では一時的に通信が遮断される場合がある。すなわち、IoTゲートウェイは、通信が遮断されてから復旧するまでの間は、センサから収集した情報であるセンサデータをサーバへ送信できない。この場合、サーバにおいては、統計処理に関するデータ演算のうちデータが連続している必要のあるもの、例えばデータの所定の期間の最小値、最大値を求める演算、を行っている場合は、送信できなかった期間のセンサデータが欠如していることから、データ演算の結果に誤りが生じ得る問題がある。また、サーバで、データ演算の結果に基づいて製造工程の異常等の判断を行っている場合、その判断に誤りが生じ得る問題がある。
【課題を解決するための手段】
【0005】
本願発明に係る中継装置は、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部と
を備える。
【発明の効果】
【0006】
本願発明のゲートウェイは、セルラー通信が失敗してゲートウェイからネットワーク上のサーバへデータが送信できなかった場合であっても、送信できなかったデータを簡易な処理で再度送信するため、サーバにおけるデータ欠損が補完され得る。そのため、ネットワーク上のサーバでのデータ処理の誤りを防止し得る。
【図面の簡単な説明】
【0007】
本発明の第1の実施形態に係るクラウドサービスの全体の構成図である。
本発明の第1の実施形態によるゲートウェイの内部の構成図である。
本発明の第1の実施形態によるゲートウェイのソフトウェアのフローチャートである。
本発明の第1の実施形態によるサーバ通信データのフォーマットである。
本発明の第1の実施形態によるサーバ通信データの送信の優先順位の一例である。
本発明の第1の実施形態によるゲートウェイの動作を説明したタイムチャートである。
本発明の第2の実施形態によるゲートウェイの内部の構成図である。
本発明の第2の実施形態によるゲートウェイのソフトウェアのフローチャートである。
【発明を実施するための最良の形 態】
【0008】
[第1の実施形態]
以下、本発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求範囲に係る発明を限定するものではない。また、実施形態の中で説明されている発明の特徴の組合せの全てが発明の解決手段に必須であるとは限らない。
【0009】
図1は、本実施形態に係る中継装置であるゲートウェイ100が用いられたクラウドサービス1の全体の構成図である。クラウドサービスとは、クラウド事業者が所有するサーバなどのコンピューティングリソースを、サービスとして提供したものである。クラウドサービスを利用することで、利用者はコンピューティングリソースを所有する必要がなく、インターネットなどのネットワークを介してコンピューティングリソースを利用することができる。本実施形態におけるクラウドサービスは、様々な場所からセンサデータをサーバに収集し、データに付加価値を付けるサービスを提供する。図1に示すクラウドサービス1の一実施形態は、センサ103〜106、無線アクセスポイント107、ゲートウェイ100、インターネット109、クラウドサーバ102、クライアントPC110、設定用PC112から構成される。
【0010】
センサ103〜106は、ある対象のセンシングデータである測定値を、コンピュータが扱える電気信号に変換するデバイスである。センサ103〜106は、例えば、圧力センサ、pHセンサ、振動センサ、温度センサ、流量センサ、腐食センサ、歪センサ、ノイズセンサ、ガスセンサ、電圧センサ、電流センサ、レベルセンサ等である。センサ103〜106は、測定値を通信により送信する。測定値を送信するための通信は、例えば、Ethernet(登録商標)、シリアル通信、Wi−Fi(登録商標)が用いられる。
【0011】
無線アクセスポイント107は、無線通信を用いた無線センサ103の測定値を有線通信に変換する。無線センサ103に用いられる無線通信は、例えば、Wi−Fiである。本実施例においては、無線アクセスポイント107は、Wi−Fiを有線のEthernetに変換する。
【0012】
記録計108は、センサデータをメモリや記録紙に記録する計器である。本実施例において、記録計108は、1つ又は複数のセンサからセンサデータを収集して記録計108に内蔵されたメモリに記録する。また、記録計108は、収集したセンサデータを、通信を介してリアルタイムに送信する。本実施例において、記録計108は、センサ105のセンサデータとセンサ106のセンサデータを収集し、例えば、Ethernetを介してゲートウェイに送信する。
【0013】
センサ103〜106と記録計108は、稼働中は、基本的に測定値をセンサデータに記録して送信し続ける。また、センサ103〜106と記録計108は、例えば、故障等の原因により測定値を出力できない場合は、アラームをセンサデータに付加して送信する。
【0014】
ゲートウェイ100は、本実施例では、いわゆるIoTゲートウェイである。すなわち、ゲートウェイ100は、インターネットを経由して自機に接続する各ネットワーク機器からの通信データをネットワーク上のサーバに直接送信する中継装置である。また、ゲートウェイ100は、1つ又は複数のセンサからセンサデータを収集し、送信先のサーバに適合した通信データ(以下、サーバ通信データという。)にフォーマットを変換してデータを送信する。より具体的には、ゲートウェイ100は、本実施例においてセンサ103〜106から収集したセンサデータを、ASCII形式のJSONフォーマットに変換する。フォーマットを変換する理由は、センサの種類によって異なるセンサデータの形式を統一するためである。すなわち、ゲートウェイ100は、JSONフォーマットに変換したデータを、3G/LTE等の無線通信インタフェースプロトコルであるセルラー通信111を使用して、インターネット109を介してクラウドサーバ102に送信する。
【0015】
ゲートウェイ100に接続されている設定用PC112は、ゲートウェイ100の各種設定を行うための装置である。ゲートウェイ100の各種設定には、例えば、IPアドレス等のネットワークに関する設定、センサデータの送信元のセンサデバイスの登録、送信先のサーバの登録が含まれる。設定用PC112は、ゲートウェイ100に、例えば、Ethernetを介して接続される。ゲートウェイ100の各種設定を行うには、設定用PC112からゲートウェイ100にログインし、設定用のツールを起動して設定値を入力する。また、設定用PC112は、ゲートウェイ100を機能させるためのソフトウェアをゲートウェイ100にインストールすることができる。更に、設定用PC112は、ゲートウェイ100にインストールしたソフトウェアを起動することができる。
【0016】
クラウドサーバ102は、クラウドサービス1によって提供されたサーバ装置である。クラウドサーバ102は、アプリケーションにより、ゲートウェイ100から受信したサーバ通信データの可視化、解析、診断等の様々な処理を行う。クラウドサーバ102は、データの可視化として、例えば、受信したデータに含まれるセンサの測定値の変化に基づいてグラフを生成する。また、クラウドサーバ102は、データ解析のために、例えば、データの所定の期間の測定値の最小値、最大値を求める演算等を行う。更に、クラウドサーバ102は、例えば、データ解析の結果に基づいて製造工程の異常の状態等を診断する。また、クラウドサーバ102は、製造工程の異常等をユーザに通知するために、予め登録されたユーザのメールアドレスにメールを送信してもよい。
【0017】
クライアントPC110は、クラウドサーバ102で処理されたデータを、インターネット109を介して受信する。これにより、クライアントPC110のユーザは、クライアントPC110の画面で、例えば、グラフが生成された測定値やデータ解析の結果を閲覧することができる。また、クライアントPC110のユーザは、クラウドサーバ102から送信されたメールを参照することができる。なお、クライアントPC110は、デスクトップPC、ノートPCの他に、タブレット端末、スマートフォン、または携帯電話が用いられてもよい。
【0018】
このようなクラウドサービス1に用いるゲートウェイ100に対して、従来のIoTゲートウェイは、セルラー通信111の電波状況が良くないことが原因で通信が一時中断することがある。そして、中断している間、IoTゲートウェイは、センサから送信されたセンサデータをクラウドサーバ102に送信できない。その後電波状況が良くなることによってセルラー通信111が再接続された場合、IoTゲートウェイは、再接続された後にセンサから送信されたセンサデータを、サーバ通信データに変換してクラウドサーバ102に送信する。すなわち、セルラー通信111が一時中断している間のセンサデータは捨てられてしまう。そのため、クラウドサーバ102で行われるデータ解析に誤差が生じる可能性がある。例えば、データの所定の期間の測定値の最小値、最大値を求める演算を行っている場合、通信の不具合が原因で、最大値や最小値を含むデータが欠けることによって、正しい最小値、最大値を求めることができない場合がある。また、測定値に基づいてグラフを生成する場合、データが欠けた部分は表示されないという問題がある。更に、クラウドサーバ102がデータ解析の結果に基づいて製造工程の異常の傾向等を診断してユーザにメールを送信する場合、データが欠けることからメールを送信する判断を誤ってしまい、メールを送信すべき場合であってもメールが送信されないことがあり得る。
【0019】
データの欠損により、ゲートウェイ100からクラウドサーバ102へ送信することができなかったデータを、クラウドサーバ102が受信するためには、例えば、ゲートウェイ100はデータをキャッシュしておく対策が考えられる。この場合、通信の復旧後にクラウドサーバ102からゲートウェイ100へ不足データの送信を要求し、ゲートウェイ100はキャッシュしておいたデータのうち必要なデータをクラウドサーバ102へ送信するようにすることで、データの欠損を防ぐことができる。しかし、プラントや工場等の製造工程に用いられるクラウドサービス1は、大量のセンサデータを処理する必要性から、ゲートウェイ100とクラウドサーバ102との相互の通信が発生することは好ましくない。そのためゲートウェイ100からクラウドサーバ102へできるだけ連続して一方向にデータ送信されることが必要である。
【0020】
一方、センサデータには測定値を含むものの他に、センサの異常を示すアラームを含むもの、センサに設定変更があった場合の通知を含むものなど、いくつかの種類があり、測定値よりも送信の優先順位が高いものもある。また、クラウドサーバ102のアプリケーションのデータ解析の内容によっては、複数のセンサデータのリアルタイム性を優先したい場合もある。そのため、ゲートウェイが、セルラー通信111が一時中断中にキャッシュされたセンサデータを、セルラー通信の復旧後に直ちに送信したとしても、優先順位の高い適切なデータが送信されたことにならない場合があった。
【0021】
そこで、本実施形態に係る中継装置は、
センサに基づくデータを受信するとともに所定の条件でバックアップし、通信が失敗してから復旧した後は、受信したセンサに基づくデータとバックアップしたデータを、所望の優先順位に基づいて選択してネットワーク上のサーバへ送信する。
そのため、中継装置は、データの送信先のサーバとの相互の通信を必要とせずとも送信データの優先順位を決定して一方向にデータを送信しつつ、通信が一時中断したことが原因でサーバへ送信できなかったデータを再度送信し得る。再度送信できれば、サーバでのデータ処理を正常に行うことができる。
【0022】
本実施形態に係る中継装置は、
センサに基づくデータを受信し、ネットワーク上のサーバへの送信に失敗した前記センサに基づくデータを記憶するために、前記センサに基づくデータをバックアップするバックアップ管理部と、
前記サーバへのデータの送信の状態であるサーバ通信状態に基づいて、前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータに対し、前記サーバに送信する優先順位を判断する優先順位判断部と、
前記センサに基づくデータ及び前記バックアップ管理部にバックアップされたデータのうち、前記優先順位判断部が、優先順位が最も高いと判断したデータを前記サーバへ送信し、前記サーバ通信状態を通信が失敗したか否かで判定するサーバ通信部とを備える。
そのため、中継装置は、サーバとの相互の通信を必要とせずとも送信データの優先順位を決定して一方向にデータを送信しつつ、通信が一時中断したことが原因でサーバへ送信できなかったデータを再度送信し得る。再度送信できれば、サーバでのデータ処理を正常に行うことができる。
【0023】
本実施形態に係る中継装置は、
データをサーバに送信するための前記優先順位を定義する優先順位定義テーブルを備え、
前記優先順位判断部は、前記優先順位定義テーブルに定義された前記優先順位に基づいて前記サーバへ送信するデータの優先順位を判断する。
そのため、中継装置は、送信データの優先順位について、サーバで実行される処理の仕様に柔軟に対応することができる。
【0024】
本実施形態に係る中継装置の
前記バックアップ管理部は、前記センサに基づくデータに含まれる、データ種別に基づいて、前記センサに基づくデータを分類してバックアップする。
そのため、中継装置は、サーバとの相互の通信を必要とせずとも送信データの優先順位を容易に決定することができる。よって、通信が一時中断したことが原因でクラウドへ送信できなかったデータを再度送信し得る。
【0025】
本実施形態に係る中継装置の
前記バックアップ管理部は、前記バックアップ管理部が前記センサに基づくデータをバックアップするために備えたバックアップ領域の容量を超えて、新たなデータをバックアップする場合、前記バックアップ領域に既に保存されている全てデータのうち、前期新たなデータよりも前記優先順位が低いデータを削除してから、前記新たなデータをバックアップする。
そのため、中継装置は、長時間通信が一時中断したことが原因でサーバへ送信できなかったデータがバックアップ領域を超えた分がバックアップできなかった場合であっても、極力、優先順位の高いデータをサーバへ送信することができる。
【0026】
本実施形態に係る中継装置についての、
前記センサに基づくデータにはタイムスタンプが含まれており、
前記データ種別には、中継装置のサーバへの参加離脱通知、センサの参加離脱通知、中継装置の設定変更通知、センサの設定変更通知、センサのアラームおよびセンサの測定値が含まれており、
前記サーバへ送信するデータの優先順位は、下記に示す番号順によって順位が定義され、さらに前記番号順により定義されたの順位の中でタイムスタンプが新しい順に順位が定められることを特徴とする
請求項1乃至3のいずれか1項に記載された中継装置。
(1)前記中継装置のサーバへの参加離脱通知、若しくは、前記センサの参加離脱通知。
(2)前記中継装置の設定変更通知、若しくは、前記センサの設定変更通知。
(3)前記センサのアラーム、若しくは、前記センサの測定値。
そのため、中継装置は、通信が一時的に中断した後、通信が復旧した場合、サーバが正常にデータ解析できるための送信データの優先順位を容易に決定することができる。
【0027】
図2は、本実施形態に係る中継器であるゲートウェイ100の内部の構成を示す。ゲートウェイ100は、通信部210、制御部220、無線通信部230、記憶部200から構成される。更に、記憶部200の内部はゲートウェイ100を機能させるソフトウェアの構成を示す。
【0028】
通信部210は、主にセンサと接続するためのインタフェースである。通信部210は、例えば、Ethernetカードである。通信部210は、IoTデバイスであるセンサ、センサと接続された記録計、センサと無線接続された無線アクセスポイント等と、Ethernetケーブルによって接続される。また、通信部210は、主に接続先の各種機器からセンサデータを受信するために用いられる。なお、通信部210はEthernetカードの他に、Bluetooth(登録商標)、USB等のシリアル通信に対応したものであってもよい。
【0029】
制御部220は、例えば、CPU(Central Processing Unit)である。制御部220は、通信部210が受診したセンサデータを処理し、無線通信部230から出力する。なお、制御部220は、記憶部220に記憶されたソフトウェアによって動作する。
【0030】
無線通信部230は、無線通信であるセルラー通信インタフェースである。セルラー通信とは、例えば、3G/4G/LTEなどの携帯電話に用いられる無線通信インタフェースプロトコルである。ここで、3Gとは第3世代の通信規格、4Gとは第4世代の通信規格、LTEとは、Long Term Evolutionを意味する。無線通信部230は、このセルラー通信により、インターネットを介してクラウドサーバ102へデータを送信する。
【0031】
通信部210は、設定用PC112と接続するためにも用いることができる。設定用PC112は、通信部210を介してゲートウェイ100にログインできる。設定用PC112は、ゲートウェイ100の各種設定を行うために用いられる。各種設定とは、例えば、IPアドレス等のネットワークに関する設定、センサデータの送信元のセンサの登録、送信先のクラウドサーバの登録等である。
【0032】
記憶部200は、制御部により実行されるプログラムを格納するための記憶装置である。記憶部200は、例えば、揮発性のメモリであるRAM(Random Access Memory)が用いられる。ここで、RAMは、例えば、SRAM(Static RAM)、DRAM(Dynamic RAM)、または、SDRAM(Synchronous DRAM)である。ところで、記憶部200に記憶されるソフトウェアは、例えば、設定用PC112から通信部210を介してゲートウェイ100に内蔵される補助記憶装置(図示しない)に予め保存されていてもよい。また、設定用PC112からゲートウェイ100の補助記憶装置に記憶されたプログラムが起動され、記憶部200に記憶されてもよい。なお、補助記憶装置は、不揮発性の記憶装置であり、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などが用いられる。
【0033】
記憶部200に記憶されているゲートウェイ100を機能させるためのソフトウェアは、センサデータ通信部201、信号変換部202、優先順位判断部203、サーバ通信部204、バックアップ管理部205、優先順位設定テーブル206で構成される。
【0034】
センサデータ通信部201は、通信部210が受信したセンサデータを記憶部200に取得する。センサデータ通信部201は、所定の時間間隔で、登録されたセンサを順次切り替えながらセンサデータを取得する。所定の時間間隔とは、例えば、10秒である。なお、センサデータ通信部が取得したセンサデータは、順次信号変換部202へ渡される。
【0035】
信号変換部202は、センサデータのフォーマットをサーバ通信データのフォーマット400へ変換する。ここで、サーバ通信データとは、送信先のクラウドサーバ102で取り扱うことができるフォーマットのデータである。より具体的には、サーバ通信データは、例えば、ASCII形式のJSONフォーマットである。すなわち、信号変換部202は、センサによって異なるセンサデータのフォーマットをサーバ通信データのフォーマットに変換することにより、1つのフォーマットに統一してデータの取り扱いを容易にする。
【0036】
信号変換部202が出力するサーバ通信データのフォーマット400を図4に示す。サーバ通信データは、データ種別401、送信タイムスタンプ402、送信データ403で構成される。データ種別401は、サーバ通信データの種別を示す。データ種別には、例えば、次の6つがある。
【0037】
1.ゲートウェイのサーバへの参加・離脱通知
ゲートウェイのサーバへの参加または離脱を意味する。例えば、ゲートウェイ100の電源投入後、ゲートウェイ100がクラウドサーバ102に接続した場合のデータ種別は参加であり、設定用PC112からクラウドサーバ102との接続を切断するよう指示した場合のデータ種別は離脱である。サーバ通信データは、参加・離脱のそれぞれのタイミングで生成される。そして、クラウドサーバ102が本通知を受信した場合、そのデータ種別が「参加」であれば、クラウドサーバ102は、ゲートウェイ100からデータが送信されることを認識する。また、クラウドサーバ102が本通知を受信した場合、そのデータ種別が「離脱」であれば、クラウドサーバ102は、ゲートウェイ100からデータが送信されなくなることを認識する。なお、ゲートウェイ100を特定する情報が、信号変換部202により送信データ504に書き込まれる。
【0038】
2.ゲートウェイ下に接続されているデバイスの参加・離脱通知
デバイスの参加または離脱を意味する。センサ等のデバイスがゲートウェイ100に登録され接続されたら参加であり、登録解除され非接続となったら離脱である。サーバ通信データは参加・離脱のそれぞれのタイミングで生成される。そして、クラウドサーバ102がこの通知を受信した場合、参加であればデバイスからデータが送信されることを、離脱であればデバイスからデータの送信がされなくなることを認識する。なお、デバイスを特定する情報は、信号変換部202によりサーバ通信データの送信データ403に書き込まれる。
【0039】
3.ゲートウェイの設定変更通知
ゲートウェイ100の設定が変更されたことを意味する。例えば、ゲートウェイ100の設定変更は、設定用PC112から通信部210を介して行われる。設定の内容は信号変換部202によりサーバ通信データの送信データ403に書き込まれる。
【0040】
4.ゲートウェイ下に接続されているデバイスの設定変更通知
デバイスの設定が変更されたことを意味する。例えば、デバイスの設定変更は、デバイスへの操作により生じる。なお、設定の内容はデバイスからセンサデータとして情報を受け取った信号変換部202によって、サーバ通信データの送信データ403に書き込まれる。
【0041】
5.デバイスのアラーム
センサ、記録計等のデバイスの故障等に起因するアラームを意味する。アラームの内容は、デバイスからセンサデータとして情報を受け取った信号変換部202により、サーバ通信データの送信データ403に書き込まれる。なお、信号変換部202により変換後、優先順位判断部203に初めて入力されるデータのうち、デバイスのアラームは、この種別に属することとして優先順位が判断される。
【0042】
6.デバイスの測定データ
センサによって測定された測定値を意味する。測定値は、デバイスからセンサデータとして情報を受け取った信号変換部202により、サーバ通信データの送信データ403に書き込まれる。
【0043】
優先順位判断部203は、信号変換部202から出力されたデータとバックアップ管理部205にバックアップされたデータの中から、優先順位の最も高いデータを選択し、サーバ送信部204に送信する。優先順位の高いデータは、優先順位定義テーブル206の定義に基づいて判断される。優先順位定義テーブル206には、データ種別401の優先順位が書き込まれている。また、送信タイムスタンプ402を優先順位の判断の条件に入れるか否か、優先順位の高い送信タイムスタンプ402に記録された時刻の大小関係が書き込まれている。なお、優先順位定義テーブル206に書き込まれた優先順位の定義は、例えば設定用のPC112から通信部210を介して、必要に応じて書き換え可能である。
【0044】
サーバ通信部204は、優先順位判断部203が選択したデータをクラウドサーバ102へ送信するために無線通信部230へ送信する。そして、無線通信部230は、セルラー通信によりデータをゲートウェイ100に登録されたクラウドサーバ102へ送信する。次に、サーバ通信部204は、無線通信部230から、データの送信が成功したか失敗したかの結果を受け取る。データの送信が失敗だった場合、サーバ通信部204は、送信に失敗したデータをバックアップ管理部205へ送信する。
【0045】
バックアップ管理部205は、送信に失敗したデータを保存することにより、送信できなかったデータの本システムからの消失を防ぐ。そして、バックアップ管理部205は、サーバ通信データのデータ種別401に書き込まれた種別ごとに分類して送信に失敗したデータを保存する。分類すべきデータ種別は、優先順位定義テーブル206から取得する。なお、優先順位判断部203は、バックアップ管理部205にデータ種別ごとに分類されてバックアップされているデータのうち、データ種別の優先順位の最も高いデータ種別を選択し、更に、送信タイムスタンプ401の優先順位の最も高いものを選択する。次に、優先順位判断部203は、その選択されたデータと、信号変換部202から受け取ったデータのうち、優先順位定義テーブル206の定義によって優先順位が高いと判断される方のデータを選択する。選択されたデータはサーバ通信部204に渡される。
【0046】
ここで、セルラー通信が長時間不調となった場合、バックアップデータが増えるため、バックアップ管理部205が、データをバックアップするために確保しているメモリ容量が一杯になる場合がある。このような場合は、既にバックアップされているデータのうち、バックアップしようとするデータの優先順位よりも優先順位が低いデータを取り除くことによって、優先度の高いデータをバックアップすることが可能になる。
【0047】
[ソフトウェアの動作]
図3は、ゲートウェイ100の動作を説明したフローチャートを示す。ゲートウェイ100に実装されたソフトウェアが図3のフローを実行することにより、センサから収集したセンサデータをクラウドサーバ102へ送信する。
【0048】
センサデータ通信部201は、通信部210にEthernetを介して接続され、ゲートウェイ100に登録されているセンサ等のデバイスのセンサデータを受信する(S300)。複数のデバイスがゲートウェイ100に登録されている場合、センサデータ通信部201は、所定の時間ごとに対象のデバイスを順次切替えながらセンサデータを受信する。ここで、所定の時間は、ゲートウェイ100のソフトウェアがデフォルトで持っている値でもよく、通信部210を介して接続された設定用PC112から設定された値でもよい。なお、具体的な所定の時間は、例えば、10秒である。更に、受信するセンサデータは、デバイスによって測定された測定値、または、デバイスの異常等を示すアラームを含んでいてもよい。
【0049】
信号変換部202は、センサデータ通信部201が受信したセンサデータを、サーバ通信データのフォーマットに変換する(S301)。サーバ通信データのフォーマットは、前記の図4で説明した通りである。なお、ゲートウェイ100に、サーバ通信データの送信先であるクラウドサーバ102が登録された場合は、信号変換部202は、データ種別401を「ゲートウェイのサーバへの参加通知」としたサーバ通信データを生成する。また、ゲートウェイ100から、サーバ通信データの送信先であるクラウドサーバ102の登録が解除された場合は、信号変換部202は、データ種別401を「ゲートウェイのサーバへの離脱通知」としたサーバ通信データを生成する。なお、信号変換部202は、この2種のサーバ通信データを生成する際、サーバ通信データの送信データ403は、ゲートウェイを特定するための情報である、ゲートウェイのドメイン名、IPアドレス、MACアドレス等を書き込んでもよい。他に、信号変換部202は、ゲートウェイ100に、センサデータの送信元であるデバイスが新たに登録された場合は、データ種別を「ゲートウェイ下に接続されているデバイスの参加通知」としたサーバ通信データを生成する。また、信号変換部202は、ゲートウェイ100から、センサデータの送信元であるデバイスの登録が解除された場合は、データ種別を「ゲートウェイ下に接続されているデバイスの離脱通知」としたサーバ通信データを生成する。これら2種のサーバ通信データを生成する際、信号変換部202は、サーバ通信データの送信データ403に、デバイスを特定する情報、例えば、デバイスのドメイン名、IPアドレス、MACアドレス等を書き込んでもよい。更に、信号変換部202は、サーバ通信データをゲートウェイ100から送信する時刻をサーバ通信データの送信タイムスタンプ402に書き込む。
【0050】
優先順位判断部203は、信号変換部202から出力されたサーバ通信データとバックアップ管理部205にバックアップされたサーバ通信データの中から、優先順位の最も高いデータを選択する(S302)。
【0051】
ここで、優先順位の決め方の具体例を図5を用いて説明する。図5は、優先順位判断部203が優先順位の判断をする対象のデータの一例を示している。ここで、バックアップ管理部205には、データ種別が1番のデータ501、データ種別が4番のデータ502乃至503、データ種別が6番のデータ505乃至508が、セルラー通信の失敗が原因でバックアップされている。なお、バックアップ管理部のデータは、データ種別ごとにまとめて保存されている。また、それぞれのデータ種別において、データはタイムスタンプに書き込まれた時刻が下から新しい順に並んでいる。すなわち、図5の場合、下から優先順位の高い順序で保存されている。
ここで、優先順位については、図4で示した通り、データ種別の番号が小さい順に優先順位を高く設定されているものとする。すなわち、図5の場合は、データ種別が1番のデータ501が最も優先順位が高いため、この中では最初にデータ501がサーバ通信部204に渡される。次に優先順位が高いのは、データ種別が4番でかつ最も新しいデータ502であり、その次に優先順位が高いのは、次に新しいデータ503である。そして、次に優先順位が高いのは、データ種別が4番であるデータ504乃至508である。これらのうち、タイムスタンプの時刻が最も新しいデータ504が最も優先順位が高い。その次に新しい順である、データ505、データ506、データ507、データ508の順に優先順位が高い。
【0052】
なお、データ種別が6番のデバイスの測定データ及び5番のデバイスのアラームについては、通常はバックアップされたデータよりも信号変換部202から出力されるデータの方が新しい。そのため、信号変換部202から出力されるデータの方が優先順位が高くなる。すなわち、バックアップされたデバイスの測定データやデバイスのアラームが出力されるのは、信号変換部202へデバイスの測定データやデバイスのアラームが入ってこなくなった後である。
【0053】
なお、データ種別401の優先順位は図4で説明したものを用いたが、この優先順位に限られるものではなく、優先順位定義テーブル206の設定を変更することによりいかようにも設定することができる。更に、送信タイムスタンプ402に書き込まれた時刻が新しいデータほど優先順位が高いこととしたが、これに限られず、時刻が古いデータの優先順位を高くするよう優先順位定義テーブル206に設定することもできる。なお、クラウドサーバ102において、リアルタイム性が要求されるデータ処理を行う場合は、時刻が新しいデータの優先順位を高くするよう設定し、リアルタイム性よりもデータの順序が重要なデータ処理を行う場合は、時刻が古いデータの優先順位を高くするよう設定を使い分けてもよい。
ちなみに、時刻が新しいデータの優先順位を高くする場合は、先入れ後出し方式であるスタック型のデータ構造を用いて実現することができる。一方、時刻が古いデータの優先順位を高くする場合は、先入れ先出し方式であるキュー型のデータ構造を用いて実現することができる。
【0054】
優先順位判断部203は、選択したデータがバックアップデータであった場合は(S303)選択したバックアップデータを、バックアップ管理部205から取り出す(S304)。例えば、図5において、データ501を選択してサーバ通信部204へ送信する場合は、優先順位判断部203は、データ501をバックアップ管理部205から取り出す。その結果、データ501は、バックアップ管理部205から消去される。
【0055】
サーバ通信部204は、優先順位判断部203が選択したデータを無線通信部230に送信することにより、セルラー通信によりクラウドサーバ102へデータを送信する(S305)。送信に失敗した場合(S306:No)、サーバ通信部204は、送信に失敗したデータをバックアップ管理部205へ渡し、バックアップ管理部205は受け取ったデータをバックアップする(S307)。その際、データ種別401に基づいて優先順位の高いデータを取り出すことができるようにするため、バックアップ管理部205は、図5に示すように、データ種別ごとに分類してデータを保存する。送信に成功した場合は、データをバックアップしない(S306:Yes)。
【0056】
データをバックアップする際、バックアップ管理部205が確保しているバックアップ用のメモリ領域が一杯になっている場合があり得る。この場合、優先順位の高いデータを優先してバックアップ保存する。すなわち、バックアップ管理部205は、サーバ通信部204から通信に失敗したデータを取得したとき、バックアップデータでメモリ容量が一杯になっている場合は、優先順位定義テーブル206に定義された優先順位に基づいて、バックアップデータの優先順位をチェックする。もし、サーバ通信部204から取得したデータよりも優先順位の低いバックアップデータが存在した場合は、バックアップ管理部205は、そのデータを消去してメモリ領域を確保してから、サーバ通信部204から取得したデータをバックアップする。サーバ通信部204から取得したデータよりも優先順位の低いバックアップデータが存在しない場合は、サーバ通信部204から取得したデータは捨てられる。
【0057】
サーバ通信部204が送信したデータのデータ種別が「ゲートウェイのサーバへの離脱通知」の場合、または、ゲートウェイ100に登録されているデバイスすべてについて「ゲートウェイ下に接続されているデバイスの離脱通知」を送信した場合は、処理を終了する(S308:No)。ゲートウェイ100のサーバへの参加が継続され、かつ、ゲートウェイ100の下に接続されている少なくとも1つのデバイスの参加が継続される場合(S308:Yes)は、センサデータを受信する処理(S300)に戻る。
【0058】
図6は、本実施形態に係るタイミングチャートを示す。図6は、ゲートウェイ100の動作を時系列に説明したものである。図6で説明に用いるデータは、全てデータ種別401が「デバイスの測定データ」であるものとする。
【0059】
センサ601から入ってきた測定データは、センサデータ通信部201で取得される。そして、信号変換部202によりフォーマットが変換される。次に、信号変換部202から出力された1番のデータは、バックアップ管理部205にデータがないことから、優先順位判断部203において選択される。したがって、サーバ通信部204は1番のデータを送信する。2番のデータも同様にサーバ通信部204から出力される。
【0060】
次に、サーバ通信部204で、セルラー通信が失敗607することにより、3番から5番までのデータが送信できなかったものとする。この場合、3番のデータは、サーバ通信部204で通信失敗した後、バックアップ管理部205に保存される。同様に、4番のデータもバックアップ管理部205に保存される。この時点でバックアップ管理部205に保存されているデータは3番と4番の2つである。更に5番のデータもバックアップ管理部205に保存される。そして、バックアップ管理部205に保存されているデータは3番から5番までの合計3つとなる。
【0061】
一方、優先順位判断部203は、信号変換部202から3番から5番のデータを受信したときは、バックアップ管理部にデータがないため、信号変換部202から受信した3番から5番までのデータを選択する。次に、6番のデータを信号変換部202が出力した時点では、バックアップ管理部205に3番のデータが存在する。この場合、3番のデータよりも6番のデータの方が新しいため、優先順位判断部203は6番のデータを選択する。したがって、サーバ通信部204からは6番のデータが送信される。この送信は成功する。
【0062】
次に、信号変換部202からは、6番のデータを最後にデータが出力されない。そのため、優先順位判断部203は、6番のデータの次は、バックアップ管理部205に保存されている最も新しい5番のデータを選択する。そして、サーバ通信部204は、その5番のデータを送信する。この送信は成功する。同時にバックアップ管理部205から5番のデータが取り出される。その結果、バックアップ管理部205に残ったデータは3番と4番のデータとなる。同様に、優先順位判断部203はバックアップ管理部205に保存されている4番、3番のデータを順に選択する。そのため、サーバ通信部204は、4番、3番のデータの順に送信する。この送信は成功する。
以上のシーケンスによりゲートウェイ100は、定義された優先順位に基づいて、センサデータをクラウドサーバ102へ送信する。
【0063】
[第2の実施形態]
図7に第2の実施形態に係るゲートウェイ100内部の構成を示す。構成要素のそれぞれは図2のものと同じであり同一の構成要素には同一の番号を振っている。図2との異なる点は、バックアップ管理部205の位置である。図2では、バックアップ管理部205は、サーバ通信部204と優先順位判断部203の間に位置しているが、図7では、バックアップ管理部205は、信号変換部202と優先順位判断部203との間に位置する。この配置であっても図2の構成のゲートウェイ100と同じ機能を実現することができる。
【0064】
図7の構成と図2の構成とでは動作の順序が異なる。図7の構成では、バックアップ管理部205は通信の失敗の有無にかかわらずデータをバックアップしておき、サーバ通信部204で通信が成功したことを確認してから、優先順位判断部203がバックアップ管理部205にバックアップされたデータを取り出す。図2の構成では、サーバ通信部204が通信に失敗した後、バックアップ管理部205に送信に失敗したデータをバックアップ保存する。
【0065】
図8は、第2の実施形態に係るゲートウェイ100の動作を説明したフローチャートである。以降、図8を参照しつつ動作を説明する。センサデータ通信部201は、センサデータを受信する(S300)。次に、信号変換部202は、センサデータをサーバ通信データのフォーマット400に変換する(S301)。
【0066】
次に、バックアップ管理部205は、信号変換部202から出力されたサーバ通信データをバックアップする(S307)。この場合、データ種別401ごとに分類してバックアップする点は、図3で説明した内容と同じである。そして、優先順位判断部203は、優先順位定義テーブル206の定義に基づいて、バックアップ管理部205にバックアップされているデータから優先順位の最も高いデータを選択する。優先順位判断部203により選択されたデータはサーバ通信部204から無線通信部230を介してセルラー通信でクラウドサーバ102へ送信される(S305)。
【0067】
セルラー通信による送信が成功したか否かの情報は、サーバ通信部204から優先順位判断部203へ伝達される。送信が成功した場合(S306:Yes)、優先順位判断部203は、バックアップ管理部205にバックアップされている、送信に成功したバックアップデータを取り出す(S304)。これにより送信に成功したデータは消滅する。
【0068】
送信が失敗した場合(S306:No)、優先順位判断部203は、バックアップデータを取り出さない。これにより、送信に失敗したデータは、バックアップ管理部205にバックアップされたままとなるため、セルラー通信が復旧してから送信されることができる。
【0069】
ゲートウェイ及び少なくとも1つのデバイスが参加中であれば(S308:Yes)、センサデータを受信する処理(S300)に戻る。そうでなければ(S308:No)、処理を終了する。
【0070】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることは当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0071】
本発明の実施の形態において、ゲートウェイ100の機能はソフトウェアで実現することを例示したが、必ずしもソフトウェアである必要はなく、専用のハードウェアで実現してもよい。例えば、ゲートアレイ、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)などを使用して実現されてもよい。
【0072】
本発明の実施の形態において、ゲートウェイ100は、設定用PC112によって各種設定及びソフトウェアの起動が実施される構成である、いわゆるIoTゲートウェイを例示した。しかし、必ずしもこのような構成のIoTゲートウェイである必要はなく、例えば、マウス、キーボード、ディスプレイ等の入出力装置を備えたデスクトップPC、サーバ専用マシン、ノートPC、仮想マシン等で実現されてもよい。そして、ゲートウェイ100が備える入出力装置を操作することによって各種設定及びソフトウェアの起動が実施されてもよい。なお、祖gふとウェアは、ゲートウェイ100の起動に伴って起動されてもよい。
【符号の説明】
【0073】
103〜106 センサ、107 無線アクセスポイント、108 記録計、100 ゲートウェイ、109 インターネット、102 クラウドサーバ、110 クライアントPC、1112 設定用PC、210 通信部、220制御部、230 無線通信部、200 記憶部、201 センサデータ通信部、202 信号変換部、203 優先順位判断部、204 サーバ通信部、205 バックアップ管理部、206 優先順位定義テーブル、400 サーバ通信データのフォーマット、401 データ種別、402 送信タイムスタンプ、403 送信データ

関連特許

横河電機株式会社
中継装置
横河電機株式会社
照射光学装置
横河電機株式会社
センサヘッド及び電流センサ
横河電機株式会社
気密端子及びセンサユニット
横河電機株式会社
バネ接点式電池ホルダ及び計測器
横河電機株式会社
電子機器、電池寿命判定方法、及び電池寿命判定プログラム
横河電機株式会社
機器保全装置、機器保全方法、機器保全プログラム及び記録媒体
横河電機株式会社
情報取得装置、ゲートウェイ装置、プログラム、記録媒体、および方法
横河電機株式会社
変更検出装置、保全管理システム、変更検出方法、プログラムおよび記録媒体
横河電機株式会社
機器管理装置、機器管理方法、機器管理プログラム、記録媒体、及び機器管理システム
横河電機株式会社
クラスパラメータセットを使用したフィールドデバイス管理のためのシステムおよび方法
横河電機株式会社
データアクイジションシステム、入力デバイス、データアクイジション装置、およびデータ合成装置
トヨタ自動車株式会社
冷却液組成物
シチズン時計株式会社
発光装置
JNC株式会社
ケイ素酸化物又はケイ素酸化物構造体を製造する方法
日立化成株式会社
構造体及びその製造方法
国立大学法人東北大学
酸性ガス分離装置及び酸性ガス分離方法
セイコーエプソン株式会社
原子発振器および周波数信号生成システム
セイコーエプソン株式会社
原子発振器および周波数信号生成システム
セイコーエプソン株式会社
インクジェット捺染用組成物セットおよびインクジェット捺染方法
個人
ヘッドホン
個人
スピーカー
株式会社発明屋
音響装置
株式会社シグマ
撮像装置