(57)【特許請求の範囲】
【請求項１】
他のデータ処理装置に接続されるデータ処理装置であって、
機器からデータを収集するとともに前記機器にデータ処理フローの実行結果に関する情報を出力するデータ収集部と、
入力されたデータを処理するデータ処理部と、
前記他のデータ処理装置から提供されたデータを前記データ収集部または前記データ処理部に提供し、前記データ収集部で収集または前記データ処理部で処理されたデータを前記他のデータ処理装置に提供する連携処理部と、
予め設定されたデータ処理フローを実行するために必要な設定を示す情報であるフロー設定情報に基づき、前記データ収集部によるデータ収集および出力処理、前記データ処理部によるデータの処理、および前記連携処理部による前記他のデータ処理装置とのデータの授受の処理、の制御を行う実行制御部と、
を備え、
前記連携処理部は、前記他のデータ処理装置と扱えるデータおよびデータ処理を定義するデータ定義情報を共有し、前記データ定義情報に基づいて前記他のデータ処理装置が実行できない前記フロー設定情報の部分を前記他のデータ処理装置に送信しない、あるいは読み飛ばすことを指示することにより、前記他のデータ処理装置と前記フロー設定情報を共有する、
データ処理装置。
【請求項２】
前記連携処理部は、
前記フロー設定情報を前記他のデータ処理装置に送信して前記他のデータ処理装置と共有する処理フロー設定通信部を備える、
請求項１に記載のデータ処理装置。
【請求項３】
前記連携処理部は、
前記データ定義情報を前記他のデータ処理装置に送信して前記他のデータ処理装置と共有するデータ定義通信部をさらに備える、
請求項２に記載のデータ処理装置。
【請求項４】
前記連携処理部は、
前記他のデータ処理装置における前記データ処理部の実行制御情報を前記他のデータ処理装置に送信して前記他のデータ処理装置と共有する実行制御情報通信部を備える、
請求項１から３のいずれか１項に記載のデータ処理装置。
【請求項５】
前記連携処理部は、
前記データ処理装置において発生するエラー情報を前記他のデータ処理装置に送信して前記他のデータ処理装置と共有するエラー情報通信部を備える、
請求項１から４のいずれか１項に記載のデータ処理装置。
【請求項６】
前記データ定義情報は、前記データ処理フローを構成する各処理間でどのようなデータがやり取りされるかを表す情報である、
請求項１から５のいずれか１項に記載のデータ処理装置。
【請求項７】
前記データ定義情報は、データ型、データ数の少なくともいずれかである、
請求項６記載のデータ処理装置。
【請求項８】
前記データ定義情報は、各データ処理装置が有する機能の情報である、
請求項１から５のいずれか１項に記載のデータ処理装置。
【請求項９】
前記データ定義情報は、データ処理フローが扱えるのか否かを示す情報、どのようなデータ処理部を有するのかを示す情報の少なくともいずれかである、
請求項８記載のデータ処理装置。
【請求項１０】
請求項１から９のいずれか１項に記載のデータ処理装置を複数備えるデータ処理システム。
【請求項１１】
他のデータ処理装置に接続されるデータ処理装置によって実行されるデータ処理方法であって、
データ処理フローを実行するために必要な設定を示す情報であるフロー設定情報に基づき連携先の前記他のデータ処理装置に連携開始を通知するステップと、
前記他のデータ処理装置と扱えるデータおよびデータ処理を定義するデータ定義情報を共有するステップと、
前記データ定義情報に基づいて前記他のデータ処理装置が実行できない前記フロー設定情報の部分を前記他のデータ処理装置に送信しない、あるいは読み飛ばすことを指示することにより、前記他のデータ処理装置と前記フロー設定情報を共有するステップと、
共有された前記フロー設定情報に基づいて前記他のデータ処理装置と連携したデータ処理を実行するステップと、
を含むデータ処理方法。
【請求項１２】
データ処理装置に接続されるコンピュータに、
データ処理フローを実行するために必要な設定を示す情報であるフロー設定情報に基づき連携先の前記データ処理装置に連携開始を通知するステップと、
前記データ処理装置と扱えるデータおよびデータ処理を定義するデータ定義情報を共有するステップと、
前記データ定義情報に基づいて前記データ処理装置が実行できない前記フロー設定情報の部分を前記他のデータ処理装置に送信しない、あるいは読み飛ばすことを指示することにより、前記データ処理装置と前記フロー設定情報を共有するステップと、
共有された前記フロー設定情報に基づいて前記データ処理装置と連携したデータ処理を実行するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理システム、データ処理方法およびプログラムに関する。
【背景技術】
【０００２】
ファクトリーオートメーションの分野において、クラウドサーバと、クラウドサーバよりも工場に近いエッジと呼ばれる領域に分散配置されたデータ処理装置によりデータを収集し解析している。エッジ領域では、製造現場の生産機械、センサ、駆動機器等のＦＡ（Factory Automation）機器からデータを収集し、収集したデータについてデータ処理フローにて設定された順序で加工、診断等の一連のデータ処理を実行している。【０００３】
一方、特許文献１には、複数のタスクをネットワークで接続された複数の演算器に割り当てて分散処理を行うリアルタイム分散処理システムが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２５９１４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示すように、分散処理自体は公知であるが、エッジ領域におけるデータ処理装置がデータ処理フローを分散処理することについては、従来存在しなかった。
また、特許文献１に記載された技術は、異なる演算器で同じタスクを実行し同じ結果を出すかどうかを確認することでタスクの信頼性を担保することを主眼に置いており、タスク間で連携して一連の処理を行うための連携機能を有していない。
このため、データ処理フローを分散処理することはできず、複数のデータ処理装置を連携させて一連のデータ処理を実行することはできなかった。【０００６】
本発明は、上記の事情に鑑みてなされたものであり、複数のデータ処理装置を連携させて一連のデータ処理を実行することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のデータ処理装置は、他のデータ処理装置に接続されるデータ処理装置であって、機器からデータを収集するとともに機器にデータ処理フローの実行結果に関する情報を出力するデータ収集部と、入力されたデータを処理するデータ処理部と、他のデータ処理装置から提供されたデータをデータ収集部またはデータ処理部に提供し、データ収集部で収集またはデータ処理部で処理されたデータを他のデータ処理装置に提供する連携処理部と、予め設定されたデータ処理フローを実行するために必要な設定を示す情報であるフロー設定情報に基づき、データ収集部によるデータ収集および出力処理、データ処理部によるデータの処理、および連携処理部による他のデータ処理装置とのデータの授受の処理、の制御を行う実行制御部と、を備える。連携処理部は、他のデータ処理装置と扱えるデータおよびデータ処理を定義するデータ定義情報を共有し、データ定義情報に基づいて他のデータ処理装置が実行できないフロー設定情報の部分を他のデータ処理装置に送信しない、あるいは読み飛ばすことを指示することにより、他のデータ処理装置とフロー設定情報を共有する。
【発明の効果】
【０００８】
本発明によれば、データ処理装置は、他のデータ処理装置から提供されたデータをデータ収集部またはデータ処理部に提供し、データ収集部で収集またはデータ処理部で処理されたデータを他のデータ処理装置に提供する連携処理部と、予め設定されたデータ処理フローの設定情報に基づき、データ収集部によるデータ収集処理、データ処理部によるデータの処理、および連携処理部による他のデータ処理装置とのデータの授受の処理、の制御を行う実行制御部と、を備える。このため、複数のデータ処理装置を連携させて一連のデータ処理を実行することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係るデータ処理システムの構成を示すブロック図
【図２】実施の形態に係るデータ処理フローの一例を示す図
【図３】実施の形態に係るデータ処理装置のハードウェア構成を示すブロック図
【図４】実施の形態に係るデータ処理装置の機能的な構成を示す図
【図５】実施の形態に係るフロー設定情報の一例を示す図
【図６】実施の形態に係る連携処理部の構成を示す図
【図７】実施の形態に係る連携データ処理を示すフローチャート
【図８】実施の形態に係るデータ定義共有処理を示すフローチャート
【図９】実施の形態に係るフロー設定共有処理を示すフローチャート
【図１０】実施の形態に係るデータ処理フロー実行処理を示すフローチャート
【図１１】実施の形態に係る送信処理を示すフローチャート
【図１２】実施の形態に係る実行制御処理を示すフローチャート
【図１３】実施の形態に係るフローデータの一例を示す図
【図１４】実施の形態に係る部分処理を示すフローチャート
【図１５】実施の形態に係る受信処理を示すフローチャート
【図１６】実施の形態の変形例に係るデータ処理フローを示す図
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係るデータ処理装置について、図面を参照しつつ詳細に説明する。
【００１１】
（実施の形態１）
本実施の形態に係るデータ処理装置１０，２０は、ＦＡ機器の領域とクラウドの間のエッジコンピューティング領域に位置し、工場の現場に設けられているエッジ装置である。データ処理装置１０，２０は、ＦＡ機器からデータを吸い上げ、加工・診断処理を施してＦＡ機器に戻す。この処理を遠隔に位置するクラウドが実行すると、処理時間がかかるといった問題が生じる。したがって、リアルタイムデータ処理をデータ処理装置１０，２０が担当することによって、リアルタイムデータの処理遅延を防止するとともに、クラウドに送信されるデータ量を最適化する。
【００１２】
データ処理装置１０および２０は、同じ工場内に設置される産業用コンピュータである。また、データ処理装置１０および２０は、それぞれ別の工場に設置され、広域ネットワークで接続されてもよい。データ処理装置１０は、他のデータ処理装置２０と連携して、一連のデータ処理を実行する。データ処理装置１０，２０によって実行されるデータ処理は、製品を生産する生産ラインを稼働させるための制御処理である。
【００１３】
データ処理装置１０は、図１に示されるように、データ処理装置２０とともにデータ処理システム１００を構成する。データ処理システム１００は、データ処理装置１０，２０に加えて、機器３１，３２を有する。
【００１４】
データ処理装置１０，２０および機器３１，３２は、通信路３０を介して互いに通信可能に接続される。通信路３０は、工場内に設置された通信線によって実現される産業用の制御ネットワークである。ただし、通信路３０は、ＬＡＮ（Local Area Network）に代表される情報ネットワークであってもよい。また、通信路３０は、専用線であってもよいし、インターネットに代表される広域ネットワークであってもよい。さらに、図１では、単一の伝送路を介してデータ処理装置１０，２０および機器３１，３２が接続されているが、これには限定されない。例えば、データ処理装置１０と機器３１，３２とが専用線を介して接続され、データ処理装置１０とデータ処理装置２０とが広域ネットワークを介して接続されてもよい。
【００１５】
機器３１は、生産ラインに設置されたセンサ装置であって、例えば、圧力、超音波、又は光に代表される物理量を計測するセンサを有している。機器３１は、センサによる計測結果を示すデータを定期的に通信路３０へ出力する。機器３１が計測結果を出力する周期は、例えば、１ｍｓ、１００ｍｓ又は１ｓｅｃである。機器３２は、生産ラインに設置されるアクチュエータ又はロボットであって、制御命令に従って動作する。なお、上記は一例であって、機器３１はセンサに限らず、アクチュエータ、ロボット等であってもよく、機器３２は、アクチュエータ又はロボットに限らず、センサ等であってもよい。また、機器３１，３２は、センサ、アクチュエータ、ロボット等の被制御機器を制御するＰＬＣ（Programmable  Logic  Controller）であってもよい。
【００１６】
一連のリアルタイムデータ処理は、データの収集、加工、診断、フィードバック等を組み合わせて構成する。データの加工は、データの平滑化、先鋭化、ＦＦＴ（Fast Fourier Transform）処理等を含む。データの診断は、閾値判定、パターンマッチング等を含む。フィードバックは、診断結果の通知であり、生産現場の機器の停止、減速、再開等の指令を書き込む処理を含む。この組み合わせをデータ処理フローと呼ぶ。データ処理システム１００では、複数のデータ処理装置１０および２０が連携し、データ処理フロー内の各データ処理をデータ処理装置間で分散処理する。
【００１７】
データ処理装置１０，２０の連携によって実行されるデータ処理フロー４０が図２に例示されている。このデータ処理フロー４０は、機器３１から収集したデータに対して施される一連の部分処理を含む。詳細には、データ処理フロー４０は、データ処理装置１０によって実行される部分処理４１と、データ処理装置２０によって実行される部分処理４２と、を含む。ただし、これには限定されず、部分処理４１がデータ処理装置２０によって実行され、部分処理４２がデータ処理装置１０によって実行されてもよい。
【００１８】
また、部分処理４１は、部分処理４１１と部分処理４１２とを要素処理として含み、部分処理４２は、部分処理４２１と部分処理４２２とを要素処理として含む。部分処理４１１は、機器３１からデータを収集する処理に相当し、部分処理４１２は、部分処理４１１の結果として出力されるデータを加工する処理に相当する。データの加工は、例えばノイズの低減又は端数処理である。部分処理４２１は、部分処理４１２の結果として出力されるデータについて診断する処理に相当する。データの診断は、例えば、機器３２に対する制御指令の決定、および、異常の有無の判定である。部分処理４２２は、部分処理４２１の結果として出力される診断結果を示すデータの外部への出力に相当する。診断結果の出力は、機器３２への制御指令の送信を含む。図２に示されるデータ処理フロー４０によれば、部分処理４１１，４１２，４２１，４２２を含む一連の処理が、機器３１から計測結果が出力されるたびに実行される。そして、計測結果に含まれるノイズを低減した値に応じて機器３２に対する制御内容が決定されて制御命令が送信される。
【００１９】
処理の分散はランダムであってもよいが、各データ処理装置が得意とする処理を担当することがより適切である。理想的な配置を考慮すると、必ずしも前半の処理をデータ処理装置１０、後半の処理をデータ処理装置２０と、単純に分けるのではなく、より複雑な分散を行い、一連の処理を完遂するまでにデータ処理装置１０，２０間で頻繁にデータのやり取りが発生することもありえる。
【００２０】
データ処理装置１０は、そのハードウェア構成として、図３に示されるように、プロセッサ１１と、主記憶部１２と、補助記憶部１３と、入力部１４と、出力部１５と、通信部１６と、を有する。主記憶部１２、補助記憶部１３、入力部１４、出力部１５および通信部１６はいずれも、内部バス１７を介してプロセッサ１１に接続される。
【００２１】
プロセッサ１１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ１１は、補助記憶部１３に記憶されるプログラムＰ１を実行することにより、データ処理装置１０の種々の機能を実現して、後述の処理を実行する。
【００２２】
主記憶部１２は、ＲＡＭ（Random Access Memory）を含む。主記憶部１２には、補助記憶部１３からプログラムＰ１がロードされる。そして、主記憶部１２は、プロセッサ１１の作業領域として用いられる。
【００２３】
補助記憶部１３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）およびＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部１３は、プログラムＰ１の他に、プロセッサ１１の処理に用いられる種々のデータを記憶する。補助記憶部１３は、プロセッサ１１の指示に従って、プロセッサ１１によって利用されるデータをプロセッサ１１に供給し、プロセッサ１１から供給されたデータを記憶する。なお、図３では、１つのプログラムＰ１が代表的に示されているが、補助記憶部１３は、複数のプログラムを記憶してもよいし、主記憶部１２には、複数のプログラムがロードされてもよい。
【００２４】
入力部１４は、入力キーおよびポインティングデバイスに代表される入力デバイスを含む。入力部１４は、データ処理装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ１１に通知する。
【００２５】
出力部１５は、ＬＣＤ（Liquid Crystal Display）およびスピーカに代表される出力デバイスを含む。出力部１５は、プロセッサ１１の指示に従って、種々の情報をユーザに提示する。
【００２６】
通信部１６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部１６は、外部から信号を受信して、この信号により示されるデータをプロセッサ１１へ出力する。また、通信部１６は、プロセッサ１１から出力されたデータを示す信号を外部の装置へ送信する。
【００２７】
図３に示されるハードウェア構成が協働することで、データ処理装置１０は、種々の機能を発揮する。詳細には、データ処理装置１０は、その機能として、図４に示されるように、ユーザがデータ処理フローを設定するためのエンジニアリングツール１１０と、データ処理フローを構成する部分処理を実行するデータ処理部１２０と、データ処理部１２０およびデータ収集部１５０に部分処理を実行させる実行制御部１３０と、種々のデータを記憶する記憶部１４０と、データを収集するデータ収集部１５０と、データ処理装置２０に接続して連携処理するための連携処理部１６０と、を有する。
【００２８】
エンジニアリングツール１１０、実行制御部１３０、記憶部１４０および連携処理部１６０は、データ処理フローを実行するためのプラットフォーム５０を形成する。このプラットフォーム５０は、データ処理装置２０においてもデータ処理装置１０と同様に形成されるプラットフォームと連携して、データ処理フローを実行する。
【００２９】
エンジニアリングツール１１０は、データ処理フローを実行するために必要な設定を示す情報であるデータ処理フローの設定情報を設定する。以下では、データ処理フローの設定情報をフロー設定情報と適宜表記する。エンジニアリングツール１１０は、ユーザがデータ処理フローの設定を入力するためのＵＩ（User Interface）部１１１とデータ処理フローの設定を受け付ける受付部１１２からなる。ＵＩ部１１１は、主として入力部１４および出力部１５によって実現されるタッチスクリーンに相当する。ＵＩ部１１１は、受付部１１２による制御に従って、データ処理フローの設定を入力するための画面をユーザに対して表示する。ユーザは、ＵＩ部１１１を操作して、データ処理フローを構成する部分処理の内容および個数、部分処理の実行に必要なパラメータ、並びに、部分処理を実行するプラットフォームを任意に設定する。そして、ＵＩ部１１１は、ユーザの操作により入力されたデータ処理フローの設定を示す情報を受付部１１２へ送出する。なお、ＵＩ部１１１は、ディスプレイとキーボードとマウスに代表されるポインティングデバイスとによって実現されてもよい。
【００３０】
受付部１１２は、主としてプロセッサ１１によって実現される。受付部１１２は、ＵＩ部１１１からデータ処理フローの設定を受け付けて、この設定内容を示すフロー設定情報として実行制御部１３０に通知する。実行制御部１３０に通知されたフロー設定情報は、記憶部１４０の設定記憶部１４１に格納される。
【００３１】
なお、データ処理フローの設定が受付部１１２によって受け付けられるとは限らない。ユーザが、データ処理装置１０のＵＩ部１１１ではなく、データ処理装置２０を操作してデータ処理フローの設定を入力することもある。ユーザは、データ処理装置１０，２０のうち任意の装置を操作してデータ処理フローを設定すればよい。ユーザがデータ処理装置２０にデータ処理フローの設定を入力した場合には、データ処理装置１０は、このデータ処理フローの設定を示すフロー設定情報をデータ処理装置２０から受信することで共有する。この共有の詳細については、後述する。
【００３２】
データ処理部１２０は、主としてプロセッサ１１によって実現される。データ処理部１２０はそれぞれ、データ処理装置１０に予め設定されたプログラムＰ１、又はユーザによって用意されたプラグインソフトウェアによって実現される。データ処理部１２０はそれぞれ、データ処理フローを構成する要素としての部分処理を実行する。詳細には、データ処理部１２０はそれぞれ、部分処理の対象として実行制御部１３０によって入力されるデータを取得して、取得したデータに部分処理を施した結果を実行制御部１３０に出力する。図２においては、データ処理装置１０によって実行される部分処理４１のうち、部分処理４１２がいずれかのデータ処理部１２０によって実行される。
【００３３】
実行制御部１３０は、主としてプロセッサ１１によって実現される。実行制御部１３０は、フロー設定情報に従った順序でデータ処理部１２０およびデータ収集部１５０に部分処理を実行させる。詳細には、実行制御部１３０は、データ処理部１２０、データ収集部１５０および連携処理部１６０から部分処理の対象となるデータを取得して、取得したデータを、当該データに部分処理を施すデータ処理部１２０若しくはデータ収集部１５０、又は連携処理部１６０へ送出する。
【００３４】
例えば、実行制御部１３０は、図２に示される部分処理４１１の結果として収集されたデータをデータ収集部１５０から取得して、取得したデータを、部分処理４１２を実行するデータ処理部１２０へ送出する。また、実行制御部１３０は、部分処理４１２の結果として出力されたデータをデータ処理部１２０から取得して、取得したデータを、連携処理部１６０を介してデータ処理装置２０へ送信する。
【００３５】
なお、図２に示されるデータ処理フロー４０のうちの部分処理４２がデータ処理装置１０によって実行される場合においては、実行制御部１３０は、部分処理４１２の結果を示すデータを、連携処理部１６０を介してデータ処理装置２０から取得して、取得したデータを、部分処理４２１を実行するデータ処理部１２０へ送出する。そして、実行制御部１３０は、部分処理４２１の結果としてデータ処理部１２０から出力されたデータを取得して、取得したデータを、部分処理４２２を実行するデータ収集部１５０へ送出する。
【００３６】
記憶部１４０は、主として補助記憶部１３によって実現される。記憶部１４０は、フロー設定情報を記憶する設定記憶部１４１と、データ定義情報を記憶するデータ定義情報記憶部１４２と、を有する。設定記憶部１４１およびデータ定義情報記憶部１４２は、１つの記憶装置に形成された異なる記憶領域であってもよいし、異なる記憶装置として実現されてもよい。
【００３７】
図５には、設定記憶部１４１に記憶されるフロー設定情報１４１１が例示されている。このフロー設定情報１４１１は、図２に示されるデータ処理フローを実行するために必要な設定を示す情報である。フロー設定情報１４１１は、部分処理を識別するための部分処理ＩＤ（Identifier）と、この部分処理を実行するプラットフォームを識別するためのプラットフォームＩＤと、この部分処理の名称と、この部分処理の前処理に相当する部分処理と、この部分処理の後処理に相当する部分処理と、を関連付けるテーブルデータである。なお、図５において部分処理の名称として便宜的に「収集」「加工」「診断」と記載しているが、例えば、「加工」には、平均化、先鋭化等幾つもの種類が存在する。したがって、実際には、部分処理の名称としてこれらの種類まで細分化したＩＤが用いられる。前処理および後処理についても部分処理のＩＤが用いられる。
【００３８】
図５中、部分処理ＩＤは、図２の部分処理に付された符号と等しい識別子とされている。また、プラットフォームＩＤのうち、「５０」は、図４に示されるデータ処理装置１０のプラットフォーム５０の符号と等しい識別子とされている。「５１」というプラットフォームＩＤは、データ処理装置２０のプラットフォームに対応する。なお、フロー設定情報１４１１は、プラットフォームＩＤに代えて、データ処理装置１０，２０を識別する識別子を含んでもよい。
【００３９】
なお、フロー設定情報１４１１は、図５に例示される情報とは異なる情報を含んでもよい。例えば、フロー設定情報１４１１は、部分処理の内容を規定するパラメータを含んでもよい。このパラメータは、例えば、端数処理に用いられる閾値、データを収集する対象となる機器の識別子、データを収集する周期、および、制御命令を送信する対象となる機器の識別子である。
【００４０】
図４に戻り、データ収集部１５０は、主としてプロセッサ１１と通信部１６との協働により実現される。図４に示されるデータ収集部１５０は、機器３１，３２それぞれに対応して２つ設けられているが、データ処理装置１０が接続される伝送路ごとに設けられてもよい。データ収集部１５０は、接続された機器３１から出力されるデータを収集するデータ収集処理を実行して、収集したデータを実行制御部１３０へ送出する。
【００４１】
また、データ収集部１５０は、出力情報を出力する出力処理モジュール１５１を有する。出力情報は、データ処理フローの実行結果に関する情報である。例えば、出力処理モジュール１５１は、実行制御部１３０から送出された制御命令を、出力情報として制御対象の機器３２に送信する。出力処理モジュール１５１による出力処理は、図２中の部分処理４２２に相当する。なお、出力情報は、制御命令に限定されず、異常の発生を報知するための通知であってもよいし、外部のサーバ装置に格納するための品質管理情報であってもよい。
【００４２】
連携処理部１６０は、主としてプロセッサ１１と通信部１６との協働により実現される。連携処理部１６０は、データ処理装置１０がデータ処理装置２０と連携してデータ処理フローを実行するための通信をする。
【００４３】
図６には、連携処理部１６０の詳細な構成が示されている。この連携処理部１６０は、一連のリアルタイムデータ処理の内容を示すデータ処理フロー内を流れるデータの定義（データ型、データ数等）を他のデータ処理装置２０と共有するための通信を行うデータ定義通信部１６１と、データ処理フローの設定を他のデータ処理装置２０と共有するための通信を行う処理フロー設定通信部１６２と、データ処理フロー内を流れるデータを他のデータ処理装置２０との間で授受するフローデータ通信部１６３と、データ処理フロー内の個々のデータ処理の実行制御を行う情報をデータ処理装置間で授受する実行制御情報通信部１６４と、データ処理装置間において各データ処理装置上で発生しているエラー情報を共有するエラー情報通信部１６５と、を有する。
【００４４】
データ定義通信部１６１および処理フロー設定通信部１６２は、データ処理装置２０との間で、オフライン処理に必要な通信をする。一方、フローデータ通信部１６３、実行制御情報通信部１６４およびエラー情報通信部１６５は、データ処理装置２０との間で、オンライン処理を実行するための通信をする。
【００４５】
ここで、オフライン処理は、データ処理フローの実行に必要であるが、実行の際にデータ処理装置１０とデータ処理装置２０との通信が必須ではない処理を意味する。オフライン処理は、フロー設定情報の参照を含む。フロー設定情報がデータ処理フローの開始前に予めデータ処理装置１０，２０間で共有されていれば、フロー設定情報を参照する際には通信が必須とはならない。また、オフライン処理は、データ処理装置１０，２０のフロー設定情報のデータ定義情報を送信して予めデータ処理装置１０，２０間で共有する。このデータ定義情報がデータ処理装置１０とデータ処理装置２０との間で予め伝送されていれば、データ定義情報を参照する際には通信が必須とはならない。
【００４６】
また、オンライン処理は、データ処理装置１０とデータ処理装置２０とが接続されている条件下で実行される部分処理を意味する。詳細には、一の部分処理の結果をデータ処理装置１０，２０の一方から他方に伝送して次の部分処理の入力とすることがオンライン状態で繰り返し実行されるときの、当該次の部分処理がオンライン処理に相当する。
【００４７】
データ定義通信部１６１は、データ処理フローを構成する各処理間でどのようなデータ、例えば、データ型、データ数等、がやり取りされるかを表す情報を扱う。さらに、各データ処理装置が有する機能、例えば、データ処理フローが扱えるのか、どのようなデータ処理部を有するのか等、を表す情報を扱う。データ定義通信部１６１は、上記のデータ定義情報を他のデータ処理装置２０のデータ定義通信部１６１に送信する。また、他のデータ処理装置２０のデータ定義通信部１６１は、データ定義情報をデータ処理装置１０のデータ定義通信部１６１に送信する。
【００４８】
このように、データ定義通信部１６１は、互いのデータ定義情報を共有して、扱える仕様を把握する。例えば、データ処理装置によって扱えるデータが異なる場合がある。また、データ処理装置によっては、データ処理フロー自体を扱えない場合もある。この場合、データ処理装置が扱える範囲でデータ処理フローの設定情報を共有する。
例えば、データ処理フローにおいて、実行する処理が複数に枝分かれする分岐、複数の処理の結果が１つの処理に入力される集約が存在する場合がある。この分岐・集約について認識できないデータ処理装置がある場合、データ処理フローのうち、分岐・集約の部分を読み飛ばすことを指示する。あるいは、認識できない処理フロー部分についてデータ処理フローの設定情報を送信しないことによって対応する。ただし、データ処理フローの設定情報の書き換えは行わない。データ処理フローの設定は、ユーザによって行われる。どのデータ処理装置にどのような処理機能を有するアプリケーションが存在するかについては、ユーザのみが知り得る。したがって、ユーザが、データ処理フローの設定情報の書き換えを決定する。
このように、データ定義情報を共有することによって、扱える仕様が異なるデータ処理装置間において柔軟な連携が可能となる。
【００４９】
処理フロー設定通信部１６２は、データ処理フローがどのような処理の組み合わせで、それらがどのように結合されているかを表す設定情報を扱う。データ定義通信部１６１がデータ定義情報を共有するのに対して、処理フロー設定通信部１６２は、データ処理フローの設定を共有するための通信部である。
データ処理フローは、データ処理装置１０および２０の間で共有される。したがって、互いに重複するデータ処理フローについて、それぞれのデータ処理装置が重複して設定する必要はなく、一方のデータ処理装置のみが設定すればよい。
【００５０】
フローデータ通信部１６３は、データ処理フロー内を流れるフローデータを扱う。データは、あるタイミングで収集されたデータの集まりを表すレコードを単位として扱われる。また、データは、意味のある単位でまとめられた複数のレコードを単位として扱われる場合もある。
データ処理フローにおいて分岐がある場合、フローデータはデータ処理フローと紐付けて一緒に送信される。例えば、データ処理フローに番号付けしておき、フローデータのヘッダ部分に番号、ボディ部分にデータを含める。
【００５１】
実行制御情報通信部１６４は、データ処理フローの各処理を実行する順番、プログラムの開始指示等のタイミングを決める情報、データ処理部１２０のパラメータ等の実行制御情報を扱う。実行制御情報通信部１６４は、データ処理フローと動作状態を関係付け、データ処理フローに応じたデータの流れについて交通整理を行う動的な情報を他のデータ処理装置と共有する。
【００５２】
例えば、データ処理装置によっては、データ処理部１２０の起動等の制御の仕方に違いがある。データ処理部１２０の起動をデータ処理部１２０側で行っているデータ処理装置もあれば、プラットフォーム５０で行っているデータ処理装置も存在しえる。プラットフォーム５０がデータ処理部１２０を制御している場合、実行制御情報通信部１６４からの情報にしたがって起動を制御する。
また、データ処理フロー自体を扱っていない他のデータ処理装置に対して、実行制御情報通信部１６４が、処理の順番、データ処理部１２０の起動のタイミング、どういったデータを扱うかといった制御情報を送信することによって他のデータ処理装置を遠隔制御する。フローデータは、フローデータ通信部１６３から送信され、他のデータ処理装置は、実行制御情報通信部１６４からの制御情報にしたがってデータ処理フローに沿った処理を実行する。
【００５３】
エラー情報通信部１６５は、データ処理装置１０上で発生しているエラー情報を他のデータ処理装置２０へ送信する。また、エラー情報通信部１６５は、他のデータ処理装置２０上で発生しているエラー情報を受信する。これによって、データ処理装置１０，２０は互いのデータ処理装置上で発生しているエラー情報を共有する。エラー情報はデータ処理フローおよびデータ処理部１２０に関連付けて管理される。したがって、エラー発生箇所、原因の把握が容易となる。データ処理装置１０および２０が連携したデータ処理フローについて、どのデータ処理装置のどのデータ処理部にエラーが発生したかを特定することが可能となり、デバッグ、復旧が効率的に行える。エラー情報通信部１６５は、実際動作しているときのエラー情報を通信する。エラーが発生するとこれを受けて処理動作を変更することも可能である。
【００５４】
データ定義通信部１６１は、データ定義情報記憶部１４２から読み出されたデータ定義情報を取得し、処理フロー設定通信部１６２は、設定記憶部１４１から読み出されたフロー設定情報を取得する。そして、データ定義通信部１６１は、取得したデータ定義情報をデータ処理装置２０へ送信し、処理フロー設定通信部１６２は、取得したフロー設定情報をデータ処理装置２０へ送信する。また、データ定義通信部１６１は、データ処理装置２０から受信したデータ定義情報をデータ定義情報記憶部１４２に書き込み、処理フロー設定通信部１６２は、受信したフロー設定情報を設定記憶部１４１に書き込む。
【００５５】
フローデータ通信部１６３は、データ処理装置２０による部分処理の対象となるデータを送信するとともに、データ処理装置１０による部分処理の対象となるデータを受信する。
【００５６】
フローデータ通信部１６３は、フロー設定情報に従ってデータ処理装置１０によって実行された部分処理４１の結果を示す送信データを実行制御部１３０から取得して、データ処理装置２０へ送信する。送信が制限されているときには、データの送信を保留して待機する。
【００５７】
ここで、フローデータは、データ処理フローに従った部分処理の入出力データを意味し、送信データは、データ処理装置１０からデータ処理装置２０へ送信されるフローデータを意味する。以下では、送信データを第１の処理結果と適宜表記する。また、データ処理装置１０がデータ処理装置２０から受信するフローデータを受信データという。この受信データは、データ処理装置２０によって実行された部分処理４２の結果を示す。以下では、受信データを第２の処理結果と適宜表記する。
【００５８】
フローデータ通信部１６３は、フロー設定情報に従ってデータ処理装置１０によって実行されるべき部分処理の対象となる第２の処理結果をデータ処理装置２０から受信して、実行制御部１３０へ送出する。
【００５９】
続いて、データ処理装置１０によって実行される連携データ処理について、図７〜１５を用いて説明する。連携データ処理は、データ処理装置１０がデータ処理装置２０と連携して処理フローを実行する処理であって、データ処理装置１０がプログラムを実行することで開始する。
【００６０】
図７に連携処理部１６０の動作を示す。連携開始通知に先立って、ユーザはエンジニアリングツール１１０を用いてデータ処理フローを設定する。連携処理部１６０は、ユーザ操作等によりデータ処理フローを開始する時、データ処理フローによって予め設定された連携先のデータ処理装置２０に対して連携を開始する旨を通知する（ステップＳ１０１）。
次に、データ定義通信部１６１を介してデータ処理装置間でやり取りするデータの定義（データ型、データ数等）を共有する（ステップＳ１０２）。
【００６１】
データ定義の共有は、図８に示すように実行される。データ定義通信部１６１は、データ定義情報記憶部１４２からデータ定義情報を読み出す（ステップＳ２０１）。読み出されたデータ定義情報を連携先のデータ処理装置２０に送信する（ステップＳ２０２）。データ定義通信部１６１は、データ処理フローを構成する各処理間でどのようなデータ（データ型、データ数等）がやり取りされるかを表す情報とともに、各データ処理装置が有する機能（データ処理フローが扱えるのか、どのようなデータ処理部を有するのか等）の情報を送信する。
【００６２】
次に、連携先のデータ処理装置２０に対してデータ定義情報を要求する（ステップＳ２０３）。これに対して、連携先のデータ処理装置２０から応答があれば（ステップＳ２０４；Ｙｅｓ）、連携先のデータ処理装置２０のデータ定義通信部１６１からデータ定義情報を受信する（ステップＳ２０５）。連携先のデータ処理装置２０から応答がなければ（ステップＳ２０４；Ｎｏ）、再度データ定義情報を要求する（ステップＳ２０３）。連携先のデータ処理装置２０のデータ定義通信部１６１も同様に、データ処理フローを構成する各処理間でどのようなデータがやり取りされるかを表す情報とともに、各データ処理装置が有する機能の情報を送信する。データ定義通信部１６１は、どんなデータをやり取りしているのかを示す情報を送信し、基本的に全部のデータ定義を共有する。データ定義通信部１６１は、扱える仕様を全部共有しておく。
【００６３】
図７に戻って、続けて、処理フロー設定通信部１６２を介してフローの設定を共有する（ステップＳ１０３）。
【００６４】
処理フローの共有は、図９に示すように、実行される。
処理フロー設定通信部１６２は、設定記憶部１４１からフロー設定情報を読み出す（ステップＳ３０１）。次に処理フロー設定通信部１６２は、データ定義情報記憶部１４２から連携先のデータ処理装置２０のデータ定義情報を読み出す（ステップＳ３０２）。処理フロー設定通信部１６２は、データ定義情報から連携先のデータ処理装置２０がフロー設定情報を読み出すことができるのか、実行することができるのか判断する（ステップＳ３０３）。
例えば、データ処理を行うフローデータのデータ型、データ数が連携先のデータ処理装置２０で処理できないデータ型、データ数であるか否かを判断する。例えば、フローデータが浮動小数点型の１６ｂｉｔのデータが２つであるのに対して、連携先が整数型の８ｂｉｔのデータが１つだけを扱える場合、連携先のデータ処理装置２０はデータ処理を実行することができない。
単にデータを集めて蓄積、配信するだけ、あるいはデータ処理部は有するもののデータ処理フローの仕組みを持たず、個別のデータ処理部に直接データを入力する必要があるデータ処理装置は、このステップで連携先に対して、自身が有する機能とそのインタフェースを通知し、データの送受信方法を決定する。
【００６５】
連携先のデータ処理装置２０でデータ処理フローを実行できると判断した場合（ステップＳ３０３；Ｙｅｓ）、連携先のデータ処理装置２０にフロー設定情報をそのまま送信する（ステップＳ３０４）。連携先のデータ処理装置２０でデータ処理フローを実行できないと判断した場合（ステップＳ３０３；Ｎｏ）、連携先のデータ処理装置２０が扱える範囲でデータ処理フローを共有する（ステップＳ３０５）。例えば、実行できないフロー設定情報の部分を送信しない、あるいはフロー設定情報を送信するものの、実行できないフロー設定情報を読み飛ばすことを指示する。
連携先のデータ処理装置２０でフロー設定情報がある場合は、上記と同様にデータ定義情報に基づいて相手先にフロー設定情報を送信する。
【００６６】
以上のデータの共有が完了すると、図７に戻って、データ処理フローを実行する（ステップＳ１０４）。
【００６７】
図１０に、データ処理フロー実行処理を示す。データ処理装置１０は、データ処理フローの開始指示があるか否かを判定する（ステップＳ４０１）。具体的には、実行制御部１３０が、共有されたフロー設定情報に従ったデータ処理フローを開始する旨の指示があるか否かを判定する。この開始指示は、ユーザによって入力される指示であってもよいし、データ処理装置２０から送信された指示であってもよいし、予め定められたスケジュールに規定された時刻になったことで発生するトリガーであってもよい。
【００６８】
開始指示がないと判定した場合（ステップＳ４０１；Ｎｏ）、データ処理装置１０は、ステップＳ４０１の判定を繰り返して、開始指示があるまで待機する。一方、開始指示があると判定した場合（ステップＳ４０１；Ｙｅｓ）、実行制御部１３０は、フローデータの送信がデータ処理フローに含まれるか否かを判定する（ステップＳ４０２）。具体的には、実行制御部１３０は、設定記憶部１４１のフロー設定情報を参照して、データ処理装置１０にて実行された部分処理の結果をデータ処理装置２０にて実行される部分処理の入力とすることがデータ処理フローに含まれているか否かを判定する。
【００６９】
フローデータの送信がデータ処理フローに含まれると判定された場合（ステップＳ４０２；Ｙｅｓ）、実行制御部１３０は、フローデータ通信部１６３に送信処理を開始させる（ステップＳ４０３）。この送信処理は、連携データ処理とは並列に実行される。この送信処理について、図１１を用いて説明する。
【００７０】
送信処理では、フローデータ通信部１６３が、データ処理部１２０による部分処理の結果である第１の処理結果を実行制御部１３０から取得したか否かを判定する（ステップＳ５０１）。第１の処理結果を取得していないと判定した場合（ステップＳ５０１；Ｎｏ）、フローデータ通信部１６３は、ステップＳ５０１の判定を繰り返して、第１の処理結果を取得するまで待機する。
【００７１】
フローデータ通信部１６３が第１の処理結果を取得したと判定した場合（ステップＳ５０１；Ｙｅｓ）、フローデータ通信部１６３は、第１の処理結果を、連携相手のデータ処理装置２０へ送信する（ステップＳ５０２）。その後、ステップＳ５０１以降の処理が繰り返される。これにより、実行制御部１３０からフローデータ通信部１６３へ送出されたフローデータが、データ処理装置２０へ順次送信される。
【００７２】
図１０に戻り、ステップＳ４０２の判定が否定された場合（ステップＳ４０２；Ｎｏ）、又はステップＳ４０３の処理が完了した場合に、データ処理装置１０は、実行制御処理を開始する（ステップＳ４０４）。実行制御処理は、実行制御部１３０が、フロー設定情報に従ってデータ処理部１２０、データ収集部１５０および連携処理部１６０間で伝送させる処理であって、連携データ処理とは並列に実行される。この実行制御処理について、図１２を用いて説明する。
【００７３】
実行制御処理では、実行制御部１３０が、データ収集部１５０およびデータ処理部１２０を起動して部分処理を開始させる（ステップＳ６０１）。具体的には、実行制御部１３０が、設定記憶部１４１のフロー設定情報を参照して、データ処理フローに含まれる部分処理を実行するデータ収集部１５０およびデータ処理部１２０を実現するプログラムを特定し、特定したプログラムを起動する。これにより、データ収集部１５０およびデータ処理部１２０が部分処理を実行可能な状態になる。
【００７４】
次に、実行制御部１３０は、フローデータの入力があるか否かを判定する（ステップＳ６０２）。具体的には、実行制御部１３０は、データ処理フローに従ったデータが、データ処理部１２０、データ収集部１５０および連携処理部１６０のいずれかから実行制御部１３０に対して送出されたか否かを判定する。
【００７５】
図１３には、フローデータ５１が例示されている。フローデータ５１は、フローデータに付されるデータラベルと、このフローデータに対応する対象データが収集された時刻を示すタイムスタンプと、データの値と、を関連付けるテーブルである。ここで、対象データは、データ処理フローが施される対象のデータを意味し、機器３１から収集されるデータに相当する。データラベルは、図２中の矢印を識別するためのラベルに相当する。例えば、図２中の部分処理４１１から出力されて部分処理４１２に入力されるデータには、「＃１」というデータラベルが付される。タイムスタンプは、フローデータを得るための部分処理が施された対象データの収集時刻を示す。例えば、図２において、１０時４２分５６秒に部分処理４１１の実行により収集された対象データには、部分処理４１１，４１２，４２１が順に施され、これらの部分処理の出力であるフローデータにはいずれも「１０：４２：５６」というタイムスタンプが付される。データの値は、部分処理の結果を示す。
【００７６】
図１２に戻り、ステップＳ６０２にてフローデータの入力がないと判定した場合（ステップＳ６０２；Ｎｏ）、実行制御部１３０は、ステップＳ６０２の判定を繰り返して、フローデータが入力されるまで待機する。一方、フローデータの入力があると判定した場合（ステップＳ６０２；Ｙｅｓ）、実行制御部１３０は、ステップＳ６０２で入力されたと判断されたフローデータを、フロー設定情報に従って次の部分処理を実行するデータ処理部１２０、データ収集部１５０、又は連携相手のデータ処理装置２０に送出する（ステップＳ６０３）。例えば、図２に示されるデータ処理フローが実行される場合において、部分処理４１１を実行するデータ収集部１５０からフローデータが入力されたときに、実行制御部１３０は、このフローデータを、部分処理４１２を実行するデータ処理部１２０に送出する。また、このデータ処理部１２０からフローデータが入力されたときに、実行制御部１３０は、このフローデータを連携処理部１６０のフローデータ通信部１６３に送出することにより、部分処理４２１を実行するデータ処理装置２０へ送信する。
【００７７】
図１２に戻り、ステップＳ６０３に続いて、実行制御部１３０は、ステップＳ６０２以降の処理を繰り返す。これにより、実行制御部１３０は、フロー設定情報に従って一連の部分処理を含むデータ処理フローのうち、データ処理装置１０によって実行されるべき部分処理をデータ処理部１２０およびデータ収集部１５０に繰り返し実行させることができる。
【００７８】
続いて、ステップＳ６０１で開始される部分処理について、図１４を用いて説明する。この部分処理は、データ処理部１２０およびデータ収集部１５０によって実現され、実行制御処理とは並列に実行される。以下では、データ処理部１２０が部分処理を実行する例を中心に説明する。
【００７９】
部分処理では、データ処理部１２０は、入力データがあるか否かを判定する（ステップＳ７１１）。具体的には、データ処理部１２０は、実行制御部１３０から送出されたデータが入力されたか否かを判定する。ただし、部分処理がデータ収集部１５０によって実行される場合においては、データ収集部１５０が、機器３１から出力されたデータがあるか否かを判定する。
【００８０】
入力データがないと判定した場合（ステップＳ７１１；Ｎｏ）、データ処理部１２０は、ステップＳ７１１の判定を繰り返して、入力データがあるまで待機する。一方、入力データがあると判定した場合（ステップＳ７１１；Ｙｅｓ）、データ処理部１２０は、部分処理の内容を実行して、部分処理の結果を示す出力データを実行制御部１３０に出力する（ステップＳ７１２）。その後、データ処理部１２０は、ステップＳ７１１以降の処理を繰り返す。
【００８１】
図１０に戻り、ステップＳ４０４に続いて、実行制御部１３０は、フローデータの受信がデータ処理フローに含まれるか否かを判定する（ステップＳ４０５）。具体的には、実行制御部１３０は、設定記憶部１４１のフロー設定情報を参照して、データ処理装置２０にて実行された部分処理の結果を、データ処理装置１０にて実行される部分処理の入力とすることがデータ処理フローに含まれているか否かを判定する。
【００８２】
フローデータの受信がデータ処理フローに含まれると判定された場合（ステップＳ４０５；Ｙｅｓ）、実行制御部１３０は、フローデータ通信部１６３に受信処理を開始させる（ステップＳ４０６）。この受信処理は、連携データ処理とは並列に実行される。この受信処理について、図１５を用いて説明する。
【００８３】
受信処理では、連携処理部１６０のフローデータ通信部１６３が、データ処理装置１０で実行されるべき部分処理の対象となる第２の処理結果をデータ処理装置２０から受信したか否かを判定する（ステップＳ８０１）。第２の処理結果を受信していないと判定した場合（ステップＳ８０１；Ｎｏ）、フローデータ通信部１６３は、ステップＳ８０１の判定を繰り返して、第２の処理結果を受信するまで待機する。一方、第２の処理結果を受信したと判定された場合（ステップＳ８０１；Ｙｅｓ）、フローデータ通信部１６３は、第２の処理結果を実行制御部１３０へ送出する（ステップＳ８０２）。その後、ステップＳ８０１以降の処理が繰り返される。これにより、データ処理装置２０からフローデータ通信部１６３へ伝送された第２の処理結果が、実行制御部１３０へ順次入力される。
【００８４】
図７に戻り、ステップＳ１０５において連携解除の操作がない場合（ステップＳ１０５；Ｎｏ）、引き続きデータ処理フローを実行する（ステップＳ１０４）。データ処理フローの停止等の連携解除の操作があった場合（ステップＳ１０５；Ｙｅｓ）、連携解除を他のデータ処理装置２０に通知し、連携を解除して動作を停止する（ステップＳ１０６）。この操作とは、ユーザによる操作である。ユーザによる操作は、例えば、装置に設けられたトグルスイッチを操作した場合、エンジニアリングツール１１０から停止操作した場合である。なお、連携解除は、データ処理装置２０から送信された指示であってもよいし、予め定められたスケジュールに規定された時刻になったことで発生するトリガーであってもよい。
【００８５】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【００８６】
上記実施の形態では、２つのデータ処理装置１０，２０が連携してデータ処理フローを実行する場合について説明したが、３つ以上の装置が連携してデータ処理フローを実行してもよい。
【００８７】
また、上記実施の形態では、説明の理解を容易にするため、図２に示された簡潔なデータ処理フローを例示したが、データ処理フローはこれに限定されない。図１６に、データ処理フローの他の例を示す。
【００８８】
図１６（Ａ）において、データ処理装置Ａのデータ処理フロー６０には、最初にデータ処理装置Ａがデータ収集を行う部分処理６１が規定されている。データ収集実行後、データ処理装置Ａは加工処理である部分処理６２を実行する。部分処理６２が実行された後、データ処理フロー６０には、部分処理６３においてデータ処理装置Ｂが処理を行うことのみが規定されている。そしてデータ処理装置Ｂの処理の結果をデータ処理装置Ａに送信する部分処理６４が規定されている。データ処理装置Ａは、部分処理６４においてデータ処理装置Ｂの処理結果をデータ収集部１５０を通じて機器にフィードバックする。
データ処理装置Ｂのデータ処理フロー７０には、データ処理装置Ａからデータが入力される部分処理７１が規定されている。データ処理装置Ａからデータが入力されると、データ処理装置Ｂは、診断処理を実行する。診断結果はデータ処理装置Ａに出力される。
上記データ処理装置Ａのデータ処理フロー６０とデータ処理装置Ｂのデータ処理フロー７０をお互いに送信し、データ処理フローが共有されると、データ処理装置Ａのデータ処理フロー６０において、データ処理装置Ｂの処理は、診断処理であることが分かる。このように、互いのデータ処理フローを共有することにより、互いに重複したデータ処理フローを規定する必要がない。
【００８９】
また、図１６（Ｂ）において、データ処理装置Ａのデータ処理フロー８０には、最初にデータ処理装置Ａがデータ収集を行う部分処理８１が規定されている。データ収集実行後、データ処理装置Ａは加工処理である部分処理８２を実行する。加工処理が実行された後、分岐が行われ、データ処理装置Ａに分析／診断処理である部分処理８３を実行させるとともに、データ処理装置Ｂに分析処理を実行させる。データ処理装置Ｂで分析処理が実行された結果はデータ処理装置Ａに送信される。データ処理装置Ａは、部分処理８４において分析／診断結果をデータ収集部を通じて機器にフィードバックする。
データ処理装置Ｂのデータ処理フロー９０には、最初にデータ処理装置Ｂがデータ収集を行う部分処理９１が規定されている。データ収集実行後、データ処理装置Ｂは加工処理である部分処理９２を実行する。部分処理９２が実行された後、データ処理装置Ｂの加工処理結果とデータ処理装置Ａの加工処理結果がデータ処理装置Ｂに集約されて、データ処理装置Ｂは分析処理である部分処理９３を行う。分析処理の結果は、部分処理９４においてデータ処理装置Ｂからデータ収集部１５０を通じて機器にフィードバックされる。
【００９０】
また、データ処理フローは、３つより多くのデータ処理装置によって実行される部分処理を含んでいてもよい。また、データ処理装置とプラットフォームとは、一対一に対応していなくてもよい。例えば、１つのデータ処理装置が複数のプラットフォームを有していてもよい。
【００９１】
また、データ処理装置１０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００９２】
例えば、プロセッサ１１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００９３】
また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００９４】
また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００９５】
さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００９６】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００９７】
また、データ処理装置１０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【００９８】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態および変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００９９】
本発明は、収集したデータについて加工、診断等のデータ処理を行うデータ処理装置に広く適用することができる。
【符号の説明】
【０１００】
１０，２０  データ処理装置、１１  プロセッサ、１２  主記憶部、１３  補助記憶部、１４  入力部、１５  出力部、１６  通信部、１７  内部バス、１００  データ処理システム、１１０  エンジニアリングツール、１１１  ＵＩ部、１１２  受付部、１２０  データ処理部、１３０  実行制御部、１４０  記憶部、１４１  設定記憶部、１４２  データ定義情報記憶部、１５０  データ収集部、１５１  出力処理モジュール、１６０  連携処理部、１６１  データ定義通信部、１６２  処理フロー設定通信部、１６３  フローデータ通信部、１６４  実行制御情報通信部、１６５  エラー情報通信部、１４１１  フロー設定情報、３０  通信路、３１，３２  機器、４０，６０，７０，８０，９０  データ処理フロー、４１  第１の部分処理、４２  第２の部分処理、４１１，４１２，４２１，４２２，６１，６２，６３，６４，７１，８１，８２，８３，８４，９１，９２，９３，９４  部分処理、５０  プラットフォーム、５１  フローデータ、Ｐ１  プログラム。
【要約】
データ処理装置（１０）は、他のデータ処理装置（２０）に接続され、機器（３１，３２）からデータを収集するデータ収集部（１５０）と、入力データを処理するデータ処理部（１２０）と、他のデータ処理装置（２０）から提供されたデータをデータ収集部（１５０）またはデータ処理部（１２０）に提供し、データ収集部（１５０）で収集またはデータ処理部（１２０）で処理されたデータを他のデータ処理装置（２０）に提供する連携処理部（１６０）と、予め設定されたデータ処理フローの設定情報に基づき、データ収集部（１５０）によるデータ収集処理、データ処理部（１２０）によるデータの処理、および連携処理部（１６０）による他のデータ処理装置（２０）とのデータの授受の処理の制御を行う実行制御部（１３０）と、を備える。【図１】
0006861895.tif 000002
【図２】
0006861895.tif 000003
【図３】
0006861895.tif 000004
【図４】
0006861895.tif 000005
【図５】
0006861895.tif 000006
【図６】
0006861895.tif 000007
【図７】
0006861895.tif 000008
【図８】
0006861895.tif 000009
【図９】
0006861895.tif 000010
【図１０】
0006861895.tif 000011
【図１１】
0006861895.tif 000012
【図１２】
0006861895.tif 000013
【図１３】
0006861895.tif 000014
【図１４】
0006861895.tif 000015
【図１５】
0006861895.tif 000016
【図１６】
0006861895.tif 000017