(57)【特許請求の範囲】
【請求項１】
第１の通信プログラムを実行する第１のデータ送信部と、前記第１の通信プログラムと異なる第２の通信プログラムを実行する第２のデータ送信部とを有するデータ通信装置において前記第１のデータ送信部が前記第１の通信プログラムを実行して送信した通信データを受信する通信データ受信部と、
前記データ通信装置に対して、前記第２の通信プログラムを実行して前記通信データを再送するよう要求する再送要求メッセージを生成する再送要求メッセージ生成部と、
前記再送要求メッセージ生成部により生成された前記再送要求メッセージを前記データ通信装置に対して送信する再送要求メッセージ送信部と、
前記再送要求メッセージに応答して前記データ通信装置の前記第２のデータ送信部が前記第２の通信プログラムを実行して再送した再送データを受信する再送データ受信部とを有することを特徴とするデータ処理装置。
【請求項２】
前記データ処理装置は、更に、
前記通信データ受信部により受信された前記通信データを記憶する通信データ記憶部と、
前記再送データ受信部により受信された前記再送データと、前記通信データ記憶部に記憶されている前記通信データとを比較するデータ比較部とを有することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記データ処理装置は、
前記再送データと前記通信データとの比較の結果、前記データ比較部により前記再送データと前記通信データとが一致していないと判定された場合に、前記データ通信装置に前記再送データと前記通信データとが一致していないことを通知する通知メッセージを生成する通知メッセージ生成部と、
前記通知メッセージ生成部により生成された前記通知メッセージを前記データ通信装置に対して送信する通知メッセージ送信部とを有することを特徴とする請求項２に記載のデータ処理装置。
【請求項４】
前記通信データ受信部は、
前記データ通信装置が特定の送信先装置を送信先として送信した前記通信データを受信し、
前記データ処理装置は、更に、
前記再送データと前記通信データとの比較の結果、前記データ比較部により前記再送データと前記通信データとが一致していると判定された場合に、前記通信データを前記送信先装置に対して送信する通信データ送信部を有することを特徴とする請求項２又は３に記載のデータ処理装置。
【請求項５】
前記データ処理装置は、更に、
前記通信データに異常が発生しているか否かを解析する異常解析部を有し、
前記再送要求メッセージ生成部は、
前記異常解析部により前記通信データに異常が発生していないと判定された場合に、前記再送要求メッセージを生成することを特徴とする請求項１〜４のいずれかに記載のデータ処理装置。
【請求項６】
前記データ処理装置は、更に、
前記異常解析部により前記通信データに異常が発生していると判定された場合に、前記通信データに異常が発生していることを通知する通知メッセージを生成する通知メッセージ生成部と、
前記通知メッセージ生成部により生成された前記通知メッセージを前記データ通信装置に対して送信する通知メッセージ送信部とを有することを特徴とする請求項５に記載のデータ処理装置。
【請求項７】
通信データを記憶する通信データ記憶部と、
前記通信データを送信する第１のデータ送信部と、
前記第１のデータ送信部により送信された前記通信データを受信したデータ処理装置から、前記通信データの再送を要求する再送要求メッセージを受信する再送要求メッセージ受信部と、
前記再送要求メッセージ受信部により前記再送要求メッセージが受信された際に、前記第１のデータ送信部に代わって、前記通信データ記憶部に記憶されている前記通信データを前記データ処理装置に対して再送する第２のデータ送信部とを有することを特徴とするデータ通信装置。
【請求項８】
前記第１のデータ送信部は、
第１の通信プログラムを実行して前記通信データを送信し、
前記第２のデータ送信部は、
前記再送要求メッセージ受信部により前記再送要求メッセージが受信された際に、前記第１の通信プログラムと異なる第２の通信プログラムを実行して、前記通信データ記憶部に記憶されている前記通信データを前記データ処理装置に対して再送することを特徴とする請求項７に記載のデータ通信装置。
【請求項９】
前記データ通信装置は、更に、
前記データ処理装置から、前記第１のデータ送信部により送信された前記通信データと前記第２のデータ送信部により再送された再送データとの比較の結果、前記通信データと前記再送データとが一致しなかったことを通知する通知メッセージを受信する通知メッセージ受信部と、
前記通知メッセージ受信部により受信された通知メッセージを出力する通知メッセージ出力部とを有することを特徴とする請求項７又は８に記載のデータ通信装置。
【請求項１０】
請求項１に記載のデータ処理装置と請求項７に記載のデータ通信装置とが含まれることを特徴とする通信システム。
【請求項１１】
第１の通信プログラムを実行する第１のデータ送信部と、前記第１の通信プログラムと異なる第２の通信プログラムを実行する第２のデータ送信部とを有するデータ通信装置において前記第１のデータ送信部が前記第１の通信プログラムを実行して送信した通信データを、コンピュータが受信し、
前記コンピュータが、前記データ通信装置に対して、前記第２の通信プログラムを実行して前記通信データを再送するよう要求する再送要求メッセージを生成し、
前記コンピュータが、生成した前記再送要求メッセージを、前記データ通信装置に対して送信し、
前記コンピュータが、前記再送要求メッセージに応答して前記データ通信装置の前記第２のデータ送信部が前記第２の通信プログラムを実行して再送した再送データを受信することを特徴とするデータ処理方法。
【請求項１２】
コンピュータが、通信データを記憶し、
前記コンピュータが、第１の通信プログラムを実行して前記通信データを送信し、
前記コンピュータが、前記通信データを受信したデータ処理装置から、前記通信データの再送を要求する再送要求メッセージを受信し、
前記コンピュータが、前記第１の通信プログラムとは異なる第２の通信プログラムを実行して、記憶している前記通信データを前記データ処理装置に対して再送することを特徴とするデータ通信方法。
【請求項１３】
コンピュータを、請求項１に記載されたデータ処理装置として機能させることを特徴とするプログラム。
【請求項１４】
コンピュータを、請求項７に記載されたデータ通信装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおける異常を検知する技術に関する。
【背景技術】
【０００２】
ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）内のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上には様々なソフトウェアがインストールされている。
ＰＣにインストールされるソフトウェアには、目的に応じてＯＳから提供されている様々なデータを使って処理する機能の他に、利便性や効率性を追求するためにインストール時にＯＳ上のデータを一部書き換える機能が含まれる場合がある。
あるソフトウェアによってＯＳ上のデータの一部が書き換えられた場合に、データの一部が書き換えられたことを他のソフトウェアが自動的に認識・検知することは一般的に困難である。
このため、ＯＳ上のデータが書き換えられた後に他のソフトウェアが処理を行おうとすると予期せぬエラーを引き起こす可能性がある。
また、あるソフトウェアが誤って他のソフトウェアのデータも書き換えてしまうケースもある。
このような場合も、データが書き換えられたソフトウェアに予期せぬエラーが発生する可能性がある。
このように、インストールされたソフトウェアが互いに干渉して悪影響を及ぼすことがあるため、ＰＣ内のソフトウェアやＰＣそのものの異常を検知できるような技術が求められている。【０００３】
このような異常検知技術として、事前にデータを用意しておき、その事前に用意したデータに基づいて装置の異常を検知する方法がある。
例えば、特許文献１には以下の方法が開示されている。
試験装置は、異常動作が起きているか否かの判定の対象である判定対象装置（内のソフトウェア）への入力データと当該判定対象装置からの理想的な（すなわち、期待される）出力データの組を（複数）所有している。
試験装置は、所有している入力データを判定対象装置に入力し、当該判定対象装置から理想的な出力データが返ってくるか否かを試験することで、判定対象装置（のソフトウェア）に異常が起きているか否かを判定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１８２７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１で開示されているような方法では、あらかじめ用意されている入力データと出力データの組に対してのみ検査が可能である。
従って、他の入力データに対して判定対象装置が異常な動作をしないことは必ずしも保証できないという課題がある。【０００６】
本発明は、このような課題を解決することを主な目的としており、判定対象装置に対して事前に入力データと出力データの組を用意しなくても、当該判定対象装置における異常を検知することができる構成を得ることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るデータ処理装置は、
第１のデータ送信部と、前記第１のデータ送信部と異なる第２のデータ送信部とを有するデータ通信装置が前記第１のデータ送信部から送信した通信データを受信する通信データ受信部と、
前記データ通信装置に対して、前記第２のデータ送信部から前記通信データを再送するよう要求する再送要求メッセージを生成する再送要求メッセージ生成部と、
前記再送要求メッセージ生成部により生成された前記再送要求メッセージを前記データ通信装置に対して送信する再送要求メッセージ送信部と、
前記再送要求メッセージに応答して前記データ通信装置が前記第２のデータ送信部から再送した再送データを受信する再送データ受信部とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、第１のデータ送信部により送信された通信データと、第２のデータ送信部により再送された再送データとを比較することにより、事前に入力データと出力データの組を用意しなくても、データ通信装置における異常を検知することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る通信システムの構成例を示す図。
【図２】実施の形態１に係るデータ作成装置の構成例を示す図。
【図３】実施の形態１に係る監視装置の構成例を示す図。
【図４】実施の形態１に係るデータ受信装置の構成例を示す図。
【図５】実施の形態１に係るデータ作成装置の動作例を示すフローチャート図。
【図６】実施の形態１に係る監視装置の動作例を示すフローチャート図。
【図７】実施の形態１に係るデータ作成装置及び監視装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、本実施の形態に係る通信システム１００の構成例を示す。
【００１１】
本実施の形態に係る通信システム１００は、データ作成装置１０１（１０１ａ〜１０１ｍ）と、監視装置１０３と、データ受信装置１０５とを備える。
データ作成装置１０１と監視装置１０３はネットワーク１０２を介して接続されている。
また、監視装置１０３とデータ受信装置１０５はネットワーク１０４を介して接続されている。
【００１２】
データ作成装置１０１は、データ受信装置１０５を宛先とする通信データを送信する。
監視装置１０３は、データ作成装置１０１がデータ受信装置１０５へ通信データを送信する際には通信データが必ず通過する通信路上に設置されており、データ作成装置１０１からデータ受信装置１０５への通信データを受信する。
そして、監視装置１０３は、データ作成装置１０１に対して通信データの再送を要求する。
データ作成装置１０１は、監視装置１０３からの要求に従い、通信データを再送する。
監視装置１０３は、データ作成装置１０１から再送された通信データ（再送データという）を受信し、通信データと再送データとを比較し、通信データと再送データとが一致していれば、通信データをデータ受信装置１０５に転送する。
一方、通信データと再送データとが一致していない場合は、監視装置１０３は、データ作成装置１０１に異常が発生していると判断する。
なお、データ作成装置１０１はデータ通信装置の例に相当し、監視装置１０３はデータ処理装置の例に相当し、データ受信装置１０５は送信先装置の例に相当する。
【００１３】
図２は、データ作成装置１０１（１０１ａ〜１０１ｍ）の構成例を示す。
データ作成装置１０１は、データ作成部２０１と、監視装置連携部３０１と、データベース４０１とを備える。
【００１４】
データ作成部２０１は、データ受信装置１０５への通信データを作成し、作成した通信データを送信する。
【００１５】
データ作成部２０１において、データ作成制御部２０２は、通信データの作成及び通信データの送信に関する制御を行う。
【００１６】
入力部２０３は、キーボード等を用いて作成されたユーザからの入力データを受け取り、入力データをデータ作成制御部２０２に出力する。
【００１７】
表示部２０４は、データ作成制御部２０２から表示データを受け取って表示データをディスプレイに表示し、通信データの作成状況やエラー状況をユーザに知らせる。
表示部２０４は、通知メッセージ出力部の例に相当する。
【００１８】
データベース管理部２０５は、データ作成制御部２０２から入力データ（完成データ及び未完成データのどちらも含む）を記憶データとして受け取り、記憶データをデータベース４０１に格納し、また、データベース４０１に記憶されている記憶データを読み出す。
【００１９】
送信部２０６は、データ作成制御部２０２から通信データを受け取り、第１の通信プログラムを実行してネットワーク１０２に通信データを送信する。
送信部２０６は、第１のデータ送信部の例に相当する。
【００２０】
通知メッセージ受信部２０７は、監視装置１０３から送信された通知メッセージを受信し、通知メッセージをデータ作成制御部２０２に出力する。
【００２１】
監視装置連携部３０１は、監視装置１０３と連動して動作する。
【００２２】
監視装置連携部３０１において、再送要求メッセージ受信部３０２は、監視装置１０３から送信された再送要求メッセージを受信する。
【００２３】
抽出部３０３は、再送要求メッセージ受信部３０２から再送要求メッセージを受け取り、再送要求メッセージに基づきデータベース４０１から記憶データを抽出する。
抽出部３０３が抽出する記憶データは、送信部２０６が送信した通信データと同一のデータである。
【００２４】
再送部３０４は、抽出部３０３から記憶データを受け取り、記憶データを再送データとして監視装置１０３に送信する。
再送部３０４は、送信部２０６が実行する第１の通信プログラムとは異なる第２の通信プログラムを実行して、再送データを送信する。
再送部３０４は、第２のデータ送信部の例に相当する。
【００２５】
データベース４０１は、データベース管理部２０５から送られてきた記憶データを保管する。
また、データベース４０１は、データベース管理部２０５または抽出部３０３から要求された記憶データを読み出して要求元に出力する。
データベース４０１は、通信データ記憶部の例に相当する。
【００２６】
図３は、監視装置１０３の構成例を示す。
監視装置１０３は、監視部５０１と、補助データベース６０１とデータベース８０１を備える。
【００２７】
監視部５０１は、データ作成装置１０１のデータ作成部２０１からデータ受信装置１０５に送信される通信データがデータ作成装置１０１の異常によってユーザの気付かない間に書き変わっていないかを監視する。
【００２８】
監視部５０１において、第１の受信部５０２は、データ作成装置１０１のデータ作成部２０１から送信された通信データを受信する。
また、第１の受信部５０２は、通信データをデータベース８０１に格納し、また、通信データのコピーを判定部５０３に出力する。
第１の受信部５０２は、通信データ受信部の例に相当する。
【００２９】
判定部５０３は、第１の受信部５０２から通信データのコピーを受け取り、通信データに異常が発生しているか否かを解析し、通信データに異常が発生していない場合に、再送要求メッセージを生成し、生成した再送要求メッセージを再送要求メッセージ送信部５０４に出力する。
通信データに異常が発生している場合は、判定部５０３は、通信データに異常が発生していることを通知する通知メッセージを生成し、生成した通知メッセージを通知メッセージ送信部５０６に出力する。
また、判定部５０３は、データ作成装置１０１からの再送データを第２の受信部５０５から受け取り、データベース８０１に格納されている通信データと、第２の受信部５０５から受け取った再送データとを比較する。
そして、通信データと再送データとの比較の結果、通信データと再送データとが一致していない場合に、判定部５０３は、通信データと再送データとが一致していないことを通知する通知メッセージを生成し、生成した通知メッセージを通知メッセージ送信部５０６に出力する。
一方、通信データと再送データとが一致している場合は、判定部５０３は、通信データを通信データ送信部５０７に出力する。
判定部５０３は、再送要求メッセージ生成部、データ比較部、通知メッセージ生成部、異常解析部の例に相当する。
【００３０】
再送要求メッセージ送信部５０４は、判定部５０３で生成された再送要求メッセージをデータ作成装置１０１に送信する。
【００３１】
第２の受信部５０５は、データ作成装置１０１の監視装置連携部３０１から送信されてきた再送データを受信する。
第２の受信部５０５は、再送データ受信部の例に相当する。
【００３２】
通知メッセージ送信部５０６は、判定部５０３で生成された通知メッセージをデータ作成装置１０１に送信する。
【００３３】
通信データ送信部５０７は、通信データをデータ受信装置１０５に送信する。
【００３４】
補助データベース６０１は、通信データの異常判定、または通信データと再送データの一致判定を補助する補助データを格納している。
補助データベース６０１は、判定部５０３から要求があった場合に、補助データを判定部５０３に出力する。
たとえば、補助データベース６０１には、過去にデータ作成装置１０１から送信された通信データ、不正コードのサンプル、（既存技術でも利用している）理想的な入力データと出力データとの組などが保管されている。
なお、補助データベース６０１は、監視部５０１の判定能力や判定効率を上げるための補助装置であって、必ずしも補助データベース６０１は必要とせず、補助データベース６０１を使用しなくてもよいし、補助データベース６０１が存在しなくてもよい。
【００３５】
データベース８０１は、第１の受信部５０２が受信した通信データを記憶する。
データベース８０１は、通信データ記憶部の例に相当する。
【００３６】
図４は、データ受信装置１０５の構成例を示す。
データ受信装置１０５は、実行部７０１を備える。
【００３７】
実行部７０１は、監視装置１０３から送信されてきた通信データ（すなわち、データ作成装置１０１から送信されてきた通信データ）を保管し、また、通信データに基づいて処理を実行する。
【００３８】
実行部７０１において、データ受信部７０２は、監視装置１０３の監視部５０１から送信されてきた通信データを受信する。
データ保管部７０３は、データ受信部７０２が受信した通信データを保管する。
データ実行部７０４は、通信データに対する処理を実行する。
【００３９】
次に、データ作成装置１０１に異常が起こっているかを検知する方法を開示する。
以下、図５を参照して、データ作成装置１０１の動作を説明し、図６を参照して、監視装置１０３の動作を説明する。
【００４０】
最初に、データ作成装置１０１を利用しているユーザが、データ作成装置１０１に接続されたキーボード等を用いてデータ受信装置１０５向けの入力データを生成し、入力部２０３が入力データを入力し、データ作成制御部２０２が、入力データを記憶データとしてデータベース４０１に格納する（図５のＳ５０１）。
次に、データ作成制御部２０２が、データベース４０１から記憶データを読み出し、読み出した記憶データを通信データとして送信部２０６に出力し、送信部２０６は通信データをデータ受信装置１０５を宛先としてネットワーク１０２に送信する（Ｓ５０２）。
前述したように、送信部２０６は第１の通信プログラムを実行して通信データを送信する。
【００４１】
次に、監視装置１０３において、第１の受信部５０２が、データ作成装置１０１からの通信データを受信する（図６のＳ６０１）。
次に、第１の受信部５０２は、通信データをデータベース８０１に格納し（Ｓ６０２）、また、通信データのコピーを判定部５０３に出力する。
【００４２】
次に、判定部５０３が、通信データのコピーを受け取り、通信データのコピーを解析する（Ｓ６０３）。
例えば、判定部５０３は、補助データベース６０１に保管された補助データを用いて、通信データについての異常判定を行う。
もし、通信データに異常が発生していれば（Ｓ６０４でＹＥＳ）、判定部５０３は、通信データに異常が発生していることを通知する通知メッセージを生成する（Ｓ６１１）。
そして、判定部５０３は、通知メッセージを通知メッセージ送信部５０６に出力する。
通知メッセージ送信部５０６は、通知メッセージをデータ作成装置１０１に送信する（Ｓ６１２）。
【００４３】
Ｓ６０３及びＳ６０４の解析において、判定部５０３は、静的解析ツールを用いて通信データに異常がないかどうかを解析するようにしてもよい。
また、判定部５０３は、データ受信装置１０５と関連したシミュレータを用いてシミュレーションを実施して通信データに異常がないかどうかを解析するようにしてもよい。
また、判定部５０３が、通信データを、監視装置１０３に接続されているディスプレイに表示し、人（通信データを作成したユーザも含む）がディスプレイ上の通信データを解析して、異常がないかどうかを確認するようにしてもよい。
また、監視装置１０３に補助データベース６０１が備わっていない場合は、Ｓ６０３及びＳ６０４を省略して、判定部５０３がＳ６０５の処理を行うようにしてもよい。
【００４４】
監視装置１０３から通知メッセージが送信された場合は、データ作成装置１０１の通知メッセージ受信部２０７が通知メッセージを受信する（図５のＳ５０３でＹＥＳ）。
そして、表示部２０４が通知メッセージの内容を表示して（Ｓ５０７）、ユーザに通信データにおける異常を通知する。
【００４５】
一方、図６のＳ６０４において通信データに異常が発生していない場合（Ｓ６０４でＮＯ）は、監視装置１０３の判定部５０３が、再送要求メッセージを生成し（Ｓ６０５）、再送要求メッセージ送信部５０４に出力する。
再送要求メッセージは、データ作成装置１０１に対して、再送部３０４に第２の通信プログラムを実行して通信データを再送するよう要求するメッセージである。
再送要求メッセージ送信部５０４は、再送要求メッセージをネットワーク１０２を介してデータ作成装置１０１に送信する（Ｓ６０６）。
【００４６】
監視装置１０３から再送要求メッセージが送信された場合は、データ作成装置１０１の再送要求メッセージ受信部３０２が再送要求メッセージを受信する（図５のＳ５０４でＹＥＳ）。
再送要求メッセージ受信部３０２は、再送要求メッセージを抽出部３０３に出力する。
抽出部３０３は、再送要求メッセージに基づき、データベース４０１から、送信部２０６が通信データとして送信した記憶データを読み出し、読み出した記憶データを再送データとして再送部３０４に出力する。
再送部３０４は、抽出部３０３からの再送データをネットワーク１０２を介して監視装置１０３に送信する（Ｓ５０５）。
前述したように、再送部３０４は第２の通信プログラムを実行して通信データを送信する。
【００４７】
監視装置１０３では、第２の受信部５０５がデータ作成装置１０１から送信された再送データを受信する（図６のＳ６０７）。
第２の受信部５０５は、再送データを判定部５０３に出力する。
判定部５０３は、データベース８０１から通信データを読み出し、第２の受信部５０５からの再送データとデータベース８０１からの通信データとを比較し、通信データと再送データが一致しているかどうか判定する（Ｓ６０８）。
通信データと再送データが一致していない場合（Ｓ６０９でＮＯ）は、通信データと再送データが一致していないことを通知する通知メッセージを生成する（Ｓ６１１）。
そして、判定部５０３は、通知メッセージを通知メッセージ送信部５０６に出力する。
通知メッセージ送信部５０６は、通知メッセージをデータ作成装置１０１に送信する（Ｓ６１２）。
この場合も、データ作成装置１０１では、表示部２０４が通知メッセージの内容を表示し（Ｓ５０７）、ユーザに通信データと再送データが一致していないことを通知する。
【００４８】
一方、通信データと再送データが一致している場合（Ｓ６０９でＹＥＳ）は、判定部５０３は、通信データを通信データ送信部５０７に出力する。
また、判定部５０３は、今後実施される通信データの異常判定（Ｓ６０３）の効率化を図るため、並行して、補助データベース６０１に通信データを保管してもよい。
通信データ送信部５０７は、通信データをネットワーク１０４を介してデータ受信装置１０５に送信する（Ｓ６１０）。
【００４９】
Ｓ６０８及びＳ６０９の解析において、判定部５０３は、静的解析ツールを用いて通信データと再送データとを比較し、通信データと再送データとの間の差分を確認するようにしてもよい。
また、判定部５０３は、データ受信装置１０５と関連したシミュレータを用いてシミュレーションを実施して、通信データと再送データとを比較するようにしてもよい。
また、判定部５０３は、通信データのバイナリデータと再送データのバイナリデータを比べて、両者が一致しているか判定するようにしてもよい。
また、判定部５０３が、通信データと再送データを、監視装置１０３に接続されているディスプレイに表示し、人（通信データを作成したユーザも含む）がディスプレイ上の通信データと再送データを解析して、両者が一致するかどうかを確認するようにしてもよい。
【００５０】
ここで、バイナリデータを用いて判定を行う場合には、通信データ及び再送データに送信時刻などデータ内容と直接関係のない情報が含まれてしまう可能性があるため、それら関係ない部分を除いたバイナリデータで両者が一致するか判定すればよい。
また、補助データベース６０１に保管されている補助データに基づき、比較時に、関係ない部分を取り除くこともできる。
【００５１】
データ受信装置１０５では、実行部７０１のデータ受信部７０２が、データ作成装置１０１（実際には監視装置１０３）から送信された通信データを受信する。
そして、データ保管部７０３は、通信データを保管する。
また、データ実行部７０４は、状況に応じて、通信データに対する処理を実行する、またはデータ保管部７０３に保管されている保管データを読み出し、保管データに対する処理を実行する。
【００５２】
以上の手順によって、データ作成装置１０１での異常を検知することができる。
例えば、データ作成装置１０１の送信部２０６が実行する第１の通信プログラムに異常が発生している一方で、再送部３０４が実行する第２の通信プログラムが正常である場合は、通信データと再送データとが一致しない可能性が高い。
つまり、第１の通信プログラムの異常により、データベース４０１に記憶されている記憶データが書き換えられて送信部２０６から通信データとして送信される可能性がある。
第２の通信プログラムは正常なので、データベース４０１に記憶されている記憶データがそのまま再送データとして再送部３０４から送信される。
このため、監視装置１０３において通信データと再送データとの不一致を抽出することで、データ作成装置１０１での異常を検知することができる。
【００５３】
また、本実施の形態によれば、データ作成装置１０１内のソフトウェアの異常を検知できることに加えて、データ作成装置１０１のハードウェア（例えば、通信をするためのハードウェア）の異常によって通信データが書き換えられてしまった場合も、監視装置１０３は、データ作成装置１０１の異常を検知することができる。
【００５４】
このように、本実施の形態によれば、特許文献１のように事前に入力データと出力データの組を用意することなく、データ作成装置１０１の異常を検知することができる。
また、監視装置１０３内にある補助データベース６０１に理想的な入力データと出力データの組を用意しておくと、特許文献１のような方式を実行できるため、より異常検知の精度を上げることも可能である。
【００５５】
また、前述したように、データ作成装置１０１の異常によって、ユーザの知らぬ間に通信データが書き換えられて送信される可能性がある。
本実施の形態に係る監視装置１０３が配置されてない場合は、書き換えられた後の通信データがデータ受信装置１０５に届いてしまうので、データ受信装置１０５では、書き換えられた通信データに基づき処理が実行される。
このため、書き換えられた内容によっては、データ受信装置１０５が故障してしまう危険性がある。
本実施の形態に係る監視装置によれば、監視装置１０３が、データ作成装置１０１の異常を検知した場合には、データ受信装置１０５に通信データが届かないので、データ受信装置１０５の故障を回避することができる。
【００５６】
最後に、本実施の形態に示したデータ作成装置１０１及び監視装置１０３のハードウェア構成例を図７を参照して説明する。
データ作成装置１０１及び監視装置１０３はコンピュータであり、データ作成装置１０１及び監視装置１０３の各要素をプログラムで実現することができる。
データ作成装置１０１及び監視装置１０３のハードウェア構成としては、バスに、演算装置９０１、外部記憶装置９０２、主記憶装置９０３、通信装置９０４、入出力装置９０５が接続されている。
【００５７】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
外部記憶装置９０２は、例えばＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュメモリ、ハードディスク装置である。
主記憶装置９０３は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、送信部２０６、通知メッセージ受信部２０７、再送要求メッセージ受信部３０２、再送部３０４、第１の受信部５０２、第２の受信部５０５、再送要求メッセージ送信部５０４、通知メッセージ送信部５０６、通信データ送信部５０７の物理層に対応する。
入出力装置９０５は、例えばマウス、キーボード、ディスプレイ装置等である。
【００５８】
プログラムは、通常は外部記憶装置９０２に記憶されており、主記憶装置９０３にロードされた状態で、順次演算装置９０１に読み込まれ、実行される。
プログラムは、図１に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置９０２にはオペレーティングシステム（ＯＳ）も記憶されており、ＯＳの少なくとも一部が主記憶装置９０３にロードされ、演算装置９０１はＯＳを実行しながら、図１に示す「〜部」の機能を実現するプログラムを実行する。
また、本実施の形態の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の検知」、「〜の解析」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置９０３にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置９０３にファイルとして記憶されてもよい。
【００５９】
なお、図７の構成は、あくまでもデータ作成装置１０１及び監視装置１０３のハードウェア構成の一例を示すものであり、データ作成装置１０１及び監視装置１０３のハードウェア構成は図７に記載の構成に限らず、他の構成であってもよい。
また、本実施の形態に示したデータ受信装置１０５も、図７のハードウェア構成をしていてもよいし、他のハードウェア構成であってもよい。
【００６０】
また、本実施の形態に示す手順により、本発明に係るデータ処理方法及びデータ通信方法を実現可能である。
【符号の説明】
【００６１】
１００  通信システム、１０１  データ作成装置、１０２  ネットワーク、１０３  監視装置、１０４  ネットワーク、１０５  データ受信装置、２０１  データ作成部、２０２  データ作成制御部、２０３  入力部、２０４  表示部、２０５  データベース管理部、２０６  送信部、２０７  通知メッセージ受信部、３０１  監視装置連携部、３０２  再送要求メッセージ受信部、３０３  抽出部、３０４  再送部、４０１  データベース、５０１  監視部、５０２  第１の受信部、５０３  判定部、５０４  再送要求メッセージ送信部、５０５  第２の受信部、５０６  通知メッセージ送信部、５０７  通信データ送信部、６０１  補助データベース、７０１  実行部、７０２  データ受信部、７０３  データ保管部、７０４  データ実行部、８０１  データベース。
【図１】
0006038326.tif 000002
【図２】
0006038326.tif 000003
【図３】
0006038326.tif 000004
【図４】
0006038326.tif 000005
【図５】
0006038326.tif 000006
【図６】
0006038326.tif 000007
【図７】
0006038326.tif 000008