(57)【特許請求の範囲】
【請求項１】
データ処理システムと外部サービスとが連携するため、データを外部サービスに転送するデータ処理装置であって、
機器から収集したデータの前記データ処理システム内におけるデータ処理の流れであるデータフローを制御するフロー制御手段と、
前記外部サービスとのデータの授受に関して定義され、公開されている外部インタフェースの仕様に従って、前記外部サービスと通信するゲートウェイ通信手段と、
前記ゲートウェイ通信手段と前記フロー制御手段との間の通信を可能にするため、前記フロー制御手段と前記ゲートウェイ通信手段とを接続するゲートウェイ接続手段と、
を含み、
前記ゲートウェイ通信手段と前記ゲートウェイ接続手段とは、前記データ処理システム内でのデータの授受に関して定義され、公開されている内部インタフェースの仕様に従って通信する、
データ処理装置。
【請求項２】
前記データ処理の流れを定義するデータフロー設定を記憶するデータフロー設定記憶手段をさらに備え、
前記フロー制御手段は、前記データフロー設定に基づいて前記ゲートウェイ接続手段を起動する、
請求項１に記載のデータ処理装置。
【請求項３】
前記フロー制御手段は、前記ゲートウェイ接続手段それぞれに対応するデータ格納手段を生成し、
前記フロー制御手段と前記ゲートウェイ通信手段とは、前記データ格納手段を介してデータを授受する、
請求項１又は２に記載のデータ処理装置。
【請求項４】
前記フロー制御手段は、前記外部サービスに宛てたデータを前記データ格納手段に格納し、
前記ゲートウェイ通信手段は、設定された周期で、前記ゲートウェイ接続手段に、前記外部サービスを提供するサーバに送るデータがあるか否かを問い合わせ、
前記ゲートウェイ接続手段は、前記ゲートウェイ通信手段からデータの有無が問い合わせられると、前記ゲートウェイ通信手段に対応する前記データ格納手段にデータがあるか否かを確認し、データの有無を前記ゲートウェイ通信手段に通知し、
前記ゲートウェイ通信手段は、データがある場合に、前記データ格納手段からデータを読み出し、読み出したデータを前記外部サービスを提供する前記サーバに転送する、
請求項３に記載のデータ処理装置。
【請求項５】
前記フロー制御手段は、
前記データ処理システム内においてリアルタイムで発生するデータであるリアルタイムデータを管理するリアルタイムデータ管理手段と、
前記外部サービスを提供するサーバに接続するために必要な接続情報を含む非リアルタイムデータを管理する非リアルタイムデータ管理手段と、
を備え、
前記非リアルタイムデータ管理手段は、前記非リアルタイムデータを前記データ格納手段に格納することにより、前記非リアルタイムデータを前記ゲートウェイ通信手段に提供し、
前記リアルタイムデータ管理手段は、前記リアルタイムデータを前記データ格納手段に格納することにより、前記リアルタイムデータを前記ゲートウェイ通信手段に提供する、
請求項３又は４に記載のデータ処理装置。
【請求項６】
前記機器からデータを収集する収集手段、
をさらに備える、
請求項１から５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記機器から収集したデータに予め設定されたデータ処理を行うデータ処理手段、
をさらに備える、
請求項１から６のいずれか１項に記載のデータ処理装置。
【請求項８】
前記外部サービスは、クラウドコンピューティングサービスである、
請求項１から７のいずれか１項に記載のデータ処理装置。
【請求項９】
外部サービスと連携するデータ処理システムであって、
機器からデータを収集するデータ収集手段と、
前記データ収集手段が収集したデータの前記データ処理システム内におけるデータフローを制御するフロー制御手段と、
前記データ収集手段が収集したデータに予め設定されたデータ処理を行うデータ処理手段と、
前記外部サービスとのデータの授受に関して定義され、公開されている外部インタフェースの仕様に従って、前記外部サービスと通信するゲートウェイ通信手段と、
前記ゲートウェイ通信手段と前記フロー制御手段との間の通信を可能にするため、前記フロー制御手段と前記ゲートウェイ通信手段とを接続するゲートウェイ接続手段と、
を含み、
前記ゲートウェイ通信手段と前記ゲートウェイ接続手段とは、前記データ処理システム内のデータの授受に関して定義され、公開されている内部インタフェースの仕様に従って通信する、
データ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置及びデータ処理システムに関する。
【背景技術】
【０００２】
特許文献１に記載されている監視システムでは、ＰＬＣ（Programmable Logic Controller）が、通信ネットワークを介して収集したデータを監視装置に送信する。ＰＬＣは、独自の通信仕様とコマンド体系とを有しているため、ＰＬＣと、ＰＬＣが通信ネットワークに接続するための接続装置との間には、中継装置が配置されている。この中継装置は、ＰＬＣと接続装置とを中継する。【０００３】
中継装置は、通信ネットワークの種別毎に異なる接続装置に対応する必要があるため、接続手順のパラメータが定義され、書き換え可能なパラメータブロックを備える。使用される通信ネットワークが変更される場合、中継装置のパラメータブロックが新たな通信ネットワークに対応する接続手順のパラメータに書き換えられる。このように、中継装置は、新たに接続する接続装置に応じた接続手順に対応することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１６５８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１には、ネットワークの種別の違いを吸収する技術が開示されているが、２以上のシステムがネットワークを介して通信する場合には、ネットワークの種別の違いだけではなく、システム固有のインタフェースの違いにも対応する必要がある。例えば、ＦＡ（Factory Automation）の分野においては、エッジコンピューティングを採用したデータ処理システムと、クラウドコンピューティングサービスといった外部サービスとが連携することがある。この場合、データ処理システムは、クラウドサーバに接続するための通信ネットワークの違いだけではなく、連携の対象となるクラウドコンピューティングサービス固有のインタフェースに対応する必要がある。これは、クラウドコンピューティングサービスそれぞれが独自のインタフェースを有しているためである。【０００６】
特許文献１に記載された中継装置では、ネットワークの種別の違いにしか対応することができないため、データ処理システムのユーザは、例えば、クラウドコンピューティングサービスを提供するサーバと、データ処理システムとの間に中間サーバを設け、クラウドコンピューティングサービス独自のインタフェースに対応していた。この中間サーバは、クラウドコンピューティングサービスのインタフェースと、データ処理システムのインタフェースとに対応して動作する。中間サーバが、クラウドコンピューティングサービスと、データ処理システムとを中継することで、データ処理システムとクラウドコンピューティングサービスが連携できる。【０００７】
このように、データ処理システムのユーザは、そのデータ処理システムが利用するクラウドコンピューティングサービスのインタフェースを意識して中間サーバを構築する必要があった。さらに、クラウドコンピューティングサービスのインタフェースが変更される、あるいは、利用するサービスを変更する場合には、データ処理システムのユーザが、中間サーバの構成を変更することが必要であり、開発負担が大きかった。このように、データ処理システムのユーザにとっては、クラウド側のサービスのインタフェースを意識して、中間サーバあるいは他の中継手段を別途設ける必要があり、中間サーバあるいは他の中継手段を設ける方法は、ユーザにとって使い勝手がよいものではなかった。【０００８】
本発明は、上記実情に鑑みてなされたものであり、データ処理システムのユーザが外部サービスのインタフェースを意識することなく、データ処理システムと外部サービスとのシームレスな連携を可能にすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明に係るデータ処理装置は、データ処理システムと外部サービスとが連携するため、データを外部サービスに転送する。フロー制御手段は、機器から収集したデータのデータ処理システム内におけるデータ処理の流れであるデータフローを制御する。ゲートウェイ通信手段は、外部サービスとのデータの授受に関して定義され、公開されている外部インタフェースの仕様に従って、外部サービスと通信する。ゲートウェイ接続手段は、ゲートウェイ通信手段とフロー制御手段との間の通信を可能にするため、フロー制御手段とゲートウェイ通信手段とを接続する。ゲートウェイ通信手段とゲートウェイ接続手段とは、データ処理システム内でのデータの授受に関して定義され、公開されている内部インタフェースの仕様に従って通信する。
【発明の効果】
【００１０】
本発明に係るデータ処理装置において、データを外部サービスに転送するため、ゲートウェイ通信手段は、外部サービスとのデータの授受に関して定義され、公開されている外部インタフェースの仕様に従って、外部サービスと通信する。ゲートウェイ接続手段は、データ処理システム内でのデータフローを制御するフロー制御手段と、ゲートウェイ通信手段との間の通信を可能にするため、フロー制御手段とゲートウェイ通信手段とを接続する。ゲートウェイ通信手段とゲートウェイ接続手段とは、データ処理システム内でのデータの授受に関して定義され、公開されている内部インタフェースの仕様に従って通信する。このような構成を備えることで、データ処理システムのユーザが外部サービスのインタフェースを意識せずに、データ処理システムと外部サービスとのシームレスな連携が可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るデータ連携システムの機能構成を示すブロック図
【図２】実施の形態に係るエッジシステムを構成する各装置のハードウェア構成を示す図
【図３】実施の形態に係るデータストアのデータの授受を説明するための図
【図４】実施の形態に係るデータの流れの一例を示す図
【図５】実施の形態に係るデータの流れの他の例を示す図
【図６】実施の形態に係るゲートウェイ接続部の準備処理のフローチャート
【図７】実施の形態に係るゲートウェイ通信部の準備処理のフローチャート
【図８】実施の形態に係るゲートウェイ通信部の転送処理のフローチャート
【図９】実施の形態に係るゲートウェイ接続部の仲介処理のフローチャート
【図１０】変形例１に係るデータ連携システムの機能構成を示すブロック図
【図１１】変形例２に係るデータ連携システムの機能構成を示すブロック図
【発明を実施するための形態】
【００１２】
（実施の形態）
以下、本発明の実施の形態に係るデータ連携システムについて、図面を参照しつつ詳細に説明する。
【００１３】
図１に示すデータ連携システム１は、工場内のＦＡ機器６０１及び６０２からデータを収集し、収集したデータを分析する。データ連携システム１は、工場内に設けられたエッジシステム１００と、クラウドコンピューティングサービスを提供するクラウドサーバ４０１及び４０２とを含む。エッジシステム１００は、オンプレミスで運用されているシステムである。クラウドサーバ４０１及び４０２は、エッジシステム１００の運用管理者とは異なる提供事業者が提供している。クラウドサーバ４０１及び４０２は、データ分析サービスを提供する。エッジシステム１００は、ＦＡ機器６０１及び６０２からデータを収集し、収集したデータをクラウドサーバ４０１及び４０２に送信する。クラウドサーバ４０１及び４０２は、エッジシステム１００が収集したデータを分析する。以下、クラウドサーバ４０１及び４０２をひとまとめにしてクラウドサーバ４００と称する。エッジシステム１００は本発明のデータ処理システムの一例である。
【００１４】
ＦＡ機器６０１及び６０２は、例えば、工場内のアクチュエータ、センサ、アクチェータ及びセンサを性御する制御装置である。エッジシステム１００が収集するデータは、ＦＡ機器６０１及び６０２に設けられた振動センサ、温度センサ、圧力センサ、流量センサ等が取得したデータを含む。以下、ＦＡ機器６０１及び６０２をひとまとめにしてＦＡ機器６００と称する。
【００１５】
続いて、エッジシステム１００に含まれる装置のハードウェア構成を説明する。図２に示すように、エッジシステム１００は、ＩＰＣ（Industrial Personal Computer）１０とメンテナンスツール２０とを含む。図示する例では、ＩＰＣ１０は、ネットワーク７０１を介してＦＡ機器６００からデータを収集する。ＩＰＣ１０は、ネットワーク７０２を介して、メンテナンスツール２０と通信する。メンテナンスツール２０は、ユーザがＩＰＣ１０を操作するためのツールである。ここで、ユーザは、エッジシステム１００の運用管理者を含む。ＩＰＣ１０は、本発明のデータ処理装置の一例である。
【００１６】
ＩＰＣ１０は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ１１と、ネットワーク７０１を介して他の装置と通信するフィールドバスインタフェース１２と、ネットワーク７０２を介して他の装置と通信する情報系ネットワークインタフェース１３と、ＩＰＣ１０全体を制御するＣＰＵ（Central Processing Unit）１４とを有する。メモリ１１とフィールドバスインタフェース１２と情報系ネットワークインタフェース１３とは、バス１９を介してＣＰＵ１４に接続されており、それぞれＣＰＵ１４と通信する。
【００１７】
メモリ１１は、揮発性メモリと不揮発性メモリとを含む。メモリ１１は、ＩＰＣ１０の各種機能を実現するためのプログラムを格納する。具体的には、メモリ１１は、収集プログラム１１１と、フロー制御プログラム１１２と、通信プログラム１１３と、接続プログラム１１４と、加工プログラム１１５とを記憶する。さらに、メモリ１１はＣＰＵ１４のワークメモリとして用いられる。
【００１８】
収集プログラム１１１は、ＦＡ機器６００からデータを収集する機能をＩＰＣ１０に実現させるためのプログラムである。フロー制御プログラム１１２は、ＩＰＣ１０内でのデータフローを制御する機能をＩＰＣ１０に実現させるためのプログラムである。ユーザ、あるいは、ユーザの指示に従ってシステム開発者が、収集プログラム１１１及びフロー制御プログラム１１２を作成する。以下、データフローとは、データ連携システム１において、予め設定されたデータ処理の流れをいうものとする。
【００１９】
通信プログラム１１３は、クラウドサーバ４００と通信する機能をＩＰＣ１０に実現させるためのプログラムである。具体的には、通信プログラム１１３は、エッジシステム１００内でのデータの授受に関して定義されたインタフェースの仕様に従って、エッジシステム１００から受け付けたデータを、クラウドとのデータの授受に関して定義されたインタフェースに従ったデータに変換し、変換したデータをクラウドサーバ４００に送信する機能を実現するためのプログラムである。以下、エッジシステム１００内でのデータの授受に関して定義されたインタフェースを内部インタフェースと称することがある。クラウドとのデータの授受に関して定義されたインタフェースをクラウド側インタフェースと称することがある。クラウド側インタフェースは本発明の外部インタフェースの一例である。内部インタフェースは本発明の内部インタフェースの一例である。
【００２０】
内部インタフェースは、エッジシステム１００内において扱われるデータ形式を定めた規約を含む。エッジシステム１００のシステム提供者は、内部インタフェースの仕様を公開している。クラウド側インタフェースは、クラウドサーバ４００が提供するサービスを利用するための手順、データ形式等を定めた規約を含む。クラウドコンピューティングサービスの提供事業者は、クラウド側インタフェースの仕様を公開している。実施の形態においては、第三者ベンダが、公開された内部インタフェース及びクラウド側インタフェースに則って通信プログラム１１３を開発したものとする。
【００２１】
接続プログラム１１４は、エッジシステム１００内のデータフローを流れるデータを通信プログラム１１３に渡す機能をＩＰＣ１０に実現させるためのプログラムである。前述のように、通信プログラム１１３は、第三者ベンダが別途開発したものであり、エッジシステム１００の専用品ではない。このため、接続プログラム１１４は、フロー制御プログラム１１２が処理したデータを、通信プログラム１１３に渡すため、アダプタとして機能する。ユーザ、あるいは、ユーザの指示に従ってシステム開発者が、接続プログラム１１４を作成する。
【００２２】
加工プログラム１１５は、データに予め決められた加工処理を実行する機能をＩＰＣ１０に実現させるためのプログラムである。予め決められた加工処理とは、欠損値処理、データの切り出し処理、外れ値処理等である。ユーザ、あるいは、ユーザの指示に従ってシステム開発者が、加工プログラム１１５を作成する。
【００２３】
フィールドバスインタフェース１２は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０１を介してＦＡ機器６００と通信する。ネットワーク７０１は、フィールドネットワークの規格に則ったネットワークである。
【００２４】
情報系ネットワークインタフェース１３は、ネットワークインタフェース回路を含み、ＣＰＵ１４の制御の下、ネットワーク７０２を介してメンテナンスツール２０と通信する。ネットワーク７０２は、例えば、１０ＢＡＳＥ−Ｔ、１００ＢＡＳＥ−Ｔといった規格に則ったネットワークである。
【００２５】
ＣＰＵ１４は、メモリ１１に記憶されている各種プログラムを実行して、ＩＰＣ１０の各種機能を実現する。具体的には、ＣＰＵ１４は、収集プログラム１１１を実行することにより、ＦＡ機器６００からデータを収集する。ＣＰＵ１４は、フロー制御プログラム１１２を実行することにより、エッジシステム１００内におけるデータのデータフローを制御する。
【００２６】
ＣＰＵ１４は、通信プログラム１１３を実行することにより、内部インタフェースの仕様に従ってエッジシステム１００からデータを受け付け、受け付けたデータをクラウド側インタフェースの仕様に従って、クラウドサーバ４００に送信する。
【００２７】
ＣＰＵ１４は、接続プログラム１１４を実行することにより、ＦＡ機器６００から収集したデータをクラウドサーバ４００に送信するため、そのデータを通信プログラム１１３に渡す。
【００２８】
ＣＰＵ１４は、加工プログラム１１５を実行することにより、欠損値処理、外れ値処理等を実行し、データを加工する。
【００２９】
メンテナンスツール２０は、ＦＡ機器６００と同じ工場内に設けられており、専用のアプリケーションをインストールしたパーソナルコンピュータである。メンテナンスツール２０は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ２１と、ネットワーク７０２を介して他の装置と通信する通信インタフェース２２と、ユーザの入力操作を検出する入力装置２３と、画像を出力する表示装置２４と、メンテナンスツール２０全体を制御するＣＰＵ２５とを有する。メモリ２１と通信インタフェース２２と入力装置２３と表示装置２４とは、バス２９を介してＣＰＵ２５に接続され、それぞれＣＰＵ２５と通信する。
【００３０】
メモリ２１は、揮発性メモリと不揮発性メモリとを含む。メモリ２１は、メンテナンスツール２０の各種機能を実現するためのプログラムを格納する。具体的には、メモリ２１は、メンテナンスプログラム２１１を格納する。また、メモリ２１は、ＣＰＵ２５のワークメモリとして用いられる。
【００３１】
メンテナンスプログラム２１１は、ユーザの操作指示に従って、エッジシステム１００の動作に必要な各種パラメータをＩＰＣ１０に登録する機能をメンテナンスツール２０に実現させるためのプログラムである。
【００３２】
通信インタフェース２２は、ネットワークインタフェース回路を含み、ＣＰＵ２５の制御の下、ネットワーク７０２を介してＩＰＣ１０と通信する。入力装置２３は、マウス、操作キー等を含み、ユーザからの操作入力を受け付け、ユーザの操作入力を示す信号をＣＰＵ２５に出力する。表示装置２４は、ディスプレイを含み、ＣＰＵ２５から供給される信号に基づく画像をディスプレイに表示する。
【００３３】
ＣＰＵ２５は、メモリ２１に記憶されている各種プログラムを実行して、メンテナンスツール２０の各種機能を実現する。具体的には、ＣＰＵ２５は、メンテナンスプログラム２１１を実行することにより、表示装置２４のディスプレイに、エッジシステム１００の動作に必要な各種パラメータを入力する入力画面を表示する。ＣＰＵ２５は、ユーザが入力装置２３を使用して入力したパラメータを、ＩＰＣ１０のメモリ１１に格納する。以上が、エッジシステム１００に含まれるＩＰＣ１０及びメンテナンスツール２０のハードウェア構成である。実施の形態において、通信プログラム１１３の動作に必要なパラメータについては、通信プログラム１１３を提供する第三者ベンダが、パラメータの入力画面を提供する。
【００３４】
次に、図１を参照して、エッジシステム１００の機能構成を説明する。
【００３５】
エッジシステム１００は、機能的には、指定された収集対象からデータを収集する収集部１１０と、データ収集についての設定を示すデータを記憶する収集設定記憶部１２０と、データフローについての設定を示すデータを記憶するデータフロー設定記憶部１３０と、データフローを制御するフロー制御部１４０と、エッジシステム１００の動作に必要な各種パラメータをエッジシステム１００に登録する登録部１５０と、予め決められたデータ処理を行うデータ処理部１６０と、クラウドサーバ４００と通信するゲートウェイ通信部１７０と、フロー制御部１４０とゲートウェイ通信部１７０との間でデータをやり取りするゲートウェイ接続部１８０とを含む。
【００３６】
収集部１１０は、収集設定記憶部１２０が記憶するデータ収集についての設定に従って、指定された収集間隔で、指定された対象から指定されたデータを収集し、収集したデータをフロー制御部１４０に出力する。以下、収集部１１０が収集したデータを収集データと称することがある。実施の形態においては、収集部１１０は、ＦＡ機器６００からデータを収集する。収集部１１０の機能は、図２に示すＣＰＵ１４が収集プログラム１１１を実行することにより実現される。収集部１１０は本発明のデータ収集手段の一例である。
【００３７】
図１に示す収集設定記憶部１２０は、収集部１１０が実行するデータ収集処理についての設定の内容を示すデータを記憶する。このデータを収集設定データと称することがある。収集設定データは、ユーザが指定した、収集の対象を特定する情報と、収集するデータを特定する情報と、データを収集する収集間隔と、収集処理を実行する収集プログラム１１１を特定するための情報とを含む。収集の対象を特定する情報は、例えば、ＩＰ（Internet Protocol）アドレス及びポート番号を含む。収集するデータを特定する情報は、ＦＡ機器６００のメモリ領域において収集の対象となるデータが格納されている領域と、そのデータのデータ型及びデータ長を示す情報を含む。収集プログラム１１１を特定するための情報は、実行ファイル名及びパスを含む。後述の登録部１５０が、ユーザの指示に従って、収集設定データを収集設定記憶部１２０に格納する。収集設定記憶部１２０の機能は、図２に示すメモリ１１により実現される。
【００３８】
データフロー設定記憶部１３０は、収集されたデータに行うべきデータ処理の内容とデータ処理の順序とが定義されたデータフローについての設定内容を記憶する。このデータをデータフロー設定データと称することがある。データフロー設定データは、ユーザが指定した、収集対象と、各工程を実行する主体とを示す情報を含む。データフロー設定データは、クラウドサーバ４００を特定するためのＩＰアドレスとポート番号、クラウドサーバ４００が提供するサービスを特定するためのサービス情報、データフローを流れるデータの種類を示す情報、ゲートウェイ通信部１７０を拡張するためのスクリプト情報を含む。さらに、データフロー設定記憶部１３０は、クラウドサーバ４００に送信するデータが格納されている領域であり、後述するデータストア１４００の場所を特定するためのパスを記憶する。登録部１５０が、ユーザの指示に従って、上記のデータをデータフロー設定記憶部１３０に格納する。データフロー設定記憶部１３０は、データフロー設定記憶手段の一例である。データフロー設定記憶部１３０の機能は図２に示すメモリ１１により実現される。
【００３９】
図１に示すフロー制御部１４０は、エッジシステム１００内のデータフローを制御する。フロー制御部１４０の機能は、図２に示すＣＰＵ１４がフロー制御プログラム１１２を実行することにより実現される。フロー制御部１４０は本発明のフロー制御手段の一例である。
【００４０】
具体的には、フロー制御部１４０は、フロー制御実行部１４１と、リアルタイムデータ管理部１４２と、非リアルタイムデータ管理部１４３とを含む。
【００４１】
フロー制御実行部１４１は、エッジシステム１００が起動されると、データフロー設定記憶部１３０に格納されたデータに基づいて、ゲートウェイ通信部１７０を起動する。フロー制御実行部１４１は、クラウドサーバ４００に対応する数のゲートウェイ通信部１７０を起動する。例えば、データフロー設定記憶部１３０に格納されているデータフロー設定データにおいて、エッジシステム１００が２つのクラウドサーバ４００に接続することが設定されている場合、フロー制御実行部１４１は、それぞれのクラウドサーバ４００に接続するため、２つのゲートウェイ通信部１７０を起動する。
【００４２】
これは、クラウドサーバ４００毎に、クラウド側のインタフェースが異なるため、クラウドサーバ４００に対応するゲートウェイ通信部１７０として機能するための図２に示す通信プログラム１１３を起動する必要があるからである。フロー制御実行部１４１は、起動したゲートウェイ通信部１７０を識別するため、ゲートウェイ通信部１７０それぞれに固有ＩＤ（Identifier）を割り当てる。これは、ゲートウェイ接続部１８０とゲートウェイ通信部１７０とがデータを授受する際に、ゲートウェイ接続部１８０が、ゲートウェイ通信部１７０を識別することができるようにするためである。
【００４３】
さらに、図３に示すように、フロー制御実行部１４１は、ゲートウェイ通信部１７０とのデータの授受のため、ゲートウェイ通信部１７０それぞれに対応するデータストア１４００を生成する。データストア１４００は、ゲートウェイ通信部１７０が読み書き可能な領域である。各データストア１４００は、ゲートウェイ通信部１７０に割り当てられた固有ＩＤにより識別可能である。図３に示す例では、４つのゲートウェイ通信部１７０が起動されている。ゲートウェイ通信部１７０には固有ＩＤ１０１〜１０４が割り当てられている。さらに、ゲートウェイ通信部１７０それぞれに対応する４つのデータストア１４００が生成されている。なお、図３では、フロー制御部１４０とゲートウェイ通信部１７０とゲートウェイ接続部１８０とだけを図示している。データストア１４００は、本発明のデータ格納手段の一例である。
【００４４】
フロー制御実行部１４１は、生成したデータストア１４００と固有ＩＤとの対応付けを示す情報を、リアルタイムデータ管理部１４２と非リアルタイムデータ管理部１４３とに送信する。
【００４５】
リアルタイムデータ管理部１４２は、リアルタイムに発生するデータを、ここでは、収集部１１０から受信した収集データを、データフロー設定データに基づいて指定された宛先に供給する。データの宛先としてデータ処理部１６０が指定されている場合、リアルタイムデータ管理部１４２は、そのデータをデータ処理部１６０に供給する。
【００４６】
リアルタイムデータ管理部１４２は、リアルタイムに発生するデータをクラウドサーバ４００に渡すため、そのデータをデータストア１４００に格納する。具体的には、リアルタイムデータ管理部１４２は、収集部１１０から供給された収集データをデータストア１４００に格納する。さらに、リアルタイムデータ管理部１４２は、リアルタイムデータをクラウドサーバ４００に渡すため、リアルタイムデータをデータストア１４００に格納する。リアルタイムデータは、収集部１１０が収集したデータに欠損したデータに欠損値処理が行われた場合において、欠損値処理に関する情報を含む。例えば、データ処理部１６０が、収集データの欠損値に設定された値を埋める欠損値処理を行った場合には、リアルタイムデータ管理部１４２は、リアルタイムデータとして、欠損値を特定する情報と、欠損値に埋められた値とをデータストア１４００に格納する。
【００４７】
また、例えば、収集データが時系列データである場合に、データ処理部１６０が収集データを指定された期間毎に切り出し、エッジシステム１００は、切り出したデータを複数回に分けてクラウドサーバ４００に送信することがある。この場合、リアルタイムデータ管理部１４２は、リアルタイムデータとして、その時系列データの開始位置と終了位置とを示す情報をデータストア１４００に格納する。さらに、リアルタイムデータは、データフローの進捗状況を示す情報と、エッジシステム１００として機能するＩＰＣ１０の処理負荷を示す情報とを含む。処理負荷を示す情報は、例えば、ＩＰＣ１０のプロセッサの使用率である。リアルタイムデータ管理部１４２は本発明のリアルタイムデータ管理手段の一例である。
【００４８】
非リアルタイムデータ管理部１４３は、例えば、非リアルタイムデータをクラウドサーバ４００に渡すため、そのデータをデータストア１４００に格納する。非リアルタイムデータは、データフロー設定記憶部１３０に格納されている。非リアルタイムデータは、データフロー設定データ、クラウドサーバ４００に接続するための接続情報であるＩＰアドレスとポート番号、クラウドサーバ４００が提供するサービスを特定するためのサービス情報、データフローを流れるデータの種類を示す情報、ゲートウェイ通信部１７０を拡張するためのスクリプト情報を含む。非リアルタイムデータ管理部１４３は、ゲートウェイ通信部１７０が起動された直後に、非リアルタイムデータをデータストア１４００に格納する。非リアルタイムデータ管理部１４３は本発明の非リアルタイムデータ管理手段の一例である。
【００４９】
図１に示す登録部１５０は、ユーザが入力した収集設定データを収集設定記憶部１２０に格納する。さらに、登録部１５０は、ユーザが入力したデータフロー設定データ等をデータフロー設定記憶部１３０に格納する。登録部１５０の機能は、図２に示すメンテナンスツール２０のＣＰＵ２５がメンテナンスプログラム２１１を実行することにより実現される。
【００５０】
図１に示すデータ処理部１６０は、フロー制御部１４０から供給された収集データに、予め決められた加工処理を施し、加工した収集データをフロー制御部１４０に供給する。加工処理は、解析処理の前処理である欠損値処理、切り出し処理、外れ値処理等を含む。データ処理部１６０の機能は、図２に示すＣＰＵ１４が加工プログラム１１５を実行することにより実現される。データ処理部１６０は本発明のデータ処理手段の一例である。
【００５１】
図１に示すゲートウェイ通信部１７０は、エッジシステム１００からクラウドサーバ４００に宛てたデータを、クラウドサーバ４００に送信する。具体的には、ゲートウェイ通信部１７０は、設定された周期で、ゲートウェイ接続部１８０に、クラウドサーバ４００に宛てたデータがあるか否かを問い合わせ、データがある場合にはデータストア１４００からデータを読み出す。ゲートウェイ通信部１７０が、データの有無を問い合わせる周期は、例えば、クラウド側インタフェースで規定された周期である。ゲートウェイ通信部１７０は、データストア１４００から読み出したデータを、クラウド側インタフェースで定められたデータ形式に変換する。ゲートウェイ通信部１７０は、変換したデータを、クラウド側インタフェースで定められた手順でクラウドサーバ４００に送信する。ゲートウェイ通信部１７０の機能は、図２に示すＣＰＵ１４が通信プログラム１１３を実行することにより実現される。ゲートウェイ通信部１７０は本発明のゲートウェイ通信手段の一例である。
【００５２】
図１に示すゲートウェイ接続部１８０は、ゲートウェイ通信部１７０からデータの有無が問い合わせられると、そのゲートウェイ通信部１７０に対応するデータストア１４００にデータがあるか否かを確認し、データの有無をゲートウェイ通信部１７０に通知する。前述したように、ゲートウェイ通信部１７０の機能を実現するための通信プログラム１１３とは、第三者ベンダが開発したものであり、エッジシステム１００の専用品ではない。このため、ゲートウェイ接続部１８０は、ゲートウェイ通信部１７０とフロー制御部１４０との間のデータのやり取りを仲介する必要がある。
【００５３】
さらに、ゲートウェイ接続部１８０は、ゲートウェイ通信部１７０からデータストアの読み出しが終わったデータを破棄するよう通知されると、データストア１４００のデータを破棄する。ゲートウェイ接続部１８０の機能は、図２に示すＣＰＵ１４が接続プログラム１１４を実行することにより実現される。ゲートウェイ接続部１８０は本発明のゲートウェイ接続手段の一例である。
【００５４】
次に、クラウドサーバ４００の機能構成を説明する。図１に示すように、クラウドサーバ４００は、機能的には、分析処理を実行するデータ処理部４１０を含む。
【００５５】
データ処理部４１０は、エッジシステム１００から供給されたデータを分析する。データ処理部４１０は、例えば、エッジシステム１００のユーザの要求に応じて分析結果をユーザに提供する。
【００５６】
続いて、図４、５を参照しながら、ゲートウェイ通信部１７０が、フロー制御部１４０のデータストア１４００のデータを取得する一連の流れを説明する。
【００５７】
図４に示すように、ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０にデータの有無を問い合わせる（ステップＳ１００１）。ゲートウェイ接続部１８０は、データストア１４００にデータがあるか否かを確認する（ステップＳ１００２）。図示する例では、データストア１４００にデータがないとする。この場合、ゲートウェイ接続部１８０は、データがない旨をゲートウェイ通信部１７０に通知する（ステップＳ１００３）。
【００５８】
また、図５に示すように、データストア１４００にデータがある場合、ゲートウェイ通信部１７０がデータの有無を問い合わせると（ステップＳ１００１）、ゲートウェイ接続部１８０は、データストア１４００にデータがあるか否かを確認し（ステップＳ１００２）。データがある旨をゲートウェイ通信部１７０に通知する（ステップＳ１００４）。これに応答して、ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０にデータを取得することを通知する（ステップＳ１００５）。
【００５９】
ゲートウェイ接続部１８０はデータストア１４００の場所を特定するためのパスをゲートウェイ通信部１７０に通知する（ステップＳ１００６）。これに応答して、ゲートウェイ通信部１７０は、データストア１４００からデータを読み出す（ステップＳ１００７）。ゲートウェイ通信部１７０は読み出したデータをクラウドサーバ４００に転送する（ステップＳ１００８）。その後、ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０にデータの破棄を指示する（ステップＳ１００９）。これに応答して、ゲートウェイ接続部１８０は、データストア１４００のデータを破棄する（ステップＳ１０１０）。
【００６０】
エッジシステム１００とクラウドサーバ４００とがデータの授受を行うために、ゲートウェイ接続部１８０とゲートウェイ通信部１７０とは、以下に説明する準備処理を行う必要がある。まず、ゲートウェイ接続部１８０の準備処理を説明する。ゲートウェイ接続部１８０は、エッジシステム１００が起動された後に、下記の準備処理を開始する。
【００６１】
図６に示すように、ゲートウェイ接続部１８０は、エッジシステム１００が接続するクラウドサーバ４００それぞれに対応するゲートウェイ通信部１７０を起動する（ステップＳ１１）。ゲートウェイ接続部１８０は、起動したゲートウェイ通信部１７０それぞれに固有ＩＤを割り当て、固有ＩＤと、クラウドサーバ４００と通信するのに必要な設定データとをゲートウェイ通信部１７０に供給する（ステップＳ１２）。その後、ゲートウェイ接続部１８０は、ゲートウェイ通信部１７０それぞれに渡すデータを格納するためのデータストア１４００を生成する（ステップＳ１３）。以上が、ゲートウェイ接続部１８０が実行する準備処理である。
【００６２】
続いて、ゲートウェイ通信部１７０の準備処理を説明する。図７に示すように、ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０から供給された固有ＩＤを保存する（ステップＳ２１）。ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０から供給された設定データを保存する（ステップＳ２２）。その後、ゲートウェイ通信部１７０は、ゲートウェイ接続部１８０から供給された設定データにより特定されるクラウドサーバ４００に接続する（ステップＳ２３）。クラウドサーバ４００に接続すると、ゲートウェイ通信部１７０は、準備が完了したことをゲートウェイ接続部１８０に通知する（ステップＳ２４）。
【００６３】
次に、準備処理が完了したゲートウェイ接続部１８０とゲートウェイ通信部１７０とが連携してクラウドサーバ４００にデータを転送する処理を説明する。まず、ゲートウェイ通信部１７０が実行する転送処理を説明する。
【００６４】
図８に示すように、ゲートウェイ通信部１７０はクラウドサーバ４００に接続しているか否かを判別する（ステップＳ３１）。クラウドサーバ４００に接続していない場合（ステップＳ３１；Ｎｏ）、ゲートウェイ通信部１７０は、クラウドサーバ４００に再接続する（ステップＳ３２）。ゲートウェイ通信部１７０は、設定された周期からデータの有無を問い合わせるタイミングであるか否かを判別する（ステップＳ３３）。指定された周期を示す値は、準備処理で、ゲートウェイ接続部１８０から供給された設定データに含まれている。ゲートウェイ通信部１７０は、データの有無を問い合わせるタイミングであると判別すると（ステップＳ３３；Ｙｅｓ）、データの有無をゲートウェイ接続部１８０に問い合わせる（ステップＳ３４）。
【００６５】
ゲートウェイ接続部１８０からデータストア１４００のパスが返されたか否かに応じて、ゲートウェイ通信部１７０は、データストア１４００のデータがあるか否かを判別する（ステップＳ３５）。データがあると判別すると（ステップＳ３５；Ｙｅｓ）、ゲートウェイ通信部１７０は、データストア１４００からデータを読み出し、読み出したデータをクラウドサーバ４００に転送する（ステップＳ３６）。その後、ゲートウェイ通信部１７０は、データの転送が成功したと判別すると（ステップＳ３７；Ｙｅｓ）、ゲートウェイ接続部１８０にデータの破棄を指示する（ステップＳ３８）。その後、ゲートウェイ通信部１７０は再びステップＳ３１の処理を実行する。
【００６６】
ステップＳ３７で、データの転送が失敗したと判別すると（ステップＳ３７；Ｎｏ）、ゲートウェイ通信部１７０は、データの破棄をゲートウェイ接続部１８０に指示することなく、再びステップＳ３１の処理を実行する。クラウドサーバ４００へのデータの転送が失敗してしまったため、ゲートウェイ通信部１７０は、次の転送のタイミングでデータをクラウドサーバ４００に転送するからである。よって、この場合はデータの破棄を指示しない。
【００６７】
ステップＳ３５でデータストア１４００にデータがないと判別すると（ステップＳ３５；Ｎｏ）、再びステップＳ３１の処理を実行する。
【００６８】
続いてゲートウェイ接続部１８０が実行する仲介処理を説明する。図９に示すように、ゲートウェイ接続部１８０は、ゲートウェイ通信部１７０からデータの有無についての問い合わせを受信すると（ステップＳ４１；Ｙｅｓ）、データの有無をゲートウェイ通信部１７０に通知する（ステップＳ４２）。具体的には、ゲートウェイ接続部１８０は、問い合わせを送信したゲートウェイ通信部１７０に割り当てられたデータストア１４００にデータがあるか否かを確認する。ゲートウェイ接続部１８０は、データストア１４００にデータがある場合は、データストア１４００のパスをゲートウェイ通信部１７０に通知し、データストア１４００にデータがない場合は、データがない旨をゲートウェイ通信部１７０に通知する。
【００６９】
ゲートウェイ接続部１８０は、データの取得要求をゲートウェイ通信部１７０から受信すると（ステップＳ４３；Ｙｅｓ）、そのゲートウェイ通信部１７０に割り当てられたデータストア１４００のパスを通知する（ステップＳ４４）。その後、ゲートウェイ接続部１８０は、データの破棄の指示をゲートウェイ通信部１７０から受信すると（ステップＳ４５；Ｙｅｓ）、データストア１４００のデータを破棄する（ステップＳ４６）。
【００７０】
ステップＳ４４でデータストア１４００のパスを通知した後、ゲートウェイ通信部１７０からデータの破棄の指示を受信しないまま一定期間が経過した場合（ステップＳ４５；Ｎｏ）、ゲートウェイ接続部１８０は再びステップＳ４１の処理を実行する。
【００７１】
以上説明したように、実施の形態においては、中間サーバを設ける代わりに、エッジシステム１００に含まれ、第三者ベンダが作成したゲートウェイ通信部１７０が、クラウド側インタフェースの仕様に従って、クラウドサーバ４００と通信する。さらに、ゲートウェイ接続部１８０が、ゲートウェイ通信部１７０と、機器から収集したデータのデータ処理システム内におけるデータフローを制御するフロー制御部１４０とを接続する。このように、エッジシステム１００は、クラウドサーバ４００と通信する手段として、第三者ベンダが提供するゲートウェイ通信部１７０を利用し、ゲートウェイ通信部１７０に接続する手段として、ゲートウェイ接続部１８０を備える。よって、データ処理システムのユーザが外部サービスのインタフェースを意識せずに、データ処理システムと外部サービスとのシームレスな連携が可能となる。
【００７２】
また、第三者ベンダが作成したゲートウェイ通信部１７０を利用することで、エッジシステム１００の開発工数を減らすことができる。さらに、クラウド側インタフェースが変更された場合は、第三者ベンダがゲートウェイ通信部１７０を修正するので、エッジシステム１００のユーザにとって開発工数を低減することができる。
【００７３】
（変形例１）
続いて、エッジシステム１００が、通信負荷を調整する構成を備える例を説明する。以下、実施の形態に係る構成と異なる構成を中心に説明する。
【００７４】
図１０に変形例１に係るデータ連携システム２の構成を示す。変形例１に係るエッジシステム１００のフロー制御部１４０は、フロー制御実行部１４１と、リアルタイムデータ管理部１４２と、非リアルタイムデータ管理部１４３と、負荷監視部１４４とを含む。フロー制御実行部１４１と、リアルタイムデータ管理部１４２と、非リアルタイムデータ管理部１４３とは、実施の形態と同様の構成を備える。
【００７５】
負荷監視部１４４は、一定期間毎に、ゲートウェイ接続部１８０を介して、ゲートウェイ通信実行部１７１から、エッジシステム１００とクラウドサーバ４００との間の通信状態の負荷の監視結果を取得する。負荷監視部１４４は、通信負荷に応じて、フロー制御実行部１４１にゲートウェイ接続部１８０に流すデータのボリュームを調整させる。負荷監視部１４４は、例えば、ゲートウェイ接続部１８０に流すデータのボリュームを減らす指示をフロー制御実行部１４１に出す。フロー制御実行部１４１は、リアルタイムデータ管理部１４２に、収集部１１０から受信した収集データを、データストア１４００に格納する時間間隔を長くするよう指示を出す。リアルタイムデータ管理部１４２が、収集データを、データストア１４００に格納する間隔を長くすることで、エッジシステム１００とクラウドサーバ４００との間の通信量を抑えることができる。
【００７６】
さらに、負荷監視部１４４は、フロー制御実行部１４１にゲートウェイ接続部１８０に流すデータのボリュームを調整させた後に取得した監視結果が、通信負荷が低くなったことを示す場合、フロー制御実行部１４１に再度ゲートウェイ接続部１８０に流すデータのボリュームを調整させる。この場合、負荷監視部１４４は、ゲートウェイ接続部１８０に流すデータのボリュームを増やす指示をフロー制御実行部１４１に出す。フロー制御実行部１４１は、リアルタイムデータ管理部１４２に、収集部１１０から受信した収集データを、データストア１４００に格納する時間間隔を短くするよう指示をする。
【００７７】
このような構成を備えることで、クラウドサーバ４００とエッジシステム１００との間において通信負荷が高くなった場合に、通信負荷を低減することができる。また、変形例１に係る構成においても、実施の形態１と同様の効果を期待することができる。
【００７８】
（変形例２）
続いて、エッジシステム１００とクラウドサーバ４００とが、負荷を調整する構成を備える例を説明する。以下、実施の形態、変形例１に係る構成と異なる構成を中心に説明する。
【００７９】
図１１に変形例２に係るデータ連携システム３の構成を示す。変形例２に係るエッジシステム１００のゲートウェイ通信部１７０は、ゲートウェイ通信実行部１７１と、実行状況監視部１７２とを含む。クラウドサーバ４００は、データ処理部４１０と、データ処理実行制御部４２０と、実行状況監視部４３０とを含む。
【００８０】
ゲートウェイ通信実行部１７１は、実施の形態で説明したゲートウェイ通信部１７０の機能を備え、ゲートウェイ通信実行部１７１は、エッジシステム１００からクラウドサーバ４００に宛てたデータを、クラウドサーバ４００に送信する。
【００８１】
実行状況監視部１７２は、ゲートウェイ通信実行部１７１の処理の負荷を監視する。さらに、実行状況監視部１７２は、クラウドサーバ４００の実行状況監視部４３０から、データ処理実行制御部４２０の処理の負荷の監視結果を受信する。
【００８２】
例えば、ゲートウェイ通信実行部１７１の処理の負荷が高い場合、実行状況監視部１７２は、ゲートウェイ通信実行部１７１の処理の負荷を調整する。また、データ処理実行制御部４２０の処理の負荷が高い場合、実行状況監視部１７２は、データ処理実行制御部４２０の処理の負荷を低減するように、ゲートウェイ通信実行部１７１を制御する。
【００８３】
データ処理実行制御部４２０は、ゲートウェイ通信部１７０から受信したデータをデータ処理部４１０に供給する。図示する例では、クラウドサーバ４００は、１つのデータ処理部４１０を有しているが、クラウドサーバ４００が、複数のデータ処理部４１０を有している場合もある。この場合、データ処理実行制御部４２０は、受信したデータの特性に応じて、異なるデータ処理部４１０にデータを供給してもよい。なお。データ処理部４１０は、実施の形態と同様の構成を備える。
【００８４】
実行状況監視部４３０は、データ処理実行制御部４２０の処理の負荷を監視し、監視結果をエッジシステム１００の実行状況監視部１７２に送信する。
【００８５】
このような構成を備えることで、クラウドサーバ４００あるいはエッジシステム１００の処理の負荷が高くなった場合に、処理負荷を低減することができる。また、変形例２に係る構成においても、実施の形態１と同様の効果を期待することができる。
【００８６】
実施の形態では、エッジシステム１００がクラウドサーバ４００にデータを送信する例を説明したが、エッジシステム１００は、クラウドサーバ４００からデータを受信してもよい。この場合、図２に示す通信プログラム１１３は、エッジシステム１００に、クラウドサーバ４００からクラウド側インタフェースの仕様に従って受け付けたデータを、内部インタフェースに従ったデータに変換し、変換したデータをエッジシステム１００に供給する機能をさらに実現する。ＣＰＵ１４は通信プログラム１１３を実行することにより、クラウド側インタフェースの仕様に従ってクラウドサーバ４００から受け付けたデータを、内部インタフェースに従ったデータに変換し、変換したデータをエッジシステム１００に供給する。
【００８７】
実施の形態では、ＩＰＣ１０が、データ収集を実行する収集部１１０を備える例を説明したが、収集部１１０は、ＩＰＣ１０とは独立した別の装置に設けられていてもよい。
【００８８】
実施の形態では、エッジシステム１００のデータ処理部１６０が、収集部１１０が収集したデータに前処理を施す例を説明したが、データ処理部１６０は、収集データに前処理を施さなくてもよい。この場合、エッジシステム１００は、データ処理部１６０を備えていなくてもよい。
【００８９】
実施の形態においては、収集対象の機器を特定する情報としてＩＰアドレス及びポート番号を使用する例を説明したが、これに限られない。収集対象の機器を特定する情報として、収集対象の機器を特定する情報としてネットワーク上における局番を使用してもよい。
【００９０】
実施の形態では、クラウドサーバ４００は、分析処理を行う例を説明したが、クラウドサーバ４００が提供するサービスは、これに限られない。クラウドサーバ４００は、分析結果に基づいて、ＦＡ機器６００を診断してもよい。また、クラウドサーバ４００は、受信したデータを蓄積するストレージサービスを提供してもよい。また、１つのクラウドサーバ４００が、複数のサービスを提供してもよい。この場合、ＩＰＣ１０は、サービスそれぞれのインタフェースに対応するゲートウェイ通信部１７０それぞれを有している必要がある。
【００９１】
実施の形態においては、エッジシステム１００がクラウドコンピューティングサービスと連携する例を説明したが、これに限られない。エッジシステム１００は、クラウドコンピューティングサービス以外の外部アプリケーションと連携してもよい。
【００９２】
上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
【００９３】
本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００９４】
１，２，３  データ連携システム、１０  ＩＰＣ、１１，２１  メモリ、１２  フィールドバスインタフェース、１３  情報系ネットワークインタフェース、１４，２５  ＣＰＵ、１９，２９  バス、２０  メンテナンスツール、２２  通信インタフェース、２３  入力装置、２４  表示装置、１００  エッジシステム、１０１−１０４  固有ＩＤ、１１０  収集部、１１１  収集プログラム、１１２  フロー制御プログラム、１１３  通信プログラム、１１４  接続プログラム、１１５  加工プログラム、１２０  収集設定記憶部、１３０  データフロー設定記憶部、１４０  フロー制御部、１４１  フロー制御実行部、１４２  リアルタイムデータ管理部、１４３  非リアルタイムデータ管理部、１４４  負荷監視部、１５０  登録部、１６０，４１０  データ処理部、１７０  ゲートウェイ通信部、１７１  ゲートウェイ通信実行部、１７２，４３０  実行状況監視部、１８０  ゲートウェイ接続部、２１１  メンテナンスプログラム、４０１，４０２（４００）  クラウドサーバ、４２０  データ処理実行制御部、６０１，６０２（６００）  ＦＡ機器、７０１，７０２  ネットワーク、１４００  データストア
【要約】
エッジシステム（１００）は、データをクラウドサーバ（４００）に転送する。フロー制御部（１４０）は機器から収集したデータのエッジシステム（１００）内におけるデータ処理の流れであるデータフローを制御する。ゲートウェイ通信部（１７０）はクラウドサーバ（４００）とのデータの授受に関して定義され、公開されている外部インタフェースの仕様に従ってクラウドサーバ（４００）と通信する。ゲートウェイ接続部（１８０）はゲートウェイ通信部（１７０）とフロー制御部（１４０）との間の通信を可能にするため、フロー制御部（１４０）とゲートウェイ通信部（１７０）とを接続する。ゲートウェイ通信部（１７０）とゲートウェイ接続部（１８０）とは、データ処理システム内のデータの授受に関して定義され、公開されている内部インタフェースの仕様に従って通信する。【図１】
0006746041.tif 000002
【図２】
0006746041.tif 000003
【図３】
0006746041.tif 000004
【図４】
0006746041.tif 000005
【図５】
0006746041.tif 000006
【図６】
0006746041.tif 000007
【図７】
0006746041.tif 000008
【図８】
0006746041.tif 000009
【図９】
0006746041.tif 000010
【図１０】
0006746041.tif 000011
【図１１】
0006746041.tif 000012