(57)【特許請求の範囲】
【請求項１】
データに施されるデータ処理の設定を受け付ける受付手段と、
前記受付手段によって受け付けられた前記設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶する記憶手段と、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定手段と、
前記判定手段によって前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御手段と、
を備え、
前記受付手段は、前記第１処理情報から前記第１冗長符号を算出することで生成した前記設定情報を前記記憶手段に書き込む、データ処理装置。
【請求項２】
前記データ処理は、データに施される一連の部分処理を含み、
前記処理手段は、前記部分処理を実行する、
請求項１に記載のデータ処理装置。
【請求項３】
前記第２算出符号は、前記処理手段を実現するためのプログラムから算出される、
請求項１又は２に記載のデータ処理装置。
【請求項４】
データに施されるデータ処理の設定を受け付ける受付手段と、
前記受付手段によって受け付けられた前記設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶する記憶手段と、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定手段と、
前記判定手段によって前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御手段と、
を備え、
前記受付手段は、前記第２処理情報に基づいて前記第２冗長符号を算出することで生成した前記設定情報を前記記憶手段に書き込む、データ処理装置。
【請求項５】
データに施されるデータ処理の設定を受け付ける受付手段と、
前記受付手段によって受け付けられた前記設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶する記憶手段と、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定手段と、
前記判定手段によって前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御手段と、
を備え、
前記受付手段は、前記第１正当性及び前記第２正当性の有無を判定するための判定情報を受け付け、
前記判定手段は、前記判定情報に基づいて前記第１正当性及び前記第２正当性の有無を判定する、データ処理装置。
【請求項６】
データ処理装置によって実行されるデータ処理方法であって、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込む受付ステップと、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定ステップと、
前記判定ステップにおいて前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御ステップと、
を含み、
前記受付ステップでは、前記第１処理情報から前記第１冗長符号を算出することで生成した前記設定情報を前記記憶手段に書き込む、データ処理方法。
【請求項７】
データ処理装置によって実行されるデータ処理方法であって、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込む受付ステップと、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定ステップと、
前記判定ステップにおいて前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御ステップと、
を含み、
前記受付ステップでは、前記第２処理情報に基づいて前記第２冗長符号を算出することで生成した前記設定情報を前記記憶手段に書き込む、データ処理方法。
【請求項８】
データ処理装置によって実行されるデータ処理方法であって、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込む受付ステップと、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定する判定ステップと、
前記判定ステップにおいて前記第１正当性があり、前記第２正当性があると判定された場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる制御ステップと、
を含み、
前記受付ステップでは、前記第１正当性及び前記第２正当性の有無を判定するための判定情報を受け付け、
前記判定ステップでは、前記判定情報に基づいて前記第１正当性及び前記第２正当性の有無を判定する、データ処理方法。
【請求項９】
コンピュータに、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込み、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定し、
前記第１正当性があり、前記第２正当性があると判定した場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる、
ことを実行させ、
前記設定情報は、前記第１処理情報から前記第１冗長符号を算出することで生成されて前記記憶手段に書き込まれる、プログラム。
【請求項１０】
コンピュータに、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込み、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較に基づいて前記設定情報の第１正当性の有無を判定し、前記処理手段に関する第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較に基づいて判定し、
前記第１正当性があり、前記第２正当性があると判定した場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる、
ことを実行させ、
前記設定情報は、前記第２処理情報に基づいて前記第２冗長符号を算出することで生成されて前記記憶手段に書き込まれる、プログラム。
【請求項１１】
コンピュータに、
データに施されるデータ処理の設定を受け付けて、該設定を示す第１処理情報であって、前記データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む前記第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶手段に書き込み、
前記設定情報の第１正当性及び前記処理手段に関する第２正当性の有無を判定するための判定情報を受け付け、
前記第１処理情報から算出される第１算出符号と前記第１冗長符号との比較及び前記判定情報に基づいて前記第１正当性の有無を判定し、前記第２正当性の有無を、前記第２処理情報に基づいて算出される第２算出符号と前記第２冗長符号との比較及び前記判定情報に基づいて判定し、
前記第１正当性があり、前記第２正当性があると判定した場合に、前記処理手段にデータを送出することで前記処理手段に前記データ処理を実行させる、
ことを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法及びプログラムに関する。
【背景技術】
【０００２】
工場に代表される施設では、生産工程、検査工程、その他の種々の工程を実現するために、施設内からリアルタイムに収集したデータを処理することが広く行われている。このデータに対して実行すべき処理の内容は、現場の要求に応じて設定される。ここで、設定された処理内容の改竄、機器の不具合によるデータ破損、及び設定者の権限に応じたデータ改変内容の確認不足に代表される不測の事態に備えて、実行すべき処理の正当性を保証することが好ましい。そこで、実行すべき処理の正当性を保証する手段としてデータの改竄を検証する技術を利用することが考えられる（例えば、特許文献１を参照）。【０００３】
特許文献１には、ＭＰＵチップのセキュリティ機能モジュール内で実行するデータ処理に適用するプログラムを含む秘密情報を、上記モジュールに格納された機器鍵を適用した暗号化データとして、改竄検証値を付与して外部記憶手段に格納する技術について記載されている。この技術によれば、ＭＰＵチップの上記モジュールによって利用されるプログラムの改竄を検証することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２２７９９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術によりプログラムの改変を検証することは可能であるが、処理内容の正当性を保証するためには、プログラムの改変ばかりではなくプログラムに与える設定情報の正当性も保証することが必要である。例えば、複数のプログラムを予め準備し、ユーザの設定に基づいて選択されたプログラムにデータを与えて処理させる場合がある。このような場合において、特許文献１に記載の技術によりプログラムが改変されていないことが検証されたとしても、ユーザの意図とは異なる他のプログラムが実行されるように設定が書き換えられてしまうことがある。また、設定が同一であっても、設定により示される名称の他のプログラムにデータを処理させてしまうことがあり、ユーザの望む結果が得られないおそれがある。したがって、データに対して実行すべき処理の正当性をより確実に保証する余地がある。【０００６】
本発明は、上記の事情に鑑みてなされたものであり、データに対して実行すべき処理の正当性をより確実に保証することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のデータ処理装置は、データに施されるデータ処理の設定を受け付ける受付手段と、受付手段によって受け付けられた設定を示す第１処理情報であって、データ処理を実行する処理手段に関する第２処理情報と、該第２処理情報に対応する第２冗長符号と、を含む第１処理情報と、該第１処理情報に対応する第１冗長符号と、を含む設定情報を記憶する記憶手段と、第１処理情報から算出される第１算出符号と第１冗長符号との比較に基づいて設定情報の第１正当性の有無を判定し、処理手段に関する第２正当性の有無を、第２処理情報に基づいて算出される第２算出符号と第２冗長符号との比較に基づいて判定する判定手段と、判定手段によって第１正当性があり、第２正当性があると判定された場合に、処理手段にデータを送出することで処理手段にデータ処理を実行させる制御手段と、を備え、受付手段は、第１処理情報から第１冗長符号を算出することで生成した設定情報を記憶手段に書き込む。
【発明の効果】
【０００８】
本発明によれば、判定手段が、設定情報の第１正当性の有無を判定し、処理手段に関する第２正当性の有無を判定する。これにより、第１正当性と第２正当性との一方が保証される状態を保ったままデータの処理内容が改変された場合であっても、他方の正当性の有無を判定することで、処理内容の正当性を保証することができる。したがって、データに対して実行すべき処理の正当性をより確実に保証することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に係るデータ処理システムの構成を示すブロック図
【図２】実施の形態１に係るデータ処理装置のハードウェア構成を示す図
【図３】実施の形態１に係るデータ処理の設定の一例を示す図
【図４】実施の形態１に係るデータ処理装置の機能的な構成を示す図
【図５】実施の形態１に係る設定情報の構成を模式的に示す図
【図６】実施の形態１に係る設定情報の構成をテーブル形式で示す図
【図７】実施の形態１に係る設定処理を示すフローチャート
【図８】実施の形態１に係る認証処理を示すフローチャート
【図９】実施の形態１に係るデータ処理装置によって検知される不正なデータ処理の第１の例を示す図
【図１０】実施の形態１に係るデータ処理装置によって検知される不正なデータ処理の第２の例を示す図
【図１１】実施の形態１に係るデータ処理装置によって検知される不正なデータ処理について説明するための図
【図１２】実施の形態２に係る入力処理を示すフローチャート
【図１３】実施の形態２に係る設定処理を示すフローチャート
【図１４】変形例に係るデータ処理装置の構成を示す図
【図１５】変形例に係るデータ処理を示す図
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態に係るデータ処理装置１０について、図面を参照しつつ詳細に説明する。
【００１１】
実施の形態１．
本実施の形態に係るデータ処理装置１０は、例えば、工場に配置されるＩＰＣ（Industrial Personal Computer）である。データ処理装置１０は、図１に示されるように、工場の製造ラインに配置された機器２１，２２と産業用のネットワーク２０を介して接続され、データの処理の設定を入力するための入力装置１０１と接続される。データ処理装置１０は、入力装置１０１及び機器２１，２２とともにＦＡ（Factory Automation）システムとしてのデータ処理システム１００を構成する。そして、データ処理装置１０は、ネットワーク２０を介して機器２１から収集したデータを処理して、処理結果に応じた制御命令を機器２２に出力する。機器２１は、センサであって、機器２２は、アクチュエータ又はロボットである。
【００１２】
データ処理装置１０によるデータの処理内容については、現場の要求に応じて異なる内容が設定される。データ処理装置１０は、設定された処理内容の正当性を評価して、この処理内容が設定されてから実行されるまでに改変されていないことを保証する。ここで、データ処理装置１０による評価の対象は、処理内容の妥当性、信頼性、完全性、正確性或いは有効性であってもよい。また、処理内容の改変は、第三者の悪意による改竄、データ処理装置１０のユーザの操作ミスに代表される意図しない変更、及び、データ処理装置１０の故障によって処理内容を示すデータが破損することを含む。
【００１３】
ここで、データ処理装置１０によって保証される正当性は、実行すべき処理が、データ処理装置１０の運用において意図されたものであることを意味する。例えば、悪意を有する第三者によって処理内容が書き換えられた場合には、処理内容が運用において意図されたものとは異なるため、正当性がない。また、データ処理装置１０の故障により処理内容の設定が適当になされない場合には、実行される処理が意図されたものと異なってしまうため、正当性がない。
【００１４】
データ処理装置１０は、そのハードウェア構成として、図２に示されるように、プロセッサ１１と、主記憶部１２と、補助記憶部１３と、入力部１４と、出力部１５と、通信部１６と、を有する。主記憶部１２、補助記憶部１３、入力部１４、出力部１５及び通信部１６はいずれも、内部バス１７を介してプロセッサ１１に接続される。
【００１５】
プロセッサ１１は、ＣＰＵ（Central Processing Unit）を含む。プロセッサ１１は、補助記憶部１３に記憶されるプログラムＰ１を実行することにより、データ処理装置１０の種々の機能を実現して、後述の処理を実行する。
【００１６】
主記憶部１２は、ＲＡＭ（Random Access Memory）を含む。主記憶部１２には、補助記憶部１３からプログラムＰ１がロードされる。そして、主記憶部１２は、プロセッサ１１の作業領域として用いられる。
【００１７】
補助記憶部１３は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）及びＨＤＤ（Hard Disk Drive）に代表される不揮発性メモリを含む。補助記憶部１３は、プログラムＰ１の他に、プロセッサ１１の処理に用いられる種々のデータを記憶する。補助記憶部１３は、プロセッサ１１の指示に従って、プロセッサ１１によって利用されるデータをプロセッサ１１に供給し、プロセッサ１１から供給されたデータを記憶する。なお、図２では、１つのプログラムＰ１が代表的に示されているが、補助記憶部１３は、複数のプログラムを記憶してもよいし、主記憶部１２には、複数のプログラムがロードされてもよい。
【００１８】
入力部１４は、入力キー及びポインティングデバイスに代表される入力デバイスを含む。入力部１４は、データ処理装置１０のユーザによって入力された情報を取得して、取得した情報をプロセッサ１１に通知する。
【００１９】
出力部１５は、ＬＣＤ（Liquid Crystal Display）及びスピーカに代表される出力デバイスを含む。出力部１５は、プロセッサ１１の指示に従って、種々の情報をユーザに提示する。
【００２０】
通信部１６は、外部の装置と通信するためのネットワークインタフェース回路を含む。通信部１６は、外部から信号を受信して、この信号により示されるデータをプロセッサ１１へ出力する。また、通信部１６は、プロセッサ１１から出力されたデータを示す信号を外部の装置へ送信する。
【００２１】
図２に示されるハードウェア構成が協働することにより、データ処理装置１０は、データの処理を含む種々の機能を発揮する。データ処理装置１０によるデータの処理は、図３に例示されるように、順次実行される一連の部分処理３０，３１，３２，３３，３４を含むデータ処理３００として、ユーザによって任意に規定される。
【００２２】
データ処理３００は、機器２１から出力されたデータに対し順次施される部分処理３０〜３４を含む処理フローである。詳細には、データ処理３００は、データ処理３００が施されるデータを収集する部分処理３０と、部分処理３１〜３３と、データ処理３００の結果を示すデータを出力する部分処理３４と、をこの順で実行することにより達成される。図３中の矢印は、各部分処理の対象であるデータの伝送を示す。例えば、部分処理３０の実行によりデータ処理装置１０の外部から取得されたデータが部分処理３１に入力され、このデータに対して部分処理３１が施される。また、部分処理３１の処理結果を示すデータが部分処理３１から出力されてから部分処理３２に入力され、このデータに対して部分処理３２が施される。そして、部分処理３３の処理結果を示すデータが、部分処理３３から出力され、部分処理３４の処理対象となってデータ処理装置１０の外部へ出力される。
【００２３】
部分処理３０は、図１に示されるネットワーク２０を介して機器２１から信号を受信することでデータを収集する処理に相当する。機器２１はセンシング結果を示すデータを周期的に送信するため、部分処理３０は、周期的に実行される。この周期は、例えば１０ｍｓ、１００ｍｓ又は１ｓｅｃである。また、センシング結果を示すデータは、例えば８ビット又は１６ビットのデジタル値である。
【００２４】
部分処理３１〜３３はそれぞれ、部分処理３０の実行に応じて繰り返し実行される処理である。部分処理３１〜３３はそれぞれ、例えば、移動平均の算出処理、処理対象の値が予め規定された閾値を超えるか否かを判定する判定処理、及び、図１中の機器２２に対する制御命令の内容を決定する処理である。これらの部分処理３１〜３３によれば、センシング結果から移動平均によりノイズを除去して得る値が閾値を超えたときに限って特定の制御命令を出力することができる。
【００２５】
ただし、部分処理３１〜３３は、上述の処理に限定されない。例えば、部分処理３１〜３３は、値を予め定められた範囲内に収める端数処理若しくは正規化処理、入力値に予め規定された定数を乗じるスケーリング処理、予め規定されたオフセット値を加算するシフト処理、移動平均の算出処理とは異なるフィルタ処理若しくは統計処理、又は、ＦＦＴ（Fast Fourier Transform）に代表される変換処理であってもよいし、他の加工処理又は診断処理であってもよいし、その他の処理であってもよい。
【００２６】
部分処理３４は、図１に示されるネットワーク２０を介して部分処理３３の処理結果を機器２２に送信する処理に相当する。なお、部分処理３４は、機器２２へのデータの送信に限られず、予め指定されたプログラムの実行指令の出力、データ処理３００を実行した結果の画面への表示、他の装置への情報の送信、又はその他の出力処理であってもよい。以下では、データ処理３００の実行により得たデータを機器２２へ制御命令として出力する例を中心に説明する。
【００２７】
部分処理３０〜３４はそれぞれ、繰り返し入力されるデータに対応して逐次実行される。例えば、一のデータに対して部分処理３０〜３４が順に実行され、次のデータに対して部分処理３０〜３４が順に実行される。なお、一のデータに対する部分処理３０〜３４と、次のデータに対する部分処理３０〜３４とは、並列に実行される。換言すると、一のデータに対するデータ処理３００が完了する前に次のデータに対するデータ処理３００が開始する。ただし、これに限定されるものではなく、データ処理３００は、逐次的に実行されてもよい。また、図３では、データ処理３００を構成する５つの部分処理３０〜３４が代表的に示されているが、部分処理の数は、４つ以下であってもよいし、６つ以上であってもよい。
【００２８】
データ処理装置１０は、図３に示されるデータ処理３００を実行するために、図４に示されるような機能的な構成を有する。詳細には、データ処理装置１０は、データ処理の設定を受け付ける受付部１２０と、部分処理を実行することでデータ処理を実行する処理部１３１，１３２，１３３と、データ処理の実行を制御する実行制御部１４０と、データの収集及び制御命令の出力を実行する収集処理部１６０と、を有する。
【００２９】
受付部１２０は、主としてプロセッサ１１によって実現される。受付部１２０は、データに対し順次施される部分処理を規定するデータ処理の設定を受け付ける。そして、受付部１２０は、データ処理の設定を実行制御部１４０に通知する。受付部１２０は、データ処理装置１０においてデータに施されるデータ処理３００の設定を受け付ける受付手段の一例である。
【００３０】
処理部１３１〜１３３はそれぞれ、主としてプロセッサ１１及び主記憶部１２の協働により実現され、部分処理３１〜３３を実行する。詳細には、処理部１３１〜１３３はそれぞれ、補助記憶部１３に記憶されたソフトウェアモジュールをプロセッサ１１が実行することにより実現される。このソフトウェアモジュールは、ユーザによって補助記憶部１３に格納されたプラグインソフトウェアであってもよい。さらに、このプラグインソフトウェアは、ユーザによって設計されたものであってもよいし、ユーザが購入したソフトウェア或いはオープンソースのソフトウェアとして入手したものであってもよい。以下では、処理部１３１〜１３３を総称して処理部１３０と表記する。処理部１３０は、データ処理装置１０においてデータ処理を実行する処理手段の第１の例に相当する。
【００３１】
なお、処理部１３０は、図３に示されるデータ処理３００を構成する部分処理と一対一に対応するとは限らない。例えば、同一の部分処理をデータに対して２回連続して施す場合には、データ処理３００内では、２つの部分処理が連結することになるが、これらの部分処理はいずれも単一の処理部１３０によって実行されてもよい。
【００３２】
実行制御部１４０は、主としてプロセッサ１１及び主記憶部１２の協働により実現される。実行制御部１４０は、処理部１３０と他の処理部１３０との間におけるデータの授受を仲介し、処理部１３０と収集処理部１６０との間におけるデータの授受を仲介することで、設定されたデータ処理に対応する順で処理部１３０及び収集処理部１６０に部分処理を実行させる。実行制御部１４０は、データ処理の設定を示す設定情報を記憶する記憶部１４１と、データ処理を実行する際に設定情報に関する正当性の有無を判定する判定部１４２と、設定情報に基づいてデータに施すべき部分処理を決定してデータフローを制御するフロー制御部１４３と、を有する。
【００３３】
記憶部１４１は、データ処理装置１０において受付部１２０によって受け付けられた設定を示す情報を含む設定情報を記憶する記憶手段の一例である。記憶部１４１には、図５に例示される設定情報４０が格納される。設定情報４０は、受付部１２０によって受け付けられたデータ処理の設定を示す第１処理情報４１と、第１処理情報４１に対応する第１冗長符号４２とを含む。第１冗長符号４２は、第１処理情報４１の正当性を検証するための符号であって、例えば、第１処理情報４１のチェックサム、ＣＲＣ３２（Cyclic Redundancy Check-32）に代表される誤り検出符号、又はハッシュ値である。第１冗長符号４２は、受付部１２０によって第１処理情報４１から算出される。
【００３４】
第１処理情報４１は、データ処理を実行する処理部１３０及び収集処理部１６０それぞれに関する第２処理情報４１１と、第２処理情報４１１に対応する第２冗長符号４１２と、処理部１３０が真正であることを認証するための処理部認証情報４１３と、実行制御部１４０自体が真正であることを認証するための実行制御部認証情報４１４と、を含む。
【００３５】
第２処理情報４１１は、処理部１３０及び収集処理部１６０それぞれによって実行される部分処理の種別、この部分処理を実行するための実行データ、この部分処理の実行順序、及び、この部分処理の詳細を示す情報である。実行データは、例えば、部分処理を実行するためのソフトウェアモジュールの所在を示す。第２冗長符号４１２は、部分処理を実行する処理部１３０及び収集処理部１６０に関する正当性を第２処理情報４１１に基づいて検証するための符号であって、例えば、第２処理情報４１１により所在が示されるソフトウェアモジュールのチェックサム、ＣＲＣ３２に代表される誤り検出符号、メッセージ認証符号又はハッシュ値である。第２冗長符号４１２は、ソフトウェアモジュールとしてのオブジェクトファイルであるバイナリデータから受付部１２０によって算出される。すなわち、第２冗長符号４１２は、処理部１３０及び収集処理部１６０を実現するためのプログラムから算出される。
【００３６】
図６には、テーブル形式の設定情報４０が例示されている。図６に示される例では、第２処理情報は、部分処理を識別するための部分処理識別情報と、部分処理を実現するプログラムを識別するためのプログラム識別情報と、部分処理の内容を規定する処理パラメータと、当該部分処理の前に実行される部分処理と、当該部分処理の次に実行される部分処理と、を関連付ける情報である。図６では、部分処理識別情報として、図３中の部分処理に付される符号と等しい値が示されている。また、プログラム識別情報は、部分処理を実行するソフトウェアモジュールが格納されている補助記憶部１３におけるアドレスである。また、図６では、前の部分処理及び次の部分処理として、前後の部分処理の識別情報が示されている。
【００３７】
図４に戻り、判定部１４２は、記憶部１４１から設定情報４０を読み出して、設定情報４０により示されるデータ処理の正当性の有無を判定する。詳細には、判定部１４２は、第１処理情報４１から第１冗長符号４２を算出して、算出した第１冗長符号４２と、設定情報４０に含まれる第１冗長符号４２と、が一致するか否かを判定することにより、設定情報４０の正当性の有無を判定する。また、判定部１４２は、第２処理情報４１１それぞれに基づいて第２冗長符号４１２を算出し、算出した第２冗長符号４１２と、設定情報４０に含まれる第２冗長符号４１２と、が一致するか否かを判定することにより、第２処理情報４１１により示される処理部１３０に関する正当性の有無を判定する。そして、判定部１４２は、第１処理情報４１及び第２処理情報４１１すべての正当性があると判定した場合に、その判定結果をフロー制御部１４３に通知して、フロー制御部１４３にデータ処理を実行させる。判定部１４２は、第１処理情報から算出される第１算出符号と第１冗長符号との比較に基づいて設定情報の第１正当性の有無を判定し、第２処理情報に基づいて算出される第２算出符号と第２冗長符号との比較に基づいて処理部１３０及び収集処理部１６０に関する第２正当性の有無を判定する判定手段の一例である。
【００３８】
フロー制御部１４３は、処理部１３０及び収集処理部１６０のいずれかから取得したデータを、処理部１３０及び収集処理部１６０のいずれかに送出する。例えば、フロー制御部１４３は、収集処理部１６０によって収集されたデータを収集処理部１６０から取得する。そして、フロー制御部１４３は、処理部１３１にデータを送出することにより、処理部１３１に部分処理を実行させる。また、フロー制御部１４３は、処理部１３０から部分処理の結果を示すデータを取得すると、このデータを次の部分処理を実行する処理部１３０に送出することにより、この処理部１３０に次の部分処理を実行させる。
【００３９】
ただし、フロー制御部１４３は、処理部１３３から部分処理の結果を示すデータを取得すると、このデータを機器２２に送信すべき制御命令として収集処理部１６０に送出する。なお、機器２２への制御命令の送信とは異なる出力処理がデータ処理の出力として規定されている場合に、フロー制御部１４３は、規定された出力処理を実現するための処理を実行する。例えば、データ処理の結果を画面表示することが規定されている場合に、フロー制御部１４３は、ＬＣＤを含む出力部１５に結果を表示させるためのデータを送出してもよい。フロー制御部１４３は、データ処理装置１０において処理部１３０及び収集処理部１６０にデータ処理を実行させる制御手段の一例に相当する。
【００４０】
収集処理部１６０は、主としてプロセッサ１１及び通信部１６の協働により実現され、部分処理３０，３４を実行する。詳細には、収集処理部１６０は、処理部１３０と同様に、補助記憶部１３に記憶されたソフトウェアモジュールをプロセッサ１１が実行することにより実現される。また、収集処理部１６０は、機器２１から繰り返し送信される情報を実行制御部１４０に送出し、実行制御部１４０から出力される制御命令を機器２２へ送信する。収集処理部１６０は、データ処理装置１０が接続される産業用ネットワークの種別に応じて複数設けられる。図４では、複数の収集処理部１６０が示されているが、機器２１，２２双方が単一の産業用ネットワークに接続される場合には、１つの収集処理部１６０が機器２１，２２双方に接続されてもよい。収集処理部１６０は、データ処理装置１０においてデータ処理を実行する処理手段の第２の例に相当する。
【００４１】
続いて、データ処理装置１０によって実行される処理について、図７〜８を用いて説明する。具体的には、冗長符号を含む設定情報を生成する設定処理と、設定情報からデータ処理の正当性を認証する認証処理と、について順に説明する。
【００４２】
設定処理では、図７に示されるように、データ処理装置１０の受付部１２０が、データ処理の設定を受け付ける（ステップＳ１１）。具体的には、受付部１２０が、ユーザによって入力装置１０１に入力されたデータ処理の内容を示す情報を受信する。ユーザは、例えば、入力装置１０１のＧＵＩ（Graphical User Interface）を操作し、図３に示されるように部分処理に対応するオブジェクトをユーザが選択して、さらにオブジェクト同士を矢印で結ぶことによりデータ処理の内容を入力する。ユーザによって入力される内容は、図５に示される第２処理情報４１１の一部又は全部に相当する。
【００４３】
図７に戻り、ステップＳ１１に続いて、受付部１２０が、第２処理情報に基づいて第２冗長符号を算出して、第２処理情報と第２冗長符号とを含む第１処理情報を生成する（ステップＳ１２）。具体的には、受付部１２０が、第２処理情報それぞれにより示されるソフトウェアモジュールのバイナリデータから第２冗長符号を算出する。そして、受付部１２０は、第２処理情報と第２冗長符号とを組み合わせて第１処理情報を生成する。第２処理情報と第２冗長符号との組み合わせ手法は任意であって、受付部１２０は、第２処理情報の末尾に第２冗長符号を追加してもよいし、第２処理情報に第２冗長符号を埋め込んでもよい。なお、受付部１２０は、ステップＳ１１で受け付けた設定に情報を付加することで第２処理情報を準備して、第２冗長符号を算出してもよい。例えば、ユーザが設定すべき部分処理のパラメータが入力されていないときに、受付部１２０は、予め規定されたデフォルトのパラメータを補ってもよい。
【００４４】
次に、受付部１２０は、第１処理情報から第１冗長符号を算出して、第１処理情報と第１冗長符号とを含む設定情報を生成する（ステップＳ１３）。ステップＳ１２における第２冗長符号の算出手法と、ステップＳ１３における第１冗長符号の算出手法とは、同様であってもよいし異なってもよい。例えば、受付部１２０は、第２冗長符号として巡回冗長符号を算出し、第１冗長符号としてハッシュ値を算出してもよい。
【００４５】
次に、受付部１２０は、ステップＳ１３で生成した設定情報を実行制御部１４０の記憶部１４１に書き込む（ステップＳ１４）。これにより、ユーザによって入力されたデータ処理の内容が、その正当性を検証可能な状態で設定されることとなる。その後、設定処理が終了する。受付部１２０が設定を受け付けた段階で冗長符号を含む設定情報を生成することで、以降におけるデータの改変を認証処理において検証することができる。設定処理は、受付部１２０が、データに施されるデータ処理の設定を受け付けて、該設定を示す設定情報を記憶部１４１に書き込む受付ステップの一例に相当する。
【００４６】
続いて、データ処理の正当性を認証する認証処理について、図８を用いて説明する。図８に示される認証処理は、データ処理の開始指示が入力されたときに開始する。図８に示されるように、認証処理では、判定部１４２が、設定情報を記憶部１４１から読み出す（ステップＳ２１）。
【００４７】
次に、判定部１４２は、ステップＳ２１で読み出した設定情報に含まれる第１処理情報から第１冗長符号を算出して、設定情報に含まれる第１冗長符号と比較することで、設定情報に含まれる第１冗長符号を検査する（ステップＳ２２）。第１冗長符号の算出手法は、図７に示される設定処理のステップＳ１３における算出手法と同様である。このステップＳ２２において算出される第１冗長符号は、設定処理において記憶部１４１に格納された第１冗長符号と比較される第１算出符号の一例に相当する。
【００４８】
そして、判定部１４２は、算出した第１冗長符号と、読み出した設定情報に含まれる第１冗長符号と、が一致するか否かを判定する（ステップＳ２３）。第１冗長符号が一致しないと判定された場合（ステップＳ２３；Ｎｏ）、データ処理装置１０は、設定情報が正当性を有しないと判断して、データ処理を開始することなく認証処理を終了させる。冗長符号の算出による演算負荷は比較的小さいため、データ処理装置１０は、設定情報自体の正当性を容易に評価して、正当性を有しない設定情報により示されるデータ処理の実行を回避することができる。
【００４９】
一方、第１冗長符号が一致すると判定した場合（ステップＳ２３；Ｙｅｓ）、判定部１４２は、第１処理情報のうちの第２処理情報に基づいて第２冗長符号を算出して、第１処理情報に含まれる第２冗長符号と比較することで、処理部１３０それぞれの第２冗長符号を検査する（ステップＳ２４）。第２冗長符号の算出手法は、図７に示される設定処理のステップＳ１２における算出手法と同様である。このステップＳ２４において算出される第２冗長符号は、設定処理において記憶部１４１に格納された第２冗長符号と比較される第２算出符号の一例に相当する。
【００５０】
そして、判定部１４２は、算出した第２冗長符号と、第１処理情報に含まれる第２冗長符号と、がすべて一致するか否かを判定する（ステップＳ２５）。ステップＳ２３，Ｓ２５の判定は、判定部１４２が、設定情報の第１正当性の有無を判定し、処理部１３０及び収集処理部１６０に関する第２正当性の有無を判定する判定ステップの一例に相当する。第２冗長符号が一致しないと判定された場合（ステップＳ２５；Ｎｏ）、データ処理装置１０は、設定情報により示される部分処理を実行する処理部１３０及び収集処理部１６０に関する正当性が無いと判断して、データ処理を開始することなく認証処理を終了させる。冗長符号の算出による演算負荷は比較的小さいため、データ処理装置１０は、処理部１３０及び収集処理部１６０に関する正当性を容易に評価して、正当性を有しない処理部１３０によるデータ処理の実行を回避することができる。
【００５１】
一方、第２冗長符号がすべて一致すると判定した場合（ステップＳ２５；Ｙｅｓ）、判定部１４２は、認証が完了したことをフロー制御部１４３に通知して、フロー制御部１４３は、この通知を受けて設定情報により示されるデータ処理を開始する（ステップＳ２６）。このデータ処理は、フロー制御部１４３が、処理部１３０及び収集処理部１６０にデータ処理を実行させる制御ステップの一例に相当する。その後、認証処理が終了する。
【００５２】
以上、説明したように、判定部１４２が、設定情報の正当性の有無を判定するとともに、処理部１３０に関する正当性の有無を判定する。これにより、一方の正当性が保証される状態を保ったまま設定情報及び処理部１３０を実現するためのプログラムが改変された場合であっても、他方の正当性の有無を判定することで、処理内容の正当性を保証することができる。したがって、データに対して実行すべき処理の正当性をより確実に保証することができる。
【００５３】
具体的には、図３に示されるデータ処理３００が受付部１２０によって受け付けられて設定情報が記憶部１４１に格納された後に、第１処理情報及び第２処理情報の内容が、図９に例示される不正なデータ処理に書き換えられた場合を想定する。この不正なデータ処理では、部分処理３１の結果が、部分処理３２と新たに挿入された不正な部分処理３２ａとに出力され、部分処理３２，３２ａの処理結果が部分処理３３に入力される。このように設定情報が変更された場合には、不正な部分処理３２ａがデータ処理に含まれることが、データ処理の実行前に検知される。そのため、不正な処理の実行を回避することができる。
【００５４】
また、図３に示されるデータ処理３００が設定された後に、第１処理情報及び第２処理情報の内容が図１０に例示される不正なデータ処理に書き換えられた場合を想定する。この不正なデータ処理では、部分処理３２が部分処理３２ｂに置き換えられている。このように設定情報が変更された場合であっても、不正な部分処理３２ｂがデータ処理に含まれることが、データ処理の実行前に検知される。そのため、不正な処理の実行を回避することができる。
【００５５】
また、設定情報が改変されることなく、図１１に示されるように、処理部１３１を実現するプログラムが改変され、処理部１３１に代えて処理部１３１ａが現れた場合を想定する。この場合においても、第２冗長符号が部分処理を実行するためのバイナリデータから算出されるため、第２冗長符号を検証した結果、処理部１３１によって実行されるべき部分処理３１について正当性を有しないことが、データ処理の実行前に検知される。
【００５６】
実施の形態２．
続いて、実施の形態２について、上述の実施の形態１との相違点を中心に説明する。なお、上記実施の形態１と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。本実施の形態に係るデータ処理装置１０は、ユーザの権限に応じて冗長符号を生成する点で、実施の形態１に係るものと異なっている。データ処理装置１０は、適当な設定権限を有するユーザによってデータ処理が設定されたときに、実行すべき処理に正当性があると判断し、設定権限を有しないユーザによってデータ処理が設定されたときに、実行すべき処理に正当性がないと判断する。
【００５７】
データ処理装置１０は、ユーザが入力装置１０１を操作することで入力されたデータ処理の設定を受け付ける。ここで、入力装置１０１は、インストールされたソフトウェアを実行することで、ユーザがデータ処理を設定するための設定ツールとして扱える機能を提供する。そして、この設定ツールには、冗長符号を算出して正当性の有無を判定するためのアルゴリズムを示す判定情報が含まれる。データ処理装置１０は、入力装置１０１から提供されるアルゴリズムを利用して冗長符号を算出し、データ処理の実行前にこのアルゴリズムを利用して冗長符号を比較することにより正当性を検証する。
【００５８】
設定ツールを使用するユーザには権限が設定される。例えば、工程の管理者には設定権限が付与され、データ処理を設定することが許可される。一方、現場の作業員には、設定権限が付与されることなく、データ処理の設定を変更することが許可されない。
【００５９】
図１２には、入力装置１０１によって実行される入力処理が示されている。図１２に示されるように、入力処理では、入力装置１０１が、ユーザによって入力されたデータ処理の設定を取得する（ステップＳ３１）。
【００６０】
次に、入力装置１０１は、ステップＳ３１の設定を入力したユーザである入力者が設定権限を有するか否かを判定する（ステップＳ３２）。設定権限を有しないと判定した場合（ステップＳ３２；Ｎｏ）、入力装置１０１は、ステップＳ３４に処理を移行する。一方、設定権限を有すると判定した場合（ステップＳ３２；Ｙｅｓ）、入力装置１０１は、冗長符号の比較により正当性を判定するための判定情報をデータ処理装置１０に提供する（ステップＳ３３）。判定情報は、例えば、冗長符号を算出するためのアルゴリズムを示すデータである。
【００６１】
そして、入力装置１０１は、ステップＳ３１で取得したデータ処理の設定をデータ処理装置１０に通知する（ステップＳ３４）。その後、入力処理が終了する。
【００６２】
図１３には、データ処理装置１０によって実行される設定処理が示されている。図１３に示されるように、設定処理において、データ処理装置１０は、入力装置１０１から判定情報の提供があるか否かを判定する（ステップＳ１０１）。具体的には、受付部１２０が、判定情報を入力装置１０１から受信したか否かを判定する。
【００６３】
判定情報の提供がないと判定した場合（ステップＳ１０１；Ｎｏ）、データ処理装置１０は、データ処理の設定を受け付ける（ステップＳ１０２）。このステップは、図７に示されるステップＳ１１と同等の処理である。
【００６４】
次に、データ処理装置１０は、第２冗長符号を算出することなく第２処理情報を含む第１処理情報を生成する（ステップＳ１０３）。このステップは、図７に示されるステップＳ１２に対応する。なお、このステップＳ１０３では、空のデータ又はゼロ埋めされたデータを第２冗長符号として第１処理情報に埋め込んでもよい。
【００６５】
次に、データ処理装置１０は、第１冗長符号を算出することなく第１処理情報を含む設定情報を生成する（ステップＳ１０４）。このステップは、図７に示されるステップＳ１３に対応する。なお、このステップＳ１０４では、空のデータ又はゼロ埋めされたデータを第１冗長符号として設定情報に埋め込んでもよい。
【００６６】
次に、データ処理装置１０は、設定情報を記憶部１４１に書き込む（ステップＳ１０５）。このステップは、図７に示されるステップＳ１４に対応する。その後、設定処理が終了する。
【００６７】
ステップＳ１０１にて判定情報の提供があると判定した場合（ステップＳ１０１；Ｙｅｓ）、データ処理装置１０は、データ処理の設定を受け付ける（ステップＳ１０６）。このステップは、ステップＳ１０２と同様の処理である。
【００６８】
次に、データ処理装置１０は、提供された判定情報及び第２処理情報に基づいて第２冗長符号を算出して、第２処理情報と第２冗長符号とを含む第１処理情報を生成する（ステップＳ１０７）。このステップは、図７に示されるステップＳ１２に対応する。
【００６９】
次に、データ処理装置１０は、提供された判定情報及び第１処理情報から第１冗長符号を算出して、第１処理情報と第１冗長符号とを含む設定情報を生成する（ステップＳ１０８）。このステップは、図７に示されるステップＳ１３に対応する。その後、データ処理装置１０は、ステップＳ１０５に処理を移行する。
【００７０】
データ処理が実行される際には、データ処理装置１０は、図８に示される認証処理を実行する。ただし、本実施の形態に係る認証処理において、判定部１４２は、受付部１２０が入力装置１０１から受け付けた判定情報に基づいて正当性の有無を判定する。また、設定処理において判定情報が提供されない場合においては、設定情報から第１冗長符号を算出することができないため、ステップＳ２３の判定が否定されて、データ処理を実行することなく認証処理が終了する。
【００７１】
以上、説明したように、冗長符号は、ユーザの権限に応じて提供される判定情報に基づいて算出される。このため、正当な権限を有するユーザによってデータ処理が設定された場合には、設定されたデータ処理が実行され、正当な権限を有しないユーザによってデータ処理が設定された場合には、設定されたデータ処理が実行されない。これにより、権限を有しないユーザによってデータ処理が設定されたことを検出することができる。なお、権限を有しないユーザによってデータ処理が設定された場合には、データ処理装置１０が管理者に確認した上で、設定されたデータ処理が実行されてもよい。
【００７２】
通常、現場では権限を有しない作業員がデータ処理装置１０を扱う。このため、作業員が、入力装置１０１が提供するツールとは異なる他のツールを利用してデータ処理の設定をしようとするケースも想定される。しかしながら、他のツールは、判定情報を含まないため、作業員が他のツールを利用してデータ処理を設定しようとした場合には、適切な冗長符号が算出されない。したがって、権限を有しない作業員によって設定されたデータ処理の実行を回避することができる。
【００７３】
また、権限を有しない作業員は、データ処理装置１０に格納されている設定情報のバイナリデータ或いはテキストデータを直接書き換えることができる。しかしながら、書き換え後の設定内容に対応する冗長符号を付与することができないため、認証処理において、権限を有しないユーザによって設定情報が変更されたことを判別することができる。
【００７４】
なお、判定情報は、アルゴリズムを示す情報に限られず、正当性の有無の判定に必要な他の情報であってもよい。
【００７５】
また、判定情報は、第１冗長符号と第２冗長符号とで共通の情報でなくともよい。例えば、第１冗長符号を算出するための判定情報により示されるアルゴリズムは、第２情報符号を算出するための判定情報により示されるアルゴリズムと異なっていてもよい。
【００７６】
以上、本発明の実施の形態について説明したが、本発明は上記実施の形態によって限定されるものではない。
【００７７】
例えば、上記実施の形態では、第２冗長符号が、処理部１３０を実現するソフトウェアモジュールのバイナリデータから算出されたが、これには限定されない。例えば、第２冗長符号は、第２処理情報から算出されてもよいし、上記バイナリデータと第２処理情報とから算出されてもよい。
【００７８】
特に、一の部分処理の前後の部分処理を特定する第２処理情報から冗長符号が算出されれば、部分処理各々の正当性に加えて、前後の部分処理との順序も含めて正当性を保証することができる。
【００７９】
また、第１冗長符号を第１処理情報に埋め込んで設定情報を生成する際に、ランダムなビット値を合わせて埋め込んで耐ダンパー性を高めてもよいし、第２冗長符号を第２処理情報に埋め込んで第１処理情報を生成する際に、ランダムなビット値を合わせて埋め込んで耐ダンパー性を高めてもよい。これにより、設定情報が改変される際に第１冗長符号及び第２冗長符号を合わせて改変することが困難になり、これら冗長符号を検証することでデータ処理の正当性をより確実に保証することができる。
【００８０】
また、上記実施の形態において、第１冗長符号は第１処理情報から算出され、第２冗長符号は第２処理情報に基づいて算出されたが、第１冗長符号と第２冗長符号との少なくとも一方は、ユーザにより設定処理において設定される認証情報を含むデータから算出されてもよい。例えば、設定処理においてユーザが認証コードを入力し、第１冗長符号は第１処理情報及び認証情報から算出され、第２冗長符号は第２処理情報及び認証情報から算出されてもよい。そして、認証処理においては、ユーザに対して認証情報の入力を求め、入力された認証情報を利用して第１冗長符号及び第２冗長符号を算出して検証してもよい。認証情報を利用する場合には、第１冗長符号及び第２冗長符号の改変が困難になるため、データ処理の正当性をより確実に保証することができる。また、認証情報は、ユーザによって入力される情報とは異なる情報であってもよい。例えば、認証サーバから提供される認証情報を利用して冗長符号が算出されてもよい。
【００８１】
また、上記実施の形態では、データ処理装置１０に入力装置１０１が接続されることを説明した。この接続は、ネットワークケーブルによる接続であってもよいし、専用線であってもよいし、ネットワーク２０を介した接続であってもよい。また、図１４に示されるように、データ処理装置１０は、入力装置１０１に接続されることなく、ユーザが情報を入力するための入力部１１０を有してもよい。また、データ処理装置１０の外部の処理部１３３を有するデータ処理システム１００を構成してもよい。
【００８２】
また、上記実施の形態では、図３に示されるような比較的簡素なデータ処理を例に説明したが、これには限定されず、データ処理は複雑であってもよい。例えば、図１５に示されるように、データ処理は、部分処理３０から部分処理３１，３１ａへのフローの分岐、及び、部分処理３１，３１ａから部分処理３２ａへのフローの集約を含んでもよい。また、上記実施の形態では、図５，６において設定情報が処理部認証情報及び実行制御部認証情報を含む例について説明したが、これら処理部認証情報及び実行制御部認証情報を省略して設定情報を形成してもよい。
【００８３】
また、データ処理装置１０の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【００８４】
例えば、プロセッサ１１によって実行されるプログラムＰ１を、コンピュータ読み取り可能な非一時的な記録媒体に格納して配布し、そのプログラムＰ１をコンピュータにインストールすることにより、上述の処理を実行する装置を構成することができる。このような記録媒体としては、例えばフレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read−Only Memory）、ＤＶＤ（Digital Versatile Disc）、ＭＯ（Magneto−Optical Disc）が考えられる。
【００８５】
また、プログラムＰ１をインターネットに代表される通信ネットワーク上のサーバ装置が有するディスク装置に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロードするようにしてもよい。
【００８６】
また、通信ネットワークを介してプログラムＰ１を転送しながら起動実行することによっても、上述の処理を達成することができる。
【００８７】
さらに、プログラムＰ１の全部又は一部をサーバ装置上で実行させ、その処理に関する情報をコンピュータが通信ネットワークを介して送受信しながらプログラムを実行することによっても、上述の処理を達成することができる。
【００８８】
なお、上述の機能を、ＯＳ（Operating System）が分担して実現する場合又はＯＳとアプリケーションとの協働により実現する場合には、ＯＳ以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロードしてもよい。
【００８９】
また、データ処理装置１０の機能を実現する手段は、ソフトウェアに限られず、その一部又は全部を、回路を含む専用のハードウェアによって実現してもよい。
【００９０】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【産業上の利用可能性】
【００９１】
本発明は、データの処理に適している。
【符号の説明】
【００９２】
１００  データ処理システム、  １０  データ処理装置、  １１  プロセッサ、  １２  主記憶部、  １３  補助記憶部、  １４  入力部、  １５  出力部、  １６  通信部、  １７  内部バス、  １０１  入力装置、  １１０  入力部、  １２０  受付部、  １３０〜１３３，１３１ａ  処理部、  １４０  実行制御部、  １４１  記憶部、  １４２  判定部、  １４３  フロー制御部、  １６０  収集処理部、  ２０  ネットワーク、  ２１，２２  機器、  ３００  データ処理、  ３０〜３４，３１ａ，３２ａ，３２ｂ  部分処理、  ４０  設定情報、  ４１  第１処理情報、  ４１１  第２処理情報、  ４１２  第２冗長符号、  ４１３  処理部認証情報、  ４１４  実行制御部認証情報、  ４２  第１冗長符号、  Ｐ１  プログラム。
【要約】
データ処理装置（１０）は、受付部（１２０）と記憶部（１４１）と判定部（１４２）とフロー制御部（１４３）とを備える。受付部（１２０）は、データに施されるデータ処理の設定を受け付ける。記憶部（１４１）は、受付部（１２０）によって受け付けられた設定を示す設定情報を記憶する。判定部（１４２）は、設定情報の第１正当性の有無を判定し、データ処理を実行する処理部（１３０）に関する第２正当性の有無を判定する。フロー制御部（１４３）は、判定部（１４２）によって第１正当性があり、第２正当性があると判定された場合に、処理部（１３０）及び収集処理部（１６０）にデータを送出することで処理部（１３０）及び収集処理部（１６０）にデータ処理を実行させる。【図１】
0006808094.tif 000002
【図２】
0006808094.tif 000003
【図３】
0006808094.tif 000004
【図４】
0006808094.tif 000005
【図５】
0006808094.tif 000006
【図６】
0006808094.tif 000007
【図７】
0006808094.tif 000008
【図８】
0006808094.tif 000009
【図９】
0006808094.tif 000010
【図１０】
0006808094.tif 000011
【図１１】
0006808094.tif 000012
【図１２】
0006808094.tif 000013
【図１３】
0006808094.tif 000014
【図１４】
0006808094.tif 000015
【図１５】
0006808094.tif 000016