(57)【要約】      （修正有）【課題】より適切にデータの中継を可能とする中継装置、中継方法、及び中継プログラムを提供する。【解決手段】中継装置２０は、第１ネットワークを介して接続される第１装置からデータを受信する受信部２１と、受信部により受信されたデータを、所定のファイルに記録する記録部２２と、所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、第１ネットワークとは異なる第２ネットワークを介して接続される第２装置に送信する送信部２３と、を有する。【選択図】図４
2020027963.tif 000002
【特許請求の範囲】
【請求項１】
第１ネットワークを介して接続される第１装置からデータを受信する受信部と、
前記受信部により受信されたデータを、所定のファイルに記録する記録部と、
前記所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、前記第１ネットワークとは異なる第２ネットワークを介して接続される第２装置に送信する送信部と、を有する中継装置。
【請求項２】
前記第１ネットワークに対するＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス及びファイアウォール機能の設定と、前記第２ネットワークに対するＩＰアドレス及び前記ファイアウォール機能の設定とがそれぞれ異なる、
請求項１に記載の中継装置。
【請求項３】
前記受信部は、前記第１装置からデータが受信されたことに応答して、当該データを受信したことを示す応答を前記第１装置に返信する、
請求項１または２に記載の中継装置。
【請求項４】
前記記録部は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上で動作する第１プロセスであり、
前記送信部は、前記ＯＳ上で動作する前記第１プロセスとは異なる第２プロセスである、
請求項１から３のいずれか一項に記載の中継装置。
【請求項５】
前記送信部は、所定時間以上継続して、前記所定のファイルに記憶されているデータが変更されていない場合、前記第１装置の情報、及び前記中継装置の情報の少なくとも一方を含むデータを、前記第２装置に送信する、
請求項１から４のいずれか一項に記載の中継装置。
【請求項６】
前記送信部は、所定時間以上継続して、前記所定のファイルに記憶されているデータが変更されていない場合、前記第２ネットワークに対するファイアウォール機能の設定を、所定の通信プロトコルのパケットの受信を許可するように変更する、
請求項１から５のいずれか一項に記載の中継装置。
【請求項７】
前記送信部は、所定時間以上継続して、前記第２装置に送信不能である場合、前記変更された部分のデータを、第３装置に送信する、
請求項１から６のいずれか一項に記載の中継装置。
【請求項８】
中継装置が、
第１ネットワークを介して接続される第１装置からデータを受信する処理と、
受信されたデータを、所定のファイルに記録する処理と、
前記所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、前記第１ネットワークとは異なる第２ネットワークを介して接続される第２装置に送信する処理と、を実行する中継方法。
【請求項９】
コンピュータに、
第１ネットワークを介して接続される第１装置からデータを受信する処理と、
受信されたデータを、所定のファイルに記録する処理と、
前記所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、前記第１ネットワークとは異なる第２ネットワークを介して接続される第２装置に送信する処理と、を実行させる中継プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、中継方法、及び中継プログラムに関する。
【背景技術】
【０００２】
従来、センサ等から取得したデータを、中継装置を介してサーバに記憶する技術が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−２０８７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、サイバー攻撃等の不適切なパケットを中継装置が中継する可能性が有る。
【０００５】
そこで、より適切にデータの中継を可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
中継装置は、第１ネットワークを介して接続される第１装置からデータを受信する受信部と、前記受信部により受信されたデータを、所定のファイルに記録する記録部と、前記所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、前記第１ネットワークとは異なる第２ネットワークを介して接続される第２装置に送信する送信部と、を有する。
【発明の効果】
【０００７】
より適切にデータの中継を可能とすることができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る通信システムの構成例を示す図である。
【図２】実施形態に係る中継装置のハードウェア構成例を示す図である。
【図３】実施形態に係る機器、及びサーバのハードウェア構成例を示す図である。
【図４】実施形態に係る中継装置の機能構成の一例を示す図である。
【図５】実施形態に係る通信システムの処理の一例を示すシーケンス図である。
【図６】実施形態に係る認証処理の一例について説明するフローチャートである。
【図７】実施形態に係る記録処理の一例について説明するフローチャートである。
【図８】実施形態に係る送信処理の一例（その１）について説明するフローチャートである。
【図９】実施形態に係る送信処理の一例（その２）について説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施形態を説明する。
【００１０】
＜システム構成＞
図１は、実施形態に係る通信システム１の構成例を示す図である。図１において、通信システム１は、機器１０−１Ａ、機器１０−１Ｂ、機器１０−２Ａ、機器１０−２Ｂ、機器１０−３Ａ、機器１０−３Ｂ（以下で、それぞれを区別する必要がない場合は、単に「機器１０」と称する。）、中継装置２０−１、中継装置２０−２、中継装置２０−３（以下で、それぞれを区別する必要がない場合は、単に「中継装置２０」と称する。）、及びサーバ３０を有する。なお、機器１０、中継装置２０、及びサーバ３０の数は、図の例に限定されない。
【００１１】
機器１０−１Ａ、機器１０−１Ｂと中継装置２０−１とは、例えば、ＬＡＮ（Local Area Network）、ＵＳＢ（Universal Serial Bus）ケーブル、無線ＬＡＮ、またはＢＬＥ（Bluetooth（登録商標） Low Energy）等の近距離無線により通信できるように接続されている。また、機器１０−２Ａ、機器１０−２Ｂと中継装置２０−２、機器１０−３Ａ、機器１０−３Ｂと中継装置２０−３、中継装置２０−１と中継装置２０−２、及び中継装置２０−２と中継装置２０−３も、同様に接続されている。また、中継装置２０−３とサーバ３０は、例えば、インターネット、携帯電話網、ＬＡＮ等のネットワーク５０により、通信できるように接続されている。
【００１２】
なお、以下で、一の中継装置２０からみて、サーバ３０側の通信経路上の装置を上位装置、機器１０側の通信経路上の装置を下位装置と称する。この場合、例えば、中継装置２０−２からみた上位装置は、中継装置２０−３、及びサーバ３０であり、中継装置２０−２からみた下位装置は、中継装置２０−１、機器１０−１Ａ、及び機器１０−１Ｂである。
【００１３】
機器１０は、例えば、図示しない計測器（センサ）等により検出された製造設備等のデータを、当該データの送信先として予め設定されている中継装置２０に送信する機器である。なお、機器１０は、製造設備等と一体の装置として構成されてもよいし、製造設備等を監視する計測器と一体の装置として構成されてもよい。
【００１４】
中継装置２０は、機器１０から送信されたデータを、サーバ３０にアップロードする。図１の例では、中継装置２０−１は、機器１０−１Ａ、及び機器１０−１Ｂから受信したデータを、中継装置２０−２、及び中継装置２０−３を介してサーバ３０にアップロードする。また、中継装置２０−２は、機器１０−２Ａ、及び機器１０−２Ｂ及び中継装置２０−１から受信したデータを、中継装置２０−３を介してサーバ３０にアップロードする。また、中継装置２０−３は、機器１０−３Ａ、及び機器１０−３Ｂ及び中継装置２０−２から受信したデータを、サーバ３０にアップロードする。サーバ３０は、例えば、クラウド上に設けられており、機器１０から中継装置２０を介してアップロードされたデータを記憶する。これにより、例えば、通信システム１の管理者は、機器１０により収集されたデータを、サーバ３０上で一元管理することができる。
【００１５】
＜ハードウェア構成＞
≪中継装置２０のハードウェア構成≫
図２は、実施形態に係る中継装置２０のハードウェア構成例を示す図である。図２の中継装置２０は、それぞれバスＢで相互に接続されているドライブ装置２００、補助記憶装置２０２、メモリ装置２０３、ＣＰＵ２０４、インタフェース装置２０５、インタフェース装置２０６等を有する。
【００１６】
中継装置２０での処理を実現する中継プログラムは、例えば、補助記憶装置２０２によって提供されてもよい。この場合、例えば、中継プログラムがインストールされている、他の中継装置２０の補助記憶装置のデータ（イメージ）が、ＰＣ（Personal Computer）等を用いて補助記憶装置２０２にコピーされてもよい。これにより、Ｍｉｃｒｏ  ＳＤカード等の補助記憶装置２０２にイメージをコピーし、設定を変更するのみで使えるようになる。
【００１７】
また、中継プログラムは、例えば、記録媒体２０１によって提供されてもよい。この場合、中継プログラムを記録した記録媒体２０１がドライブ装置２００にセットされると、プログラムが記録媒体２０１からドライブ装置２００を介して補助記憶装置２０２にインストールされてもよい。但し、中継プログラムのインストールは必ずしも記録媒体２０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置２０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置２０３は、プログラムの起動指示があった場合に、補助記憶装置２０２からプログラムを読み出して格納する。ＣＰＵ２０４は、メモリ装置２０３に格納されたプログラムに従って中継装置２０に係る機能を実現する。インタフェース装置２０５は、機器１０側のネットワークに接続するためのインタフェースとして用いられる。インタフェース装置２０６は、サーバ３０側のネットワークに接続するためのインタフェースとして用いられる。
【００１９】
なお、記録媒体２０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置２０２の一例としては、Ｍｉｃｒｏ  ＳＤカード等のフラッシュメモリ、又はＨＤＤ（Hard Disk Drive）等が挙げられる。記録媒体２０１及び補助記憶装置２０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２０】
中継装置２０のハードウェアとして、例えば、低価格かつ高性能なワンボートコンピュータであるＲａｓｐｂｅｒｒｙ  Ｐｉを用いてもよい。インタフェース装置２０５、及びインタフェース装置２０６は、例えば、ＵＳＢケーブル、及びＵＳＢコネクタを介してバスＢに接続される無線ＬＡＮアダプター等でもよい。この場合、インタフェース装置２０５は無線ＬＡＮ親機として動作し、機器１０、及び機器１０側の中継装置２０等の下位装置の無線ＬＡＮ子機と通信を行うようにしてもよい。また、インタフェース装置２０６は無線ＬＡＮ子機として動作し、サーバ３０側の中継装置２０等の上位装置の無線ＬＡＮ親機と通信を行うようにしてもよい。なお、インタフェース装置２０５、及びインタフェース装置２０６は、無線ＬＡＮ親機、及び無線ＬＡＮ子機として同時に動作できる一体の無線ＬＡＮアダプター等でもよい。インタフェース装置２０５、及びインタフェース装置２０６の少なくとも一方を接続するＬＡＮケーブルとして、所定の長さ（例えば、２ｍ）のものを用いるようにしてもよい。これにより、例えば、電波の遮蔽物の前で下位装置からの電波を受信し、当該遮蔽物の後ろから、上位装置への電波を送信することができる。
【００２１】
また、インタフェース装置２０５、及びインタフェース装置２０６は、例えば、ＬＡＮケーブルを接続するためのＮＩＣ（Network Interface Card）等でもよい。または、３Ｇ、及びＬＴＥ（Long Term Evolution）等の携帯電話網を介してインターネットに接続するための通信ボードでもよい。
【００２２】
≪機器１０、サーバ３０のハードウェア構成≫
図３は、実施形態に係る機器１０、及びサーバ３０のハードウェア構成例を示す図である。以下では、サーバ３０を例として説明するが、機器１０のハードウェア構成も、図３に示すサーバ３０のハードウェア構成例と同様でもよい。
【００２３】
図３のサーバ３０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。
【００２４】
サーバ３０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００２５】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従ってサーバ３０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示するディスプレイである。入力装置１０７は様々な操作指示の入力を受け付ける。
【００２６】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard Disk Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。なお、サーバ３０は、例えば、クラウドストレージ（Amazon（登録商標） S3等）やデータベースサービス（Amazon RDS等）等の、クラウドベンダーが提供するサービスにより実現してもよい。
【００２７】
＜機能構成＞
次に、図４を参照し、実施形態に係る中継装置２０の機能構成について説明する。図４は、実施形態に係る中継装置２０の機能構成の一例を示す図である。
【００２８】
中継装置２０は、受信部２１、記録部２２、送信部２３、及び設定部２４を有する。これら各部は、中継装置２０にインストールされた１以上のプログラムが、中継装置２０のＣＰＵ２０４に実行させる処理により実現される。
【００２９】
受信部２１は、インタフェース装置２０５により接続されるネットワーク（「第１ネットワーク」の一例。）を介して接続される下位装置（「第１装置」の一例。）から、所定の通信プロトコルの通信セッションによりデータを受信する。記録部２２は、受信部２１により受信されたデータを、所定のファイルに記録する。
【００３０】
送信部２３は、当該所定のファイルに記憶されているデータが変更されているか否かを所定の周期で判定し、変更されている場合、変更された部分のデータを、インタフェース装置２０６により接続されるネットワーク（「第２ネットワーク」の一例。）を介して接続される上位装置（「第２装置」の一例。）に送信する。送信部２３は、受信部２１がデータを受信した通信プロトコルとは異なる通信プロトコルを用いて、データを送信してもよい。または、送信部２３は、受信部２１がデータを受信した通信プロトコルと同一の通信プロトコルで、受信部２１がデータを受信した通信セッションとは異なる通信セッションを用いて、データを送信してもよい。
【００３１】
なお、記録部２２と送信部２３は、中継装置２０のＯＳ（Operating System）上で動作する、それぞれ異なるプログラムのプロセスにより実現してもよい。すなわち、記録部２２は、第１アプリケーションのプロセス、送信部２３は、第１アプリケーションとは異なる第２アプリケーションのプロセスにより実現してもよい。これにより、インタフェース装置２０５により接続されるネットワークから受信したデータを扱うプロセスと、インタフェース装置２０６により接続されるネットワークにデータを送信するプロセスを別個のものとされることにより、よりセキュリティが向上する。
【００３２】
設定部２４は、管理者からの設定操作により、中継装置２０の通信に関する設定を行う。設定部２４は、例えば、インタフェース装置２０５により接続されるネットワーク用のＩＰ（Internet Protocol）アドレス及びファイアウォール機能の設定を行う。設定部２４は、下位装置との通信を行うためのインタフェース装置２０５のファイアウォール機能の設定を、機器１０が当該データの送信に用いる通信プロトコルでのパケットのみの受信を許可する設定とする。これにより、機器１０が送信するデータを中継装置２０が受信可能になる。
【００３３】
また、設定部２４は、例えば、インタフェース装置２０６により接続されるネットワーク用のＩＰアドレス及びファイアウォール機能の設定を行う。設定部２４は、上位装置との通信を行うためのインタフェース装置２０６のファイアウォール機能の設定を、全ての通信プロトコルでのパケットの受信を拒否する設定とする。これにより、サーバ３０側から機器１０側への通信を拒否するため、機器１０に対する悪意のある通信を防ぐことができる。
【００３４】
また、設定部２４は、管理者からの設定操作により、インタフェース装置２０５により接続されるネットワークと、インタフェース装置２０６により接続されるネットワーク間のパケットの転送を禁止する設定としてもよい。この場合、設定部２４は、例えば、ＯＳにより提供される２つのネットワーク間に対するＩＰフォワーディング機能を無効とするように設定してもよい。これにより、２つのネットワーク間で直接通信を行うことを禁止し、機器１０側のネットワーク等のセキュリティを向上することができる。
【００３５】
＜処理＞
次に、図５を参照し、実施形態に係る通信システム１の処理の一例について説明する。図５は、実施形態に係る通信システム１の処理の一例を示すシーケンス図である。図５の例では、機器１０−１Ａ、及び機器１０−１Ｂから送信されたデータが、中継装置２０−１、中継装置２０−２、及び中継装置２０−３を介してサーバ３０にアップロードされる場合の例について説明する。
【００３６】
ステップＳ１において、中継装置２０−１は、機器１０−１Ａ、機器１０−１Ｂの認証を行う。なお、この処理は必須ではない。
【００３７】
続いて、機器１０−１Ａは、センサ等により測定されたデータを、中継装置２０−１に送信する（ステップＳ２）。ここで、機器１０−１Ａは、例えば、所定の周期（例えば、１０秒毎）で、データを中継装置２０−１に送信してもよい。また、機器１０−１Ａは、センサ等により測定されたデータが所定の条件に合致した等のタイミングで、当該データを中継装置２０−１に送信してもよい。
【００３８】
続いて、中継装置２０−１は、機器１０−１Ａから受信したデータを記録する（ステップＳ３）。
【００３９】
続いて、機器１０−１Ｂは、センサ等により測定されたデータを、中継装置２０−１に送信する（ステップＳ４）。
【００４０】
続いて、中継装置２０−１は、機器１０−１Ｂから受信したデータを記録する（ステップＳ５）。
【００４１】
続いて、中継装置２０−１は、所定のタイミングで、記録されているデータを中継装置２０−２に送信する（ステップＳ６）。ここで、中継装置２０−１は、例えば、所定の周期（例えば、１分毎）で、データを送信してもよい。この場合、中継装置２０−１は、当該所定の周期内に、機器１０−１Ａ、及び機器１０−１Ｂから、それぞれ、複数回データを受信して記録しておいてもよい。例えば、中継装置２０−１が１分周期で中継装置２０−２にデータを送信し、機器１０−１Ａが１０秒周期でデータを中継装置２０−１に送信する場合、ステップＳ６の処理で、６つの測定時点で測定されたデータがまとめて中継装置２０−２に送信される。
【００４２】
続いて、中継装置２０−２は、受信したデータを記録する（ステップＳ７）。続いて、中継装置２０−２は、所定のタイミングで、記録されているデータを中継装置２０−３に送信する（ステップＳ８）。ここで、中継装置２０−２は、例えば、所定の周期（例えば、１分毎）で、データを送信してもよい。
【００４３】
続いて、中継装置２０−３は、受信したデータを記録する（ステップＳ９）。続いて、中継装置２０−３は、所定のタイミングで、記録されているデータをサーバ３０に送信する（ステップＳ１０）。ここで、中継装置２０−３は、例えば、所定の周期（例えば、１分毎）で、データを送信してもよい。続いて、サーバ３０は、受信したデータを記憶する（ステップＳ１１）。
【００４４】
≪認証処理≫
次に、図６を参照し、図５のステップＳ１の、ＩＳＯモデルにおけるデータリンク層で機器１０等の通信相手を認証する処理の一例について説明する。図６は、実施形態に係る認証処理の一例について説明するフローチャートである。以下では、中継装置２０−１のインタフェース装置２０５が無線ＬＡＮ親機として動作し、無線ＬＡＮ子機である機器１０−１Ａを認証する場合の例について説明する。なお、中継装置２０−２、及び中継装置２０−３も、同様に、自装置と通信する機器１０や他の中継装置２０の認証を行うようにしてもよい。なお、中継装置２０−１のインタフェース装置２０５を無線ＬＡＮ親機として動作させる場合、無線ＬＡＮ親機により形成されるＬＡＮ内の端末間の通信を許可しないようにしてもよい。
【００４５】
ステップＳ１０１において、中継装置２０−１の受信部２１は、無線ＬＡＮの接続要求を機器１０−１（「第１装置」の一例。）から受信する。
【００４６】
続いて、中継装置２０−１の受信部２１は、受信した接続要求に含まれるＳＳＩＤ（Service Set IDentifier）、及びパスフレーズに基づいて認証を行い、認証に成功したか否かを判定する（ステップＳ１０２）。ここで、中継装置２０−１の受信部２１は、例えば、受信したＳＳＩＤ及びパスフレーズが予め中継装置２０−１に設定されている場合、認証に成功したと判定する。
【００４７】
パスフレーズ等による認証に失敗した場合（ステップＳ１０２でＮＯ）、中継装置２０−１の受信部２１は、認証に失敗したことを機器１０−１に返信し（ステップＳ１０３）、処理を終了する。
【００４８】
パスフレーズ等による認証に成功した場合（ステップＳ１０２でＹＥＳ）、中継装置２０−１の受信部２１は、受信した接続要求に含まれるＭＡＣ（Media Access Control）アドレスに基づいて認証を行い、認証に成功したか否かを判定する（ステップＳ１０４）。ここで、中継装置２０−１の受信部２１は、例えば、予め設定されている、通信を許可する通信相手のＭＡＣアドレスのリストを参照し、受信したＭＡＣアドレスが、リストに登録されている場合、認証に成功したと判定する。
【００４９】
ＭＡＣアドレスによる認証に失敗した場合（ステップＳ１０４でＮＯ）、ステップＳ１０３の処理に進む。
【００５０】
ＭＡＣアドレスによる認証に成功した場合（ステップＳ１０４でＹＥＳ）、中継装置２０−１の受信部２１は、当該ＭＡＣアドレスに対応付けられたＩＰアドレスを機器１０−１に割り当て（ステップＳ１０５）、処理を終了する。ここで、中継装置２０−１の受信部２１は、例えば、通信を許可する各通信相手のＭＡＣアドレスに対応付けられたＩＰアドレスのリストを参照し、受信したＭＡＣアドレスに対応付けられているＩＰアドレスを、ＤＨＣＰ（Dynamic Host Configuration Protocol）等により機器１０−１に割り当てる。
【００５１】
≪記録処理≫
次に、図７を参照し、図５のステップＳ３、ステップＳ５、ステップＳ７、及びステップＳ９の、中継装置２０が、機器１０、及び他の中継装置２０から受信したデータを記録する処理の一例について説明する。図７は、実施形態に係る記録処理の一例について説明するフローチャートである。以下では、中継装置２０−１が、機器１０−１Ａから受信したデータを記録する場合の例について説明する。
【００５２】
ステップＳ２０１において、中継装置２０−１の受信部２１は、機器１０−１Ａから、所定のプロトコルでのログイン要求を受信する。なお、所定のプロトコルとして、例えば、ＦＴＰ（File Transfer Protocol）、ＳＭＢ（Server Message Block）、ＭＱＴＴ（Message Queuing Telemetry Transport）、ＨＴＴＰ（Hypertext Transfer Protocol）、ＨＴＴＰＳ（Hypertext Transfer Protocol Secure）等を用いてもよい。
【００５３】
続いて、中継装置２０−１の受信部２１は、受信したログイン要求に含まれる送信元のＩＰアドレス、及びログイン要求に係るプロトコル（ログイン要求に含まれる宛先のポート番号）が、設定部２４により設定されているインタフェース装置２０５に対するファイアウォール機能の設定で許可されているか否かを判定する（ステップＳ２０２）。
【００５４】
許可されていない場合（ステップＳ２０２でＮＯ）、中継装置２０−１の受信部２１は、ログインを拒否する応答を機器１０−１Ａに返信し（ステップＳ２０３）、処理を終了する。
【００５５】
許可されている場合（ステップＳ２０２でＹＥＳ）、中継装置２０−１の受信部２１は、受信したログイン要求に含まれるユーザＩＤ、及びパスワードに基づいて認証を行い、認証に成功したか否かを判定する（ステップＳ２０４）。ここで、中継装置２０−１の受信部２１は、例えば、受信したユーザＩＤ、及びパスワードが予め中継装置２０−１に設定されている場合、認証に成功したと判定する。
【００５６】
認証に失敗した場合（ステップＳ２０４でＮＯ）、ステップＳ２０３の処理に進む。
【００５７】
認証に成功した場合（ステップＳ２０４でＹＥＳ）、中継装置２０−１の受信部２１は、ログインを許可する応答を機器１０−１Ａに返信し（ステップＳ２０５）、機器１０−１Ａからデータを受信する（ステップＳ２０６）。
【００５８】
続いて、中継装置２０−１の受信部２１は、データを正常に受信したことを示す応答を機器１０−１Ａに返信する（ステップＳ２０７）。これにより、中継装置２０−１に対する上位装置等に障害が発生した場合でも、機器１０−１Ａにデータ送信の処理を正常に終了させることができる。
【００５９】
続いて、中継装置２０−１の記録部２２は、受信部２１により受信されたデータを、中継装置２０−１の補助記憶装置２０２の所定の領域（以下で、「一時保管領域」と称する。）に記録（保存）し（ステップＳ２０８）、処理を終了する。ここで、中継装置２０−１の記録部２２は、例えば、予め設定されているフォルダ中の所定のファイル名のファイル中のデータの末尾に、受信したデータを追加してもよい。また、中継装置２０−１の記録部２２は、当該ファイルが存在しない場合、当該ファイルを生成して、受信したデータを当該ファイルに記録してもよい。
【００６０】
≪送信処理（その１）≫
次に、図８を参照し、図５のステップＳ６、ステップＳ８、及びステップＳ１０の、中継装置２０が、記録されているデータを送信（転送）する処理の一例について説明する。図８は、実施形態に係る送信処理の一例（その１）について説明するフローチャートである。以下では、中継装置２０−１が、一時保管領域に記録されているデータを中継装置２０−２に送信する場合の例について説明する。
【００６１】
ステップＳ３０１において、中継装置２０−１の送信部２３は、現時点が所定のタイミングと一致したことを検知する。ここで、中継装置２０−１の送信部２３は、例えば、所定の周期（例えば、１分毎）で、以下の処理を行ってもよい。
【００６２】
続いて、中継装置２０−１の送信部２３は、一時保管領域に記憶されているデータが、前回に送信した際から変更（更新）されているか否かを判定する（ステップＳ３０２）。ここで、中継装置２０−１の送信部２３は、前回に送信した際に一時保管領域に記憶されていたデータを他の領域に記録しておき、現時点で一時保管領域に記憶されているデータとの差分を判定してもよい。または、中継装置２０−１の送信部２３は、前回に送信した際に一時保管領域に記憶されていた各ファイルのデータサイズを他の領域に記録しておき、現時点で一時保管領域に記憶されている各ファイルとの差分を判定してもよい。この場合、中継装置２０−１の送信部２３は、例えば、前回に送信した際の一のファイル名のファイルのデータサイズが１００ＫＢであり、現時点での当該ファイルのデータサイズが１０１ＫＢである場合、当該ファイルの先頭から１００ＫＢ目から最後までのデータを、前回に送信した際からの差分と判定してもよい。
【００６３】
一時保管領域に記憶されているデータが変更されていない場合（ステップＳ３０２でＮＯ）、処理を終了する。
【００６４】
一時保管領域に記憶されているデータが変更されている場合（ステップＳ３０２でＹＥＳ）、中継装置２０−１の送信部２３は、前回に送信した際から変更された部分（差分）のデータを、予め設定されている宛先に送信し（ステップＳ３０４）、処理を終了する。ここで、中継装置２０−１の送信部２３は、例えば、ＨＴＴＰＳ等のプロトコルを用いて、宛先として設定されている中継装置２０−２（「第２装置」の一例。）に送信する。
【００６５】
なお、中継装置２０の送信部２３は、宛先として設定されている他の中継装置２０、またはサーバ３０への送信が成功しなかった場合、送信が成功するまで、または所定のリトライ回数となるまで、所定間隔で送信をリトライするようにしてもよい。これにより、例えば、電波状況等により送信が失敗した場合でも、電波状況等が改善した際に送信を成功させることができる。
【００６６】
≪送信処理（その２）≫
次に、図９を参照し、図５のステップＳ６、ステップＳ８、及びステップＳ１０の、中継装置２０が、記録されているデータを送信する処理の他の一例について説明する。図９は、実施形態に係る送信処理の一例（その２）について説明するフローチャートである。なお、図９の少なくとも一部の処理は、行われない構成としてもよい。以下では、中継装置２０−１が、一時保管領域に記録されているデータを中継装置２０−２に送信する場合の例について説明する。
【００６７】
ステップＳ４０１において、中継装置２０−１の送信部２３は、現時点が所定のタイミングと一致したことを検知する。続いて、中継装置２０−１の送信部２３は、一時保管領域に記憶されているデータが、前回に送信した際から変更（更新）されているか否かを判定する（ステップＳ４０２）。
【００６８】
一時保管領域に記憶されているデータが変更されている場合（ステップＳ４０２でＹＥＳ）、中継装置２０−１の送信部２３は、前回に送信した際から変更された部分（差分）のデータを、予め設定されている第１の宛先に送信する（ステップＳ４０３）。なお、ステップＳ４０１からステップＳ４０３の各処理は、図８のステップＳ３０１からステップＳ３０３の各処理とそれぞれ同様でもよい。
【００６９】
続いて、中継装置２０−１の送信部２３は、差分のデータの送信に成功したか否かを判定する（ステップＳ４０４）。差分のデータの送信に成功した場合（ステップＳ４０４でＹＥＳ）、処理を終了する。
【００７０】
差分のデータの送信に失敗した場合（ステップＳ４０４でＮＯ）、中継装置２０−１の送信部２３は、送信に失敗している状態が、所定時間（例えば、５分）以上継続しているか否かを判定する（ステップＳ４０５）。送信に失敗している状態が所定時間以上継続していない場合（ステップＳ４０５でＮＯ）、処理を終了する。
【００７１】
送信に失敗している状態（送信不能な状態）が所定時間以上継続している場合（ステップＳ４０５でＹＥＳ）、中継装置２０−１の送信部２３は、差分のデータを、インタフェース装置２０６から予め設定されている第２の宛てに送信し（ステップＳ４０６）、処理を終了する。これにより、システムの運用者は、中継装置２０−１の異常を検知した場合、当該所定の通信アドレスを有する無線ＬＡＮ基地局（「第３装置」の一例。）を中継装置２０−２の近傍に設置することにより、中継装置２０−１からのデータを取得することができる。
【００７２】
一時保管領域に記憶されているデータが変更されていない場合（ステップＳ４０２でＮＯ）、中継装置２０−１の送信部２３は、一時保管領域に記憶されているデータが変更されていない状態が、所定時間（例えば、５分）以上継続しているか否かを判定する（ステップＳ４０７）。継続していない場合（ステップＳ４０７でＮＯ）、処理を終了する。
【００７３】
継続している場合（ステップＳ４０７でＹＥＳ）、中継装置２０−１の送信部２３は、例えば、一時保管領域に記憶されているデータが所定時間以上継続して変更されていない旨を示す情報、中継装置２０−１の下位装置の情報、及び中継装置２０−１の情報を、予め設定されている第１の宛先（中継装置２０−２）に送信する（ステップＳ４０８）。ここで、中継装置２０−１の送信部２３は、中継装置２０−１の下位装置の情報として、例えば、中継装置２０−１の設定部２４に設定されている、インタフェース装置２０５でパケットの受信を許可する機器１０−１Ａ等のＭＡＣアドレス等の情報を送信してもよい。また、中継装置２０−１の送信部２３は、中継装置２０−１の情報として、中継装置２０−１のＭＡＣアドレス、または装置名等を送信してもよい。これにより、下位装置、またはインタフェース装置２０５等に障害が発生した場合に、下位装置、及び自装置の情報を、サーバ３０側に通知することができる。
【００７４】
続いて、中継装置２０−１の設定部２４は、上位装置側のネットワークに対するファイアウォール機能の設定を変更し（ステップＳ４０９）、処理を終了する。ここで、中継装置２０−１の設定部２４は、例えば、インタフェース装置２０６における所定の通信プロトコルのパケットの受信を許可するように、インタフェース装置２０６に対するファイアウォール機能の設定を変更する。この場合、中継装置２０−１の設定部２４は、例えば、ＩＣＭＰ（Internet Control Message Protocol）のパケットの受信を許可するように、ＯＳ（Operating System）またはアプリケーションにより提供されるファイアウォール機能の設定を変更してもよい。これにより、下位装置、またはインタフェース装置２０５等に障害が発生した場合に、サーバ３０等の上位装置側から、死活監視のためのコマンド、及び中継装置２０−１を再起動（リブート）させるコマンド等を中継装置２０−１に受信させることができるようになる。なお、中継装置２０−１の設定部２４は、差分のデータの送信に成功した際に、インタフェース装置２０６に対する設定を元に戻し、当該所定のプロトコルのパケットの受信を拒否する設定としてもよい。
【００７５】
＜適用例１＞
実施形態に係る通信システム１は、例えば、製造ラインの複数個所に設置された機器１０からのデータを収集するシステムにも適用できる。これにより、収集されたデータに基づき、例えば、製品の不良発生との関連を分析すること等ができる。この場合、例えば、機器１０を、Ｒａｓｐｂｅｒｒｙ  ＰＩなどのボードコンピュータにより構成し、機器１０に接続されたセンサにより検出された気温、湿度、加速度等のデータを、中継装置２０を介してサーバ３０に蓄積してもよい。この場合、機器１０から中継装置２０へのデータの送信は、ＭＱＴＴ等の軽量な通信プロトコルを用いてリアルタイムで行われてもよい。
【００７６】
＜適用例２＞
実施形態に係る通信システム１は、例えば、運搬用のパレット毎に設けられた加速度センサである機器１０からのデータを、パレットを運搬するためのトラックに設けられた中継装置２０を介して収集するシステムにも適用できる。これにより、収集されたデータに基づき、例えば、板ガラスなど振動に弱い製品を運搬する場合に、運搬時に計測された振動を分析すること等ができる。この場合、例えば、中継装置２０は、機器１０から１秒毎にデータを受信し、受信したデータを一時的に保管する。保管したデータは１時間毎に、データ圧縮して、携帯電話網等を介してクラウドのサーバ３０に送信してもよい。
【００７７】
＜適用例３＞
実施形態に係る通信システム１は、例えば、工場の設備等で問題が発生した場合に、アナログ電圧／電流、温度、ひずみ、加速度等を多地点で取得するため設置される複数の機器１０からのデータを収集するシステムにも適用できる。
【００７８】
従来、工場の設備等で問題が発生した際にデータロガー等の機器１０が設置される範囲には、通信ネットワークが用意されていない場合がある。また、周辺に大きな設備機器等の電波の遮蔽物が多数設置されているため、１台の無線ＬＡＮの基地局では、機器１０が設置される全範囲をカバーできない場合がある。上述した通信システム１によれば、複数の中継装置２０を介して、各機器１０からのデータを取得することができる。
【００７９】
＜適用例４＞
実施形態に係る通信システム１は、例えば、製品または部品の検査工程で、写真を用いて不良品であるか否かの判定を実施し、不良品の場合は、検査写真をクラウドのサーバ３０に保管するシステムにも適用できる。
【００８０】
従来、検査工程を行う場所は生産ラインの最下流であり、通信ネットワークが用意されていない場合がある。また、１台の無線ＬＡＮの基地局では、検査工程を行う場所まで電波が届かないケースもある。上述した通信システム１によれば、複数の中継装置２０を介して、各機器１０からのデータを取得することができる。
【００８１】
＜実施形態のまとめ＞
従来、例えば、製造現場等の機器では、製造設備の状況管理や監視のためにＰＬＣ（プログラマブル・ロジック・コントローラ）やＤＣＳ（分散制御システム）などを使用している。これらには多数のセンサが搭載されており、データが収集されている。
【００８２】
また、工程毎に検査機器が導入され、製品の品質のチェックが行われている。また、アナログ電圧／電流、温度、ひずみ、加速度などを多地点で取得して一時保管できるデータロガーが設置されており、製造設備に障害が発生した場合に、データロガーのデータを用いて、設備の部品の稼働がモニタリングされている。従来、ＰＬＣ、ＤＣＳ、検査機器、データロガー等はネットワークに接続されていない場合が多い。
【００８３】
一方、近年、製造設備等のデータをクラウドに上げて、統計処理、及び深層学習等の機械学習でデータを分析し、製品の品質向上やエネルギー消費量の削減等の様々な課題に対処したいという要望が出てきた。
【００８４】
上述した実施形態によれば、中継装置２０は、第１ネットワークから受信したデータを、所定のファイルに記録する。そして、当該所定のファイルに記憶されているデータが変更されているか否かを判定し、変更されている場合、変更された部分のデータを、第２ネットワークに送信する。これにより、より適切にデータの中継を可能とすることができる。
【００８５】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【００８６】
１  通信システム
１０  機器
２０  中継装置
２０２  補助記憶装置
２０３  メモリ装置
２０４  ＣＰＵ
２０５  インタフェース装置
２０６  インタフェース装置
２１  受信部
２２  記録部
２３  送信部
２４  設定部
３０  サーバ
【図１】
2020027963.tif 000003
【図２】
2020027963.tif 000004
【図３】
2020027963.tif 000005
【図４】
2020027963.tif 000006
【図５】
2020027963.tif 000007
【図６】
2020027963.tif 000008
【図７】
2020027963.tif 000009
【図８】
2020027963.tif 000010
【図９】
2020027963.tif 000011