(57)【要約】  データ処理装置は、データに対しリアルタイム処理を施す第１処理部（１１０）と、第１処理部（１１０）から処理結果として出力されるデータに対しバッチ処理を施す第２処理部（１２０）と、第１処理部（１１０）及び第２処理部（１２０）による処理の状況を監視する監視部（１４０）と、を備える。第１処理部（１１０）及び第２処理部（１２０）はそれぞれ、複数の部分処理部（１１１，１１３，１１５，１２１，１２３，１２５）と、複数のバッファ（１１２，１１４，１２２，１２４）と、を有する。第２処理部（１２０）は、記憶部（１０２）を有する。監視部（１４０）は、第１処理部（１１０）のバッファ（１１２，１１４）それぞれに記憶されているデータの量を監視する第１監視部（１４１）と、第２処理部（１２０）のバッファ（１２２，１２４）及び記憶部（１０２）に記憶されているデータの総量を監視する第２監視部（１４２）と、を有する。
2019207773.tif 000002
【特許請求の範囲】
【請求項１】
データに対しリアルタイム処理を施す第１処理手段と、
前記第１処理手段から処理結果として出力されるデータに対しバッチ処理を施す第２処理手段と、
前記第１処理手段及び前記第２処理手段による処理の状況を監視する監視手段と、
を備え、
前記第１処理手段及び前記第２処理手段はそれぞれ、
データに施される処理を構成する部分処理を実行する複数の部分処理手段と、
前記部分処理手段それぞれから出力されるデータを記憶する複数のバッファと、を有し、
前記第２処理手段は、前記第１処理手段から出力されるデータを記憶して、記憶するデータを前記第２処理手段のいずれかの前記部分処理手段に提供する記憶手段、をさらに有し、
前記監視手段は、
前記第１処理手段の前記バッファそれぞれに記憶されているデータの量を監視する第１監視手段と、
前記第２処理手段の複数の前記バッファ及び前記記憶手段に記憶されているデータの総量を監視する第２監視手段と、を有する、データ処理装置。
【請求項２】
前記第１監視手段は、前記記憶手段に記憶されているデータの量を監視する、
請求項１に記載のデータ処理装置。
【請求項３】
前記記憶手段の容量は、前記第１処理手段及び前記第２処理手段の前記バッファのいずれの容量よりも大きい、
請求項１又は２に記載のデータ処理装置。
【請求項４】
前記監視手段は、前記第１監視手段及び前記第２監視手段による監視の結果に基づき、前記第１処理手段及び前記第２処理手段の少なくとも一方による処理が予め規定された異常状態にあるか否かを判定する判定手段、をさらに有する、
請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記判定手段による判定結果のユーザへの通知に関する設定を受け付けて、受け付けた設定に従って判定結果を通知する通知手段、をさらに備える、
請求項４に記載のデータ処理装置。
【請求項６】
前記第１監視手段及び前記第２監視手段による監視の結果に基づいて前記第１処理手段及び前記第２処理手段の少なくとも一方の動作を制御する制御手段、をさらに備える、
請求項１から５のいずれか一項に記載のデータ処理装置。
【請求項７】
データを処理する第１処理に含まれる複数のバッファリング工程それぞれのバッファリングデータの量を監視する第１監視ステップと、
前記第１処理の処理結果を示すデータを処理する第２処理に含まれる複数のバッファリング工程のバッファリングデータの総量を監視する第２監視ステップと、
を含む監視方法。
【請求項８】
コンピュータに、
データを処理する第１処理に含まれる複数のバッファリング工程それぞれのバッファリングデータの量を監視し、
前記第１処理の処理結果を示すデータを処理する第２処理に含まれる複数のバッファリング工程のバッファリングデータの総量を監視する、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、監視方法及びプログラムに関する。
【背景技術】
【０００２】
工場に代表される施設では、生産工程、検査工程、その他の種々の工程を実現するために、施設内から比較的短い周期で収集したデータに対して逐次処理することが広く行われている。このようなデータの処理は、リアルタイム性がある程度保障された環境で実行されることが望ましい。そこで、リアルタイムＯＳ（Operating System）の技術を利用してデータを処理することが考えられる（例えば、特許文献１を参照）。【０００３】
特許文献１には、リアルタイム処理の状況を監視して、リアルタイム処理の進行に関するパラメータを調整することにより、プロセッシングリソースの利用効率を高める技術について記載されている。この技術では、リアルタイム処理の進行状況としてストリームバッファ各々の充填状態を監視していた。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２２５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、施設内で収集するデータ量が増加し、処理結果の利用用途も多岐に渡ることから、多様な処理がデータに施される。リアルタイム性が求められ、リアルタイムＯＳ上での処理が適している処理もあれば、リアルタイム処理が困難であり、非リアルタイムＯＳである汎用ＯＳ上でのバッチ処理が適している処理も存在する。そこで、リアルタイム性が確保された環境でリアルタイム処理を実行してから、汎用ＯＳ（非リアルタイムＯＳ）上で続きのバッチ処理を施すことが考えられる。【０００６】
また、ユーザのデータ処理に関するニーズは多様化しており、リアルタイムＯＳ上での処理内容及び汎用ＯＳ上での処理内容をユーザが任意に組み合わせて実行することができるシステムが求められている。このようなシステムにおいては、ユーザが処理装置の処理能力を超えるような処理設定を行ってしまい、処理結果に影響を及ぼす場合があり、ユーザはバッファの充填状態に代表される処理状況を把握し、処理設定の見直しを行う必要がある。そこで、特許文献１のように、一連の処理を構成する複数の要素処理間のバッファ各々の充填状態を直接監視することが考えられるが、リアルタイムＯＳ上での処理と汎用ＯＳ上での処理とを含む一連のデータ処理を行うシステムにおいては、個々のバッファの充填状態を監視するだけでは、処理状況を適切に把握することが難しかった。【０００７】
本発明は、上記の事情に鑑みてなされたものであり、データ処理の状況を適切に表す監視結果を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明のデータ処理装置は、データに対しリアルタイム処理を施す第１処理手段と、第１処理手段から処理結果として出力されるデータに対しバッチ処理を施す第２処理手段と、第１処理手段及び第２処理手段による処理の状況を監視する監視手段と、を備え、第１処理手段及び第２処理手段はそれぞれ、データに施される処理を構成する部分処理を実行する複数の部分処理手段と、部分処理手段それぞれから出力されるデータを記憶する複数のバッファと、を有し、第２処理手段は、第１処理手段から出力されるデータを記憶して、記憶するデータを第２処理手段のいずれかの部分処理手段に提供する記憶手段、をさらに有し、監視手段は、第１処理手段のバッファそれぞれに記憶されているデータの量を監視する第１監視手段と、第２処理手段の複数のバッファ及び記憶手段に記憶されているデータの総量を監視する第２監視手段と、を有する。
【発明の効果】
【０００９】
本発明によれば、データ処理装置が備える監視手段は、第１処理手段のバッファそれぞれに記憶されているデータの量を監視する第１監視手段と、第２処理手段の複数のバッファ及び記憶手段に記憶されているデータの総量を監視する第２監視手段と、を有する。したがって、両処理手段の特性に合った情報をユーザに提供できるため、ユーザは、第１処理手段及び第２処理手段の処理状況を適切に把握し、処理設定の見直しに活用することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係る処理システムの構成を示すブロック図
【図２】実施の形態にデータ処理のフローを模式的に示す図
【図３】実施の形態に係るデータ処理装置の機能的な構成を示す図
【図４】実施の形態に係る第１処理部及び取得部による反復処理について説明するための図
【図５】実施の形態に係る第２処理部による反復処理について説明するための図
【図６】実施の形態に係る第１監視部について説明するための図
【図７】実施の形態に係る第２監視部について説明するための図
【図８】実施の形態に係るデータ処理装置のハードウェア構成を示す図
【図９】実施の形態に係る監視処理を示すフローチャート
【図１０】実施の形態に係るエラー通知に関する設定の一例を示す図
【図１１】実施の形態に係る第１部分処理を示すフローチャート
【図１２】実施の形態に係る第２部分処理を示すフローチャート
【図１３】実施の形態に係る異常判定条件の一例を示す図
【図１４】実施の形態に係る異常発生履歴の一例を示す図
【図１５】変形例に係るデータ処理のフローを模式的に示す第１の図
【図１６】変形例に係るデータ処理のフローを模式的に示す第２の図
【図１７】変形例に係るデータ処理装置の機能的な構成を示す第１の図
【図１８】変形例に係るデータ処理装置の機能的な構成を示す第２の図
【図１９】変形例に係るデータ処理装置の機能的な構成を示す第３の図
【図２０】変形例に係るデータ処理装置の機能的な構成を示す第４の図
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態に係るデータ処理装置１０について、図面を参照しつつ詳細に説明する。
【００１２】
実施の形態．
本実施の形態に係るデータ処理装置１０は、工場に配置されるＩＰＣ（Industrial Personal Computer）である。データ処理装置１０は、図１に示されるように、工場の製造ラインに配置された機器２１，２２と産業用のネットワーク２０を介して接続され、ＦＡ（Factory Automation）システムとしての処理システム１００を構成する。そして、データ処理装置１０は、ネットワーク２０を介して機器２１から収集したデータを処理して、処理結果に応じた制御命令を機器２２に出力する。機器２１は、センサであって、機器２２は、アクチュエータ又はロボットである。
【００１３】
図２には、データ処理装置１０によるデータの処理の概要が示されている。図２に示されるように、データ処理装置１０によるデータ処理３００は、データ取得３０１と、第１処理３１０と、第２処理３２０と、データ出力３３０と、をこの順で実行することにより達成される。図２中の矢印は、データの伝送を示す。例えば、データ取得３０１の実行により得たデータに対して、第１処理３１０が施される。また、第１処理３１０の処理結果を示すデータに対して、第２処理３２０が施される。そして、第２処理３２０の処理結果を示すデータが、データ出力３３０の処理対象となる。
【００１４】
データ取得３０１は、図１に示されるネットワーク２０を介して機器２１からデータを受信する処理に相当する。機器２１はセンシング結果を示すデータを周期的に送信するため、データ取得３０１は、周期的に実行される。この周期は、例えば１０ｍｓ、１００ｍｓ又は１ｓｅｃである。また、センシング結果を示すデータは、例えば８ビット又は１６ビットのデジタル値である。
【００１５】
第１処理３１０は、データ取得３０１の実行に応じて周期的に実行されるリアルタイム処理であって、第２処理３２０よりも処理内容が単純で設計自由度が低い処理である。第１処理３１０は、データ取得３０１と同等の周期で実行されるストリームデータ処理といえる。第１処理３１０は、部分処理３１１，３１３，３１５をこの順で実行することにより達成される。部分処理３１１，３１３，３１５は、例えば、予め規定された閾値以下の値を切り上げる切り上げ処理、予め規定された閾値以上の値を切り下げる切り下げ処理、及び、予め規定された定数を乗じるスケーリング処理である。
【００１６】
ただし、部分処理３１１，３１３，３１５は、切り上げ処理及び切り下げ処理とは異なる端数処理であってもよいし、予め規定されたオフセット値を加算するシフト処理であってもよいし、その他の処理であってもよい。また、図２では、第１処理３１０を構成する３つの部分処理３１１，３１３，３１５が代表的に示されているが、部分処理の数は、２つ以下であってもよいし、４つ以上であってもよい。
【００１７】
第２処理３２０は、第１処理３１０の実行に応じて繰り返し実行されるバッチ処理である。ここで、バッチ処理は、第１処理３１０の処理に対して非同期的にデータを処理することを意味する。第２処理３２０は、第１処理３１０よりも処理内容が複雑で設計自由度が高く、リアルタイム性の保障が困難であるため、一般的には非周期的に実行される。第２処理３２０は、部分処理３２１，３２３，３２５をこの順で実行することにより達成される。部分処理３２１，３２３，３２５は、例えば、移動平均の算出処理、処理対象の値が予め規定された閾値を超えるか否かを判定する判定処理、及び、図１中の機器２２に対する制御命令の内容を決定する処理である。これらの部分処理３２１，３２３，３２５によれば、センシング結果から移動平均によりノイズを除去して得る値が閾値を超えたときに限って特定の制御命令を出力することができる。
【００１８】
ただし、部分処理３２１，３２３，３２５は、移動平均の算出処理とは異なるフィルタ処理又は統計処理であってもよいし、ＦＦＴ（Fast Fourier Transform）処理に代表される変換処理であってもよいし、その他の処理であってもよい。また、図２では、第２処理３２０を構成する３つの部分処理３２１，３２３，３２５が例示されているが、部分処理の数は、２つ以下であってもよいし、４つ以上であってもよい。第２処理３２０は、非周期的に実行され、データ取得３０１によって繰り返し取得された多数のデータを処理対象としてもよい。
【００１９】
データ出力３３０は、図１に示されるネットワーク２０を介して第２処理３２０の処理結果を機器２２に送信する処理に相当する。
【００２０】
データ処理装置１０は、図２に示されるデータ処理３００を実行し、その処理状況を監視するために、図３に示されるような機能的な構成を有する。詳細には、データ処理装置１０は、処理対象のデータを繰り返し取得する取得部１０１と、取得したデータを処理する第１処理部１１０と、第１処理部１１０の処理結果であるデータを処理する第２処理部１２０と、第２処理部１２０による処理結果としてのデータを外部に出力する出力部１３０と、第１処理部１１０及び第２処理部１２０による処理の状況を監視する監視部１４０と、第１処理部１１０の動作を制御する制御部１５０と、第１処理部１１０及び第２処理部１２０による処理で発生したエラーを管理するエラー管理部１６０と、を有する。図２中のデータ取得３０１、第１処理３１０、第２処理３２０、及びデータ出力３３０はそれぞれ、取得部１０１、第１処理部１１０、第２処理部１２０、及び出力部１３０によって実行される。
【００２１】
第１処理部１１０は、図２中の部分処理３１１，３１３，３１５それぞれを実行する部分処理部１１１，１１３，１１５と、第１処理部１１０を構成するいずれか１つの部分処理部から出力されるデータを一時的に記憶して、記憶するデータを次の部分処理部に提供するバッファ１１２，１１４と、を有する。第１処理部１１０は、請求項の第１処理手段として機能する。
【００２２】
部分処理部１１１は、取得部１０１から提供されたデータに対して部分処理を実行し、処理結果を示すデータを後段のバッファ１１２に格納する。部分処理部１１３は、前段のバッファ１１２から読み出したデータに対して部分処理を実行し、処理結果を示すデータを後段のバッファ１１４に格納する。部分処理部１１５は、前段の不図示のバッファから読み出したデータに対して部分処理を実行し、処理結果を示すデータを記憶部１０２に格納する。バッファ１１２，１１４の容量はそれぞれ、例えば１０バイト又は２０バイトであるが、これには限定されず、任意である。部分処理部１１１，１１３は、請求項の部分処理手段として機能し、バッファ１１２，１１４は、請求項のバッファとして機能する。
【００２３】
図４には、取得部１０１及び第１処理部１１０による反復処理の進行が模式的に示されている。図４において「部分処理」に続く番号は、部分処理部１１１，１１３，１１５の符号に対応している。例えば、「部分処理［１１１］」は、部分処理部１１１によって実行される。図４に示されるように、ストリームデータ処理を構成する部分処理にかかる時間の長さは、データを取得する周期Ｔ１以下であって、これらの部分処理はそれぞれ、周期Ｔ１で定期的に実行される。取得部１０１及び第１処理部１１０は、処理のリアルタイム性を実現するために、リアルタイムＯＳ（Operating System）上で提供されることが好ましい。
【００２４】
図３に戻り、第２処理部１２０は、第１処理部１１０から処理結果として出力されるデータを一時的に記憶する記憶部１０２と、図２中の部分処理３２１，３２３，３２５それぞれを実行する部分処理部１２１，１２３，１２５と、第２処理部１２０を構成するいずれか１つの部分処理部から出力されるデータを一時的に記憶して、記憶するデータを次の部分処理部に提供するバッファ１２２，１２４と、を有する。第２処理部１２０は、請求項の第２処理手段として機能する。
【００２５】
部分処理部１２１は、記憶部１０２から読み出したデータに対して部分処理を実行し、処理結果を示すデータを後段のバッファ１２２に格納する。部分処理部１２３は、前段のバッファ１２２から読み出したデータに対して部分処理を実行し、処理結果を示すデータを後段のバッファ１２４に格納する。部分処理部１２５は、前段の不図示のバッファから読み出したデータに対して部分処理を実行し、処理結果を示すデータを出力部１３０に送出する。バッファ１２２，１２４の容量はそれぞれ、例えば１０バイト又は２０バイトであるが、これには限定されず、任意である。部分処理部１２１，１２３は、請求項の部分処理手段として機能し、バッファ１２２，１２４は、請求項のバッファとして機能する。
【００２６】
図５には、第２処理部１２０による反復処理の進行が模式的に示されている。図５において「部分処理」に続く番号は、図４と同様に、部分処理部１２１，１２３，１２５の符号に対応している。図５に示されるように、バッチ処理を構成する部分処理それぞれにかかる時間の長さは、実行されるたびに変化し、図４に示される周期Ｔ１以上になることもあるが、平均的には、周期Ｔ１以下となる。また、第２処理部１２０による処理のうち最初の部分処理［１２１］の開始時刻についても、時刻Ｔ２１，Ｔ２２，Ｔ２３のように、非周期的になり得る。第２処理部１２０は、設計の自由度を高くしてユーザによる任意の処理を実現するために、汎用ＯＳ上で提供されることが好ましい。
【００２７】
図３に戻り、記憶部１０２は、リアルタイム処理を実行する第１処理部１１０と、バッチ処理を実行する第２処理部１２０と、の境界に配置される境界バッファとして機能する。記憶部１０２は、後段のバッチ処理を安定的に繰り返し実行させるために、比較的大きい容量を有する。詳細には、記憶部１０２は、第１処理部１１０及び第２処理部１２０を構成するいずれのバッファよりも大きい容量を有する。記憶部１０２の容量は、例えば、１ＭＢ又は１０ＭＢであるが、これには限定されず、任意である。記憶部１０２は、請求項の記憶手段として機能する。
【００２８】
監視部１４０は、第１処理部１１０及び第２処理部１２０のバッファ及び記憶部１０２に格納されているデータ量を監視する。これらのバッファ及び記憶部１０２に格納されているデータ量が多くなり、空き容量が少なくなると、バッファ及び記憶部１０２からデータが溢れてしまい、第１処理部１１０及び第２処理部１２０による反復処理が正常に実行されなくなる。そこで、監視部１４０は、データ量を監視することで、第１処理部１１０及び第２処理部１２０による処理が異常状態にあるか否かを監視する。監視部１４０は、第１処理部１１０のバッファ１１２，１１４それぞれに記憶されているデータ量を監視する第１監視部１４１と、第２処理部１２０のバッファ１２２，１２４及び記憶部１０２に記憶されているデータの総量を監視する第２監視部１４２と、第１監視部１４１及び第２監視部１４２によって出力される情報から第１処理部１１０及び第２処理部１２０の少なくとも一方の処理が異常状態にあるか否かを判定する判定部１４３と、を有する。監視部１４０は、請求項の監視手段として機能する。
【００２９】
監視部１４０の監視対象となるデータ量は、バッファに格納されているデータのビット又はバイト単位の量であってもよいし、バッファの容量に対する充填率であってもよいし、バッファの空き領域のビット又はバイト単位の量であってもよいし、バッファの容量に対する空き領域の割合であってもよいし、他のデータ量に関する指標であってもよい。監視対象のデータ量は、バッファに記憶されているデータの多寡に応じて処理状況を表す指標であればよい。
【００３０】
第１監視部１４１は、第１処理部１１０のバッファ１１２，１１４それぞれを参照して、各バッファのデータ量に関する情報を監視結果として出力する。詳細には、第１監視部１４１は、図６に例示されるように、各バッファに格納されているデータ量を示す出力情報１４１ａを出力する。なお、図６では、バッファ１１２，１１４に加えて、第１処理部１１０のバッファ１１６が示されている。第１監視部１４１は、請求項の第１監視手段として機能する。
【００３１】
図６に示されるように、バッファ１１４に格納されているデータ量がバッファ１１４の容量のうち１００％を占めるようになると、バッファ１１４の前段の部分処理の結果をバッファ１１４に格納することができない。また、他のバッファについても、データ量が容量のうちの大部分を占めると、そのバッファに部分処理の結果を格納することができない。データ量の占める割合がある程度大きいバッファがあると、その前段の部分処理を周期的に実行することができなくなり、第１処理部１１０による処理全体に異常が生じることとなる。そこで、第１監視部１４１は、各バッファのデータ量を個別に示す出力情報１４１ａを監視結果として出力する。
【００３２】
図３に戻り、第２監視部１４２は、第２処理部１２０のバッファ１２２，１２４と記憶部１０２とを参照して、これらのバッファ及び記憶部１０２の総データ量に関する情報を出力する。詳細には、第２監視部１４２は、図７に例示されるように、バッファ及び記憶部１０２に格納されている総データ量を算出して、算出した総データ量を示す出力情報１４２ａを出力する。なお、図７では、バッファ１２２，１２４に加えて、第２処理部１２０のバッファ１２６が示されている。第２監視部１４２は、請求項の第２監視手段として機能する。
【００３３】
図７に示されるように、バッファ１２４に格納されているデータ量がバッファ１２４の容量のうち１００％を占める場合であっても、バッファ１２４の前段の部分処理を一時的に待機させれば、第２処理部１２０による処理の実行に大きな影響はない。また、データ量が１００％を占めるバッファが複数になった場合にも、それぞれの前段にある部分処理を一時的に停止させれば、第２処理部１２０による処理の実行に大きな影響はない。ただし、記憶部１０２と第２処理部１２０のバッファとを含む全体の総データ量がその容量に対して占める割合がある程度大きくなると、どの部分処理を一時待機させても対処することが難しくなり、第２処理部１２０による処理全体に異常が生じることとなる。そこで、第２監視部１４２は、総データ量を示す出力情報１４２ａを監視結果として出力する。
【００３４】
なお、図６，７に示す例では、容量に対するデータ量の割合が示されていたが、これには限定されない。例えば、容量とデータ量とがバイト単位で示されてもよいし、空き容量の割合が示されてもよいし、その他の表現でデータ量に関する情報が示されてもよい。
【００３５】
図３に戻り、判定部１４３は、出力情報１４１ａ，１４２ａから、第１処理部１１０及び第２処理部１２０のバッファと記憶部１０２とが、第１処理部１１０及び第２処理部１２０の処理を正常に実行することができる状態にあるか否かを判定する。詳細には、判定部１４３は、第１処理部１１０のいずれか１つ以上のバッファに、予め定められた基準を超えるデータ量が格納されているかを判定することで、第１処理部１１０の処理が異常状態にあるかを判定する。また、判定部１４３は、記憶部１０２及び第２処理部１２０のバッファに格納されている総データ量が、予め定められた基準を超えるかを判定することにより、第２処理部１２０の処理が異常状態にあるかを判定する。判定部１４３は、請求項の判定手段として機能する。
【００３６】
制御部１５０は、判定部１４３による判定結果に基づいて、部分処理部１１１，１１３，１１５の動作を制御する。詳細には、制御部１５０は、部分処理部１１１，１１３，１１５の処理を実行する周期を一括して調整する。より詳細には、制御部１５０は、判定部１４３によって第１処理部１１０及び第２処理部１２０の少なくとも一方の処理が異常状態にあると判定されたときに、部分処理部１１１，１１３，１１５を制御して、これら部分処理部１１１，１１３，１１５の処理周期を現在の周期より遅い周期に変更させる。これらの周期が遅くなると、バッファ及び記憶部１０２からデータが溢れることを回避することができる。制御部１５０は、請求項の制御手段として機能する。
【００３７】
エラー管理部１６０は、判定部１４３によって異常と判定された結果であるエラー情報を管理する。詳細には、エラー管理部１６０は、エラー情報を蓄積して、外部からの要求に対し、蓄積されたエラー情報を提供する。また、エラー管理部１６０は、エラー情報をユーザへ通知する通知部１６１を有する。
【００３８】
通知部１６１は、判定部１４３による判定結果のユーザへの通知に関する設定を受け付けて、受け付けた設定に従って判定結果を通知する。通知部１６１によって受け付けられる設定は、例えば、監視対象のバッファ、通知のタイミング、画面上のポップアップ或いはファイルの保存先に代表される通知の提供方法、その他の設定である。通知部１６１は、請求項の通知手段として機能する。
【００３９】
続いて、データ処理装置１０のハードウェア構成について説明する。データ処理装置１０は、図８に示されるように、プロセッサ４１と、主記憶部４２と、補助記憶部４３と、入力部４４と、出力部４５と、通信部４６と、を有する。主記憶部４２、補助記憶部４３、入力部４４、出力部４５及び通信部４６はいずれも、内部バス４７を介してプロセッサ４１に接続される。
【００４０】
プロセッサ４１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ４１は、補助記憶部４３に記憶されるプログラムＰ１を実行することにより、データ処理装置１０の種々の機能を実現して、後述の処理を実行する。
【００４１】
主記憶部４２は、ＲＡＭ（Random Access Memory）を含む。主記憶部４２には、補助記憶部４３からプログラムＰ１がロードされる。そして、主記憶部４２は、プロセッサ４１の作業領域として用いられる。
【００４２】
補助記憶部４３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及びＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部４３は、プログラムＰ１の他に、プロセッサ４１の処理に用いられる種々のデータを記憶する。補助記憶部４３は、プロセッサ４１の指示に従って、プロセッサ４１によって利用されるデータをプロセッサ４１に供給し、プロセッサ４１から供給されたデータを記憶する。
【００４３】
入力部４４は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部４４は、データ処理装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ４１に通知する。
【００４４】
出力部４５は、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部４５は、プロセッサ４１の指示に従って、種々の情報をユーザに提示する。
【００４５】
通信部４６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部４６は、外部から信号を受信して、この信号により示されるデータをプロセッサ４１へ出力する。また、通信部４６は、プロセッサ４１から出力されたデータを示す信号を外部の装置へ送信する。
【００４６】
図８に示されるハードウェア構成が協働することにより、図３に示される種々の機能が実現される。詳細には、主として通信部４６が、取得部１０１及び出力部１３０を実現する。主としてプロセッサ４１が、部分処理部１１１，１１３，１１５，１２１，１２３，１２５、監視部１４０及び制御部１５０を実現する。主として主記憶部４２がバッファ１１２，１１４，１２２，１２４を実現する。主として補助記憶部４３が記憶部１０２を実現する。主としてプロセッサ４１、補助記憶部４３、入力部４４及び出力部４５がエラー管理部１６０を実現する。ただし、これに限定されず、図３に示される機能を実現するためのハードウェア構成を任意に変更してもよい。
【００４７】
続いて、データ処理装置１０によって実行される監視処理のフローについて、図９〜１４を用いて説明する。監視処理は、図２に示されるような処理をデータに施しつつ、その処理で生じた異常の有無を監視する処理である。
【００４８】
監視処理では、データ処理装置１０は、エラー通知に関する設定を受け付ける（ステップＳ１）。具体的には、通知部１６１が、設定の入力を促す画面を表示することにより、ユーザによって入力される設定を受け付ける。図１０には、この設定の一例が示されている。図１０の例では、第１処理部１１０のバッファ１１２，１１６の異常を通知して、第１処理部１１０のバッファ１１４と第２処理部１２０に関する異常を通知しないことが設定されている。
【００４９】
図９に戻り、ステップＳ１の次に、データ処理装置１０は、データの取得、第１処理部１１０及び第２処理部１２０の部分処理、並びにデータの出力を含む一連の処理を開始する（ステップＳ２）。具体的には、取得部１０１がデータの周期的な取得を開始する。これにより、第１処理部１１０、第２処理部１２０及び出力部１３０によるデータの反復処理も開始する。
【００５０】
ここで、第１処理部１１０の部分処理部１１１，１１３，１１５によって実行される部分処理と、第２処理部１２０の部分処理部１２１，１２３，１２５によって実行される部分処理と、について順に説明する。
【００５１】
図１１には、部分処理部１１１，１１３，１１５それぞれによって実行される部分処理としての第１部分処理が示されている。以下では、この第１部分処理について、実行主体が部分処理部１１３である場合を中心に説明する。
【００５２】
第１部分処理では、部分処理部１１３は、前段の部分処理の完了まで待機する（ステップＳ１１）。具体的には、部分処理部１１３は、部分処理部１１１による部分処理の処理結果としてのデータが前段のバッファ１１２に格納されるまで待機する。なお、第１部分処理の実行主体が部分処理部１１１である場合には、ステップＳ１１における前段の部分処理は、取得部１０１によるデータの取得に相当する。この場合には、ステップＳ１１にて、部分処理部１１１は、取得部１０１からデータが出力されるまで待機する。
【００５３】
次に、部分処理部１１３は、後段のバッファに空きがあるか否かを判定する（ステップＳ１２）。具体的には、部分処理部１１３は、処理結果のデータを格納することが可能な空き容量を後段のバッファ１１４が有しているか否かを確認する。なお、第１部分処理の実行主体が部分処理部１１５である場合には、ステップＳ１２における後段のバッファは、記憶部１０２に相当する。
【００５４】
ステップＳ１２にて後段のバッファに空きがあると判定した場合（ステップＳ１２；Ｙｅｓ）、部分処理部１１３は、前段のバッファからデータを取得する（ステップＳ１３）。具体的には、部分処理部１１３が、前段のバッファ１１２に格納されているデータのうち、部分処理部１１３による１回の部分処理の対象となるデータを読み出す。
【００５５】
次に、部分処理部１１３は、部分処理を実行する（ステップＳ１４）。具体的には、部分処理部１１３が、ステップＳ１３にて取得したデータに対して部分処理を施す。
【００５６】
次に、部分処理部１１３は、後段のバッファへデータを出力する（ステップＳ１５）。具体的には、部分処理部１１３が、処理結果を示すデータをバッファ１１４に格納する。なお、第１部分処理の実行主体が部分処理部１１５である場合には、ステップＳ１５における後段のバッファは、記憶部１０２に相当する。その後、部分処理部１１３は、ステップＳ１１以降の処理を繰り返す。
【００５７】
ステップＳ１２にて後段のバッファに空きがないと判定した場合（ステップＳ１２；Ｎｏ）、部分処理部１１３は、前段のバッファのデータを読み出して破棄する（ステップＳ１６）。その後、部分処理部１１３は、ステップＳ１１以降の処理を繰り返す。これにより、破棄されるデータに関しては、第１処理部１１０によるストリームデータ処理が正常に実行されることがないが、以降のデータに対して第１処理部１１０による処理を継続することができる。
【００５８】
図１１に示されるような第１部分処理を個別に実行することにより、部分処理部１１１，１１３，１１５はそれぞれ、他の部分処理部と通信して同期する必要はなく、単に前段のバッファと後段のバッファとを参照することで、部分処理を繰り返し実行することができる。そして、ステップＳ１１からステップＳ１６までの一連の処理が１回実行されるのにかかる時間より長い時間が、取得部１０１によるデータ取得の周期Ｔ１として設定される。これにより、部分処理部１１１，１１３，１１５それぞれの反復処理は、周期Ｔ１と同等の周期で実行されることとなる。
【００５９】
続いて、部分処理部１２１，１２３，１２５それぞれによって実行される部分処理としての第２部分処理について、図１２を用いて説明する。図１２に示されるように、第２部分処理では、図１１に示されるステップＳ１１〜Ｓ１５と同等のステップＳ２１〜Ｓ２５が実行される。以下では、第２部分処理の実行主体が部分処理部１２３である場合を中心に説明する。
【００６０】
第２部分処理では、部分処理部１２３は、前段の部分処理の完了まで待機する（ステップＳ２１）。具体的には、部分処理部１２３は、部分処理部１２１による部分処理の処理結果としてのデータが前段のバッファ１２２に格納されるまで待機する。なお、第２部分処理の実行主体が部分処理部１２１である場合には、ステップＳ２１における前段の部分処理は、第１処理部１１０による処理に相当する。この場合には、ステップＳ２１にて、部分処理部１２１は、記憶部１０２に処理結果のデータが格納されるまで待機する。
【００６１】
次に、部分処理部１２３は、後段のバッファに空きがあるか否かを判定する（ステップＳ２２）。具体的には、部分処理部１２３は、処理結果のデータを格納することが可能な空き容量を後段のバッファ１２４が有しているか否かを確認する。なお、第２部分処理の実行主体が部分処理部１２５である場合には、ステップＳ２２を省略してもよい。
【００６２】
ステップＳ２２にて後段のバッファに空きがあると判定した場合（ステップＳ２２；Ｙｅｓ）、部分処理部１２３は、前段のバッファからデータを取得する（ステップＳ２３）。具体的には、部分処理部１２３が、前段のバッファ１２２に格納されているデータのうち、部分処理部１２３による１回の部分処理の対象となるデータを読み出す。
【００６３】
次に、部分処理部１２３は、部分処理を実行する（ステップＳ２４）。具体的には、部分処理部１２３が、ステップＳ２３にて取得したデータに対して部分処理を施す。
【００６４】
次に、部分処理部１２３は、後段のバッファへデータを出力する（ステップＳ２５）。具体的には、部分処理部１２３が、処理結果を示すデータをバッファ１２４に格納する。なお、第１部分処理の実行主体が部分処理部１２５である場合には、ステップＳ２５における後段のバッファは、出力部１３０に相当する。その後、部分処理部１２３は、ステップＳ２１以降の処理を繰り返す。
【００６５】
ステップＳ２２にて後段のバッファに空きがないと判定した場合（ステップＳ２２；Ｎｏ）、部分処理部１２３は、部分処理を実行することなく、処理をステップＳ２１へ移行する。このため、後段のバッファに空きがあると判定するまで、部分処理の実行を待機することとなる。
【００６６】
図１２に示されるような第２部分処理を個別に実行することにより、部分処理部１２１，１２３，１２５はそれぞれ、他の部分処理部と通信する必要はなく、単に前段のバッファと後段のバッファとを参照することで、部分処理を繰り返し実行することができる。また、第２部分処理では、リアルタイム性を保証するためにデータを破棄することはなく、単に後段のバッファに空きが生じるまで待機する。このため、設計自由度が高く、ユーザは多様な部分処理を設計することができる。
【００６７】
図９に戻り、ステップＳ２に続いて、データ処理装置１０は、第１処理部１１０及び第２処理部１２０のバッファ及び記憶部１０２に格納されているデータ量に関する情報を出力する（ステップＳ３）。具体的には、第１監視部１４１及び第２監視部１４２が出力情報を出力する。
【００６８】
次に、データ処理装置１０は、ステップＳ３にて出力される情報から異常の有無を判定する（ステップＳ４）。具体的には、判定部１４３が、出力情報に基づいてバッファ及び記憶部１０２の異常の有無を判定する。図１３には、判定部１４３が異常の有無を判定するための異常判定条件が例示されている。図１３の例では、バッファ１１２，１１４，１１６それぞれについて、データ量が７０％の閾値を超えると異常であると判定され、記憶部１０２と第２処理部１２０のバッファとの総データ量が５０％の閾値を超えると異常であると判定される。これらの閾値は、予め規定された固定値であってもよいし、ユーザによって変更される値であってもよい。
【００６９】
図９に戻り、ステップＳ４にて異常がないと判定した場合（ステップＳ４；Ｎｏ）、データ処理装置１０は、ステップＳ３以降の処理を繰り返す。一方、ステップＳ４にて異常があると判定した場合（ステップＳ４；Ｙｅｓ）、データ処理装置１０は、設定に従って通知の有無を判定する（ステップＳ５）。具体的には、通知部１６１が、ステップＳ１にて受け付けた設定内容に従って、ステップＳ４にて発生したと判定された異常の内容をユーザに通知するか否かを決定する。
【００７０】
異常を通知しないと判定した場合（ステップＳ５；Ｎｏ）、データ処理装置１０は、処理をステップＳ７へ移行する。一方、異常を通知すると判定した場合（ステップＳ５；Ｙｅｓ）、データ処理装置１０は、ユーザに異常を通知する（ステップＳ６）。これにより、ユーザは、異常の発生を認識して、適当な対処をすることができる。
【００７１】
次に、データ処理装置１０は、エラー情報を蓄積する（ステップＳ７）。具体的には、エラー管理部１６０が、ステップＳ４にて発生したと判定された異常の内容を記憶する。図１４には、エラー管理部１６０によって蓄積されたエラー情報を示す異常発生履歴のテーブルが例示されている。エラー管理部１６０は、ステップＳ４にて異常があると判定されるたびに、このテーブルに異常の内容を追加することとなる。
【００７２】
次に、データ処理装置１０は、第１処理部１１０の動作を制御する（ステップＳ８）。具体的には、制御部１５０が、取得部１０１から第１処理部１１０へのデータの伝送頻度を予め定められた値まで下げることにより、部分処理部１１１，１１３，１１５の実行速度を低下させる。この制御には、予め定められた長さの継続時間が設定されて、継続時間が経過したときには制御が解除されてもよい。継続時間の長さは、例えば１分間である。
【００７３】
その後、データ処理装置１０は、ステップＳ３以降の処理を繰り返す。これにより、異常が生じたときには、第１処理部１１０の処理速度が低下する。このため、第１処理部１１０のバッファのデータ量は、バッファ１１２から順に減少する。また、記憶部１０２への新たなデータの書き込み速度が低下し、第２処理部１２０のバッファのデータ量も減少する。その結果、第１処理部１１０及び第２処理部１２０のバッファ及び記憶部１０２に格納されているデータ量が減少して、異常状態が解消する。
【００７４】
以上、説明したように、データ処理装置１０は、前段の第１処理部１１０に関しては、バッファ１１２，１１４それぞれに格納されているデータの量を監視し、後段の第２処理部１２０に関しては、バッファ１２２，１２４及び記憶部１０２に格納されているデータの総量を監視する。したがって、両処理部の特性に合った情報をユーザに提供できるため、ユーザは、第１処理手段及び第２処理手段の処理状況を適切に把握し、処理設定の見直しに活用することができる。
【００７５】
また、データ処理装置１０は、前段の第１処理部１１０に関しては、バッファ１１２，１１４それぞれに格納されているデータの量に関する情報を出力し、後段の第２処理部１２０に関しては、バッファ１２２，１２４に格納されているデータの総量に関する情報を出力する。第２処理部１２０では、個々のバッファのデータ量に着目する必要はないが、総データ量がある程度大きくなると処理の進行に影響が及ぶ。このため、総データ量に関する情報は、データ処理の状況を適当に表す情報といえる。したがって、データ処理の状況を適当に表す監視結果を得ることができる。
【００７６】
また、データ処理装置は、第１処理部１１０と第２処理部１２０との間の境界バッファとして記憶部１０２を備え、第２監視部１４２は、第２処理部１２０のバッファ１２２，１２４及び記憶部１０２に格納されているデータの総量に関する情報を出力する。これにより、第１処理部１１０の処理と第２処理部１２０との処理をスムースに接続することができる。また、記憶部１０２のデータ量がある程度多くなると、第２処理部１２０による処理に影響が及ぶことから、第２監視部１４２から出力される情報は、第２処理部１２０による処理の状況を適当に表すものとして利用することができる。
【００７７】
また、記憶部１０２の容量は、第１処理部１１０及び第２処理部１２０のバッファのいずれの容量よりも大きい。これにより、第２処理部１２０では、第１処理部１１０より多様な部分処理を実行することが可能になる。
【００７８】
また、監視部１４０は、第１処理部１１０及び第２処理部１２０の処理が異常状態にあるかを判定する判定部１４３を有する。これにより、データ処理装置１０は、処理の異常を判定することができる。
【００７９】
また、データ処理装置１０は、判定結果の通知に関する設定を受け付けて、当該設定に従って判定結果を通知する通知部１６１を備える。これにより、ユーザは、予め設定をすることで、自らが望む場合に限って異常状態の判定結果を通知させることができる。
【００８０】
また、データ処理装置１０は、第１処理部１１０の動作を制御する制御部１５０を備える。これにより、バッファ及び記憶部１０２の状況に応じて異常状態を解消し、データ処理装置１０によるデータ処理を継続することができる。
【００８１】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【００８２】
例えば、データ処理装置１０は、製造ラインからデータを収集して、この製造ラインの機器２２にデータを出力したが、これには限定されない。データ処理装置１０によるデータの処理は、生産システム、加工システム又は検査システムに適用してもよいし、工場以外の施設に適用してもよい。工場以外の施設としては、例えばプラント、オフィス又は公共施設が考えられる。さらに、データ処理装置１０を車両、航空機及び船に代表される移動体に適用してもよい。
【００８３】
また、上記実施の形態では、取得部１０１がネットワーク２０を介してデータを繰り返し取得したが、これには限定されない。取得部１０１は、専用線を介してデータを取得してもよい。また、取得部１０１は、外部記憶装置又は補助記憶部４３からデータを読み出すことによりデータを取得してもよい。さらに取得部１０１は、その他の手法によりデータを取得してもよい。
【００８４】
また、上記実施の形態では、出力部１３０がネットワーク２０を介して制御命令を出力したが、これには限定されない。出力部１３０は、専用線を介してデータを出力してもよい。また、出力部１３０によって出力されるデータは、機器２２の制御とは異なる用途に利用されてもよく、例えば、生産管理情報又は品質管理情報として蓄積されてもよいし、製造ラインの運用状態を示す情報としてユーザに通知されてもよい。
【００８５】
また、上記実施の形態では、図２に示すように、比較的簡単な処理フローを扱ったが、これには限定されない。処理フローは、図１５に例示するように、１つの部分処理から複数の部分処理へデータを伝送する分岐経路、及び、複数の部分処理から１つの部分処理へデータを伝送する集約経路を含んでいてもよい。
【００８６】
また、上記実施の形態では、データの外部からの取得と第１処理とを別個の処理として扱い、第２処理とデータの外部への出力とを別個の処理として扱ったが、これには限定されない。図１６に示されるように、データを外部から取得する部分処理が第１処理に含まれていてもよいし、データを外部に出力する部分処理が第２処理に含まれていてもよい。
【００８７】
また、上記実施の形態では、制御部１５０の制御対象が第１処理部１１０に限られていたが、制御部１５０は、図１７に示されるように、第２処理部１２０の部分処理部１２１，１２３，１２５を制御してもよい。詳細には、制御部１５０は、部分処理部１２１，１２３，１２５のいずれか１つ以上に部分処理の実行を一時的に停止させてもよい。部分処理部１２１，１２３，１２５は、同期して部分処理を実行する必要がないため、制御部１５０は、部分処理部１２１，１２３，１２５を一括して制御しなくともよい。また、制御部１５０は、第１処理部１１０及び第２処理部１２０の少なくとも一方の動作を制御してもよい。
【００８８】
また、上記実施の形態では、監視部１４０が判定部１４３を有していたが、これには限定されない。例えば、図１８に示されるように、制御部１５０と通知部１６１とがそれぞれ判定部１４３を有し、制御部１５０の判定部１４３による判定条件と、通知部１６１の判定部１４３による判定条件とが異なっていてもよい。通知部１６１が判定部１４３を有する場合には、通知部１６１が受け付ける設定に、判定部１４３による異常の判定条件を含めてもよい。
【００８９】
また、図１９に示されるように、第１監視部１４１及び第２監視部１４２から情報をデータ処理装置１０の外部に直接出力する形態も考えられる。図１９の例では、端末５０が、第１監視部１４１から出力される出力情報１４１ａの内容と、第２監視部１４２から出力される出力情報１４２ａの内容と、をユーザに対して表示する。これにより、ユーザは、バッファ及び記憶部１０２に格納されているデータ量が異常とされる状態になっているかを判断して、手動により第１処理部１１０及び第２処理部１２０の動作を調整してもよい。
【００９０】
また、上記実施の形態では、第１監視部１４１が第１処理部１１０のバッファ１１２，１１４を監視する例について説明したが、第１監視部１４１は、図２０に示されるように、記憶部１０２のデータ量をさらに監視してもよい。記憶部１０２のデータ量は、第１処理部１１０の処理にも影響を与えることから、第１監視部１４１の監視対象に記憶部１０２のデータ量を含めれば、より適切な処理状況の結果を得ることができる。
【００９１】
さらに、監視部１４０をデータ処理装置１０とは別個の装置として構成する形態も考えられる。ただし、この場合には、データ処理装置１０が、第１処理部１１０及び第２処理部１２０のバッファと記憶部１０２とのデータ量を外部へほぼリアルタイムに通知するための構成が必要になる。
【００９２】
また、上記実施の形態に係る記憶部１０２は、第２処理部１２０を構成したが、第１処理部１１０及び第２処理部１２０とは別個の構成として設けられてもよいし、第１処理部１１０が記憶部１０２を含んでもよい。また、上記実施の形態に係る第２監視部１４２は、バッファ１２２，１２４それぞれのデータ量を監視対象から外していたが、各バッファのデータ量を監視してもよい。
【００９３】
また、データ処理装置１０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００９４】
例えば、プロセッサ４１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００９５】
また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００９６】
また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００９７】
さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００９８】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合等には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００９９】
また、データ処理装置１０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【０１００】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【０１０１】
本発明は、データの処理に適している。
【符号の説明】
【０１０２】
１００  処理システム、  １０  データ処理装置、  １０１  取得部、  １０２  記憶部、  １１０  第１処理部、  １１１，１１３，１１５，１２１，１２３，１２５  部分処理部、  １１２，１１４，１１６，１２２，１２４，１２６  バッファ、  １２０  第２処理部、  １３０  出力部、  １４０  監視部、  １４１  第１監視部、  １４１ａ，１４２ａ  出力情報、  １４２  第２監視部、  １４３  判定部、  １５０  制御部、  １６０  エラー管理部、  １６１  通知部、  ２０  ネットワーク、  ２１，２２  機器、  ３００  データ処理、  ３０１  データ取得、  ３１０  第１処理、  ３１１，３１３，３１５，３２１，３２３，３２５  部分処理、  ３２０  第２処理、  ３３０  データ出力、  ４１  プロセッサ、  ４２  主記憶部、  ４３  補助記憶部、  ４４  入力部、  ４５  出力部、  ４６  通信部、  ４７  内部バス、  ５０  端末、  Ｐ１  プログラム。
【図１】
2019207773.tif 000003
【図２】
2019207773.tif 000004
【図３】
2019207773.tif 000005
【図４】
2019207773.tif 000006
【図５】
2019207773.tif 000007
【図６】
2019207773.tif 000008
【図７】
2019207773.tif 000009
【図８】
2019207773.tif 000010
【図９】
2019207773.tif 000011
【図１０】
2019207773.tif 000012
【図１１】
2019207773.tif 000013
【図１２】
2019207773.tif 000014
【図１３】
2019207773.tif 000015
【図１４】
2019207773.tif 000016
【図１５】
2019207773.tif 000017
【図１６】
2019207773.tif 000018
【図１７】
2019207773.tif 000019
【図１８】
2019207773.tif 000020
【図１９】
2019207773.tif 000021
【図２０】
2019207773.tif 000022
【手続補正書】
【提出日】令和1年10月31日(2019.10.31)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
上記目的を達成するため、本発明のデータ処理装置は、工場において収集されたデータに対しリアルタイム処理を施す第１処理手段と、第１処理手段から処理結果として出力されるデータに対しバッチ処理を施す第２処理手段と、第１処理手段及び第２処理手段による処理の状況を監視する監視手段と、を備え、第１処理手段及び第２処理手段はそれぞれ、データに施される処理を構成する部分処理を実行する複数の部分処理手段と、部分処理手段それぞれから出力されるデータを記憶する複数のバッファと、を有し、第２処理手段は、第１処理手段から出力されるデータを記憶して、記憶するデータを第２処理手段のいずれかの部分処理手段に提供する記憶手段、をさらに有し、監視手段は、第１処理手段のバッファそれぞれに記憶されているデータの量を監視する第１監視手段と、第２処理手段の複数のバッファ及び記憶手段に記憶されているデータの総量を監視する第２監視手段と、第１監視手段及び第２監視手段による監視の結果に基づき、第１処理手段及び第２処理手段の少なくとも一方による処理が予め規定された異常状態にあるか否かを判定する判定手段と、を有する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
工場において収集されたデータに対しリアルタイム処理を施す第１処理手段と、
前記第１処理手段から処理結果として出力されるデータに対しバッチ処理を施す第２処理手段と、
前記第１処理手段及び前記第２処理手段による処理の状況を監視する監視手段と、
を備え、
前記第１処理手段及び前記第２処理手段はそれぞれ、
データに施される処理を構成する部分処理を実行する複数の部分処理手段と、
前記部分処理手段それぞれから出力されるデータを記憶する複数のバッファと、を有し、
前記第２処理手段は、前記第１処理手段から出力されるデータを記憶して、記憶するデータを前記第２処理手段のいずれかの前記部分処理手段に提供する記憶手段、をさらに有し、
前記監視手段は、
前記第１処理手段の前記バッファそれぞれに記憶されているデータの量を監視する第１監視手段と、
前記第２処理手段の複数の前記バッファ及び前記記憶手段に記憶されているデータの総量を監視する第２監視手段と、
前記第１監視手段及び前記第２監視手段による監視の結果に基づき、前記第１処理手段及び前記第２処理手段の少なくとも一方による処理が予め規定された異常状態にあるか否かを判定する判定手段と、を有する、データ処理装置。
【請求項２】
前記第１監視手段は、前記記憶手段に記憶されているデータの量を監視する、
請求項１に記載のデータ処理装置。
【請求項３】
前記記憶手段の容量は、前記第１処理手段及び前記第２処理手段の前記バッファのいずれの容量よりも大きい、
請求項１又は２に記載のデータ処理装置。
【請求項４】
前記判定手段による判定結果のユーザへの通知に関する設定を受け付けて、受け付けた設定に従って判定結果を通知する通知手段、をさらに備える、
請求項１から３のいずれか一項に記載のデータ処理装置。
【請求項５】
前記第１監視手段及び前記第２監視手段による監視の結果に基づいて前記第１処理手段及び前記第２処理手段の少なくとも一方の動作を制御する制御手段、をさらに備える、
請求項１から４のいずれか一項に記載のデータ処理装置。
【請求項６】
工場において収集されたデータに対しリアルタイム処理を施す第１処理に含まれる複数のバッファリング工程それぞれのバッファリングデータの量を監視する第１監視ステップと、
前記第１処理の処理結果を示すデータに対しバッチ処理を施す第２処理に含まれる複数のバッファリング工程のバッファリングデータの総量を監視する第２監視ステップと、
前記第１監視ステップ及び前記第２監視ステップによる監視の結果に基づき、前記第１処理及び前記第２処理の少なくとも一方による処理が予め規定された異常状態にあるか否かを判定する判定ステップと、
を含む監視方法。
【請求項７】
コンピュータに、
工場において収集されたデータに対しリアルタイム処理を施す第１処理に含まれる複数のバッファリング工程それぞれのバッファリングデータの量を監視し、
前記第１処理の処理結果を示すデータに対しバッチ処理を施す第２処理に含まれる複数のバッファリング工程のバッファリングデータの総量を監視し、
前記第１処理に含まれる複数のバッファリング工程それぞれのバッファリングデータの量の監視の結果と前記第２処理に含まれる複数のバッファリング工程のバッファリングデータの総量の監視の結果とに基づき、前記第１処理及び前記第２処理の少なくとも一方による処理が予め規定された異常状態にあるか否かを判定する、
ことを実行させるためのプログラム。
【国際調査報告】
2019207773.tif 000023
2019207773.tif 000024