(57)【要約】【課題】  ハードウェアの温度異常と調整処理の遅れを考慮して、データ喪失の危険がある装置の処理遅れを警告するための異常検出方法を提供する。【解決手段】  ハードウェアの処理遅れを推定するために決められた時間毎に、記録部に基準処理電文を送信し、送信した基準処理電文に対する応答を受信し、時刻取得機能により取得した基準処理時間を予め設定した遅れ基準値と比較し、遅れ基準値以上であればカウントし、遅れ基準値未満であればクリアを記録し、記録した値が予め設定した連続設定数以上になれば、温度異常またはハードウェアの調整などによる異常であると判断して異常を検知する。【選択図】図１
2006244165.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１以上の記録部にデータを記録するデータ処理をするプログラムであって、
ハードウェアの処理遅れを推定するために、決められた時間毎に、前記記録部に基準処理電文を送信し、前記送信した前記基準処理電文に対する応答を受信し、基準処理時間を取得する時間取得機能と、
前記基準処理時間と予め設定した遅れ基準値を比較して、前期遅れ基準値以上であればカウントし、前記遅れ基準値未満であればクリアして記録するカウンタ機能と、
前記記録した値が予め設定した連続設定数以上になれば、異常であると判断する異常検知機能と、
をコンピュータに提供するプログラム。
【請求項２】
前記遅れ基準値は、前記記録部の温度とハードウェアの処理遅れとの関係に基づいて設定することを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項３】
前記遅れ基準値は、記録準備処理によるハードウェアの処理遅れとの関係に基づいて設定することを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項４】
前記時間取得機能は、前記送信毎に開始時刻を取得し、前記送信した前記基準処理電文に対する応答を受信して終了時刻を取得し、前記開始時刻と前記終了時刻の差により前記基準処理時間とすることを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項５】
前記時間取得機能は、前記送信した前記基準処理電文に対する応答を受信するまでの時間を前記基準処理時間とすることを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項６】
前記時間取得機能は、前記ハードウェアで使用する一定周期の信号をカウントし、前記送信した前記基準処理電文に対する応答を受信するまでにカウントしたカウント数を前記基準処理時間とすることを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項７】
前記決められた時間は、予め設定した周期であることを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項８】
前記決められた時間は、前記記録部にデータを記録する直前であることを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項９】
前記異常検知機能は、異常検知後に異常通知する表示機能を有することを特徴とする請求項１に記載のコンピュータに提供するプログラム。
【請求項１０】
少なくとも１以上の記録部にデータを記録するデータ処理方法において、
ハードウェアの処理遅れを推定するために、決められた時間毎に、前記記録部に基準処理電文を送信し、前記送信した前記基準処理電文に対する応答を受信し、基準処理時間を取得し、
前記基準処理時間と予め設定した遅れ基準値を比較して、前期遅れ基準値以上であればカウントし、前記遅れ基準値未満であればクリアして記録するカウンタし、
前記記録した値が予め設定した連続設定数以上になれば、異常であると判断する、
ことを特徴とするデータ処理方法。
【請求項１１】
少なくとも１以上の記録部を有するデータ処理システムにおいて、
ハードウェアの処理遅れを推定するために、決められた時間毎に、前記記録部に基準処理電文を送信し、前記送信した前記基準処理電文に対する応答を受信し、基準処理時間を取得する時間取得手段と、
前記基準処理時間と予め設定した遅れ基準値を比較して、前期遅れ基準値以上であればカウントし、前記遅れ基準値未満であればクリアして記録するカウンタ手段と、
前記記録した値が予め設定した連続設定数以上になれば、異常であると判断する異常検知手段と、
を具備することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はハードウェアの処理遅れにおける不具合検知に係り、特にはハードウェア独自の保護機能による処理速度遅れを検知する技術に関する。
【背景技術】
【０００２】
今日、各種ハードウェア機器の組合せにより多種多様なシステム構築がされるよになっている。それにともないアプリケーションソフトもパソコン等の周辺機器を中心として多様化の方向にある。例えば、簡単なレジ会計機能システムであればパソコン、ディスプレイ、バーコードスキャナ、データ保存ドライブなどの機器により構築することができる。このようにレジ会計機能システムに使用される各機器にはパソコンを含めそれぞれに保証環境温度が設定されている。
【０００３】
また、各機器の保証温度を超えた場合の動作についても各機器により異なっている。例えば、処理速度が遅くなる、ハード部品が破損し装置そのものが動作しなくなり、記録中のデータが破損するなどの不具合が発生する。特にデータ保存装置は、記録媒体などへの書込むデータを、通常はキャッシュを使用し、ある程度のデータを一時的に蓄積し、その後蓄積されているデータを記録媒体に書込むという手順をとっている。このとき、データの書込みの完了通知をアプリケーションに対して返す場合に、キャッシュにデータを蓄積した時点で完了通知を返している。このため、キャッシュへの蓄積段階で、不具合によりデータ保存装置側が停止すると、アプリケーション上では完了しているはずのデータが、保存装置側では保存されず失われる場合がある。
【０００４】
通常上記説明した各ハードウェア機器には、各機器内部のハードウェアに起きた不具合による異常を検知し各機器自身で処理をしてしまうことが多いため、アプリケーションに不具合を通知する手段をもたないことがある。そのためアプリケーションが不具合による異常検知の通知（警告など）を検知する機能を有していないことがある。
【０００５】
そのため、突然アプリケーションがデータの保存に失敗したり、データが破壊されたり、失われたりするなどの致命的な被害の発生を回避することが困難である。
特許文献１によれば、データ処理装置の内部温度が正常なときは、装置の最大処理能力を発揮し、温度の異常を検知したときは、データ処理速度を低下させ処理作業を継続する装置が提案されている。
【０００６】
また、特許文献２によれば、ＣＰＵとその周辺回路の基準クロック信号の速度を変化させる回路を設けている。例えば、処理速度をさほど必要としない場合、クロック速度を下げることにより消費電力を低減させ、温度自動調整を可能にする装置と方法が提案されている。また、特許文献３によればディスク装置の温度上昇を推定し利用者に警告信号を通知するシステムが提案されている。具体的には温度上昇を検知するために、ディスク装置が設置されている場所の温度である環境温度と、電源供給時間とアクセス時間に基づいた推定と、時刻に基づいて変化する環境温度の推定をし、それらの推定結果から装置の温度上昇を推定し危険温度を超えている場合に警告信号を通知している。
【特許文献１】特開昭６３−４１９４０号公報
【特許文献２】特開平２−１７１８１３号公報
【特許文献３】特開平１０−２８３７６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、各機器の保証温度を超えた場合の動作によって、発生する不具合の状況は各機器により異なっている。そのため、各機器にハードウェアで構成した不具合を検知する手段を設けることが考えられる。例えば、特許文献１〜３によれば、温度上昇により発生する機器の不具合を検知するハードウェア（回路など）を設けて不具合を回避している。
【０００８】
しかし、専用ハードウェアを必須条件とすることはアプリケーションの導入の容易性というメリットが損なわれるため望ましくない。また、保証環境温度を超えて使用した場合、機器メーカの補償範囲外となるが、ユーザは常に各機器の環境温度を測定および管理をし、使用するのは煩雑であり困難である。
【０００９】
また、外気温を測定していても、ハードウェア機器は通常発熱するため環境温度の測定場所によって予測が困難である。
これら機器の中には、記録したデータを保護するために環境温度によって処理速度を遅くし、書込み負荷を低減することにより温度上昇を抑える、という機構を持った装置もある。
【００１０】
例えば、あるＭＯドライブ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ）では図６のように、ＭＯドライブ内部温度の上昇に伴って、処理待ち時間を設定している。センサ温度（℃）が５１℃以下のときは待ち時間（秒）なしとし、５２℃では０．３３秒の待ち時間を設定している。５３℃では待ち時間１．３３秒、５４℃では３．００秒、５５℃以上では５．３３秒としている。
【００１１】
また、温度が低下した場合は、２℃では０．３３秒の待ち時間を設定している。１℃では待ち時間１．３３秒、０℃では３．００秒、−１℃以上では５．３３秒としている。
上記の設定がされたＭＯドライブを通気のない箱に入れて、６バイトのデータの書込みを連続して行った実験結果である図７は、各機器の温度上昇に伴う書込み処理時間の推移を示した図である。縦軸を時間（ｍｓｅｃ）とし、横軸をファイル（データ）の書込み回数としている。
【００１２】
図７Ａはファイルの書込み回数を０〜４０００回までを示している。図７Ｂは３６６０〜３７５０回の部分の拡大図である。また、図７Ｃはさらに時間軸を０〜２００００（ｍｓｅｃ）に拡大し、図７Ｄではさらにファイル書込み回数を３６６８〜３６８８に拡大し、時間軸を０〜５０００（ｍｓｅｃ）に拡大したものである。
【００１３】
上記図は各機器の内部温度上昇に伴う処理時間の増加が発生し、最終的にはサーマルエラーにより書込みが失敗する。このような各機器の温度変化を監視するには定期的に書込みを行って処理速度を測定し、ハードウェアによる処理遅れの発生を監視する必要がある。
【００１４】
さらに、ハードウェアの処理遅れの要因が温度上昇だけによるわけではない。例えばＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）上で動作するアプリケーションとデータ保存ドライブの間には図８のようにＯＳによる処理が存在する。
【００１５】
アプリケーションは、ＭＯドライブへアクセスするために、破線のＯＳ処理（ドライバの処理を示す）を実施する。ＯＳ処理はファイルシステム、ｄｉｓｋ用汎用ドライバ、Ｍａｓｓ  Ｓｔｏｒａｇｅ  Ｃｌａｓｓ  Ｄｒｉｖｅｒ、ＵＳＢホストコントローラ用ドライバなどの処理をし、ハードウェアであるホストコントローラの制御をし、ＭＯディスクへの書込みデータを用意する。その後ＵＳＢケーブルを介してＭＯドライブにアクセスして書込み処理をする。
【００１６】
このとき、ＭＯはドライブが図９に示したように書込み処理前準備（ハードウェア調整）をする。
ステップＳ９１では、ＯＳからデータ書込み命令を受信し、ステップＳ９２では、ＭＯディスク（記録媒体）の書込み予定位置を計算によって算出し、その後ステップＳ９３では、書込みヘッドの位置を移動する。
【００１７】
ステップＳ９４では、書込みヘッドが予定通りの位置に移動したかを確認する。
成功していればステップＳ９５（ＹＥＳ）で、記録媒体へのデータ書込みをする。
ステップＳ９６で書込みが成功していれば、ステップＳ９９で書込みの成功を通知する。書込みに失敗していればステップＳ９７で、リトライ回数をカウントし、ステップＳ９８で予め設定してあるリトライ回数（図では５回に設定）を超えたときは、ステップＳ９１４（ＮＯ）で書込みの失敗をＯＳに通知する。該設定値でなければ再度Ｓ９５で書込みを実施する。
【００１８】
Ｓ９４で失敗した場合は、ステップＳ９１０（ＮＯ）で、失敗した回数をカウントする。ステップＳ９１１では、予め設定した失敗割合（図では１／１００）とＳ９１０の該カウンタ値に基づき算出した割合とを比較する。そのとき失敗割合が設定値以上であればステップＳ９１２（ＹＥＳ）書込みヘッド調整部の調整をし、ＮＯであればＳ９２で書込み位置の再計算をする。
【００１９】
ステップＳ９１３で調整に成功していれば、再度Ｓ９２で書込み位置の再計算をする。失敗すればＳ９１４（ＮＯ）で書込み失敗をＯＳに通知する。このようにハードウェアの異常処理を監視して通知することが、各装置で行われている。
【００２０】
図１０〜１２は図８に示すアプリケーションとＭＯドライブ間のデータ処理を実際にオシロスコープで観測した例である。例えば、ＭＯドライブに設けたパネルＬＥＤを、ＭＯ書込み処理に対応して点滅をするようにし、書込み時はＬＥＤがＯＮ（Ｈｉｇｈ）とする。ここで書込みとはホスト側からコマンドを受けてＭＯドライブが書込み動作して終了するまでの状態である。また、パネルＬＥＤがＯＦＦ（Ｌｏｗ）とはＭＯドライブが書込み処理をしていない状態である。
【００２１】
図１０と図１１では、コマンド間の待ち時間の長さにより処理時間が一定にならない例を示している。
図１０と図１１は１つのファイルの書込みを行う際に、ファイルオープン（Ａ）、データ書込み（Ｂ、Ｃ、Ｄ、Ｅ）、タイムスタンプクリア（Ｆ）、ファイルクローズ（Ｇ）をしたときの、クロック波形とＭＯドライブへのアクセス時（Ｈｉｇｈ）の波形を示している。
【００２２】
図１０ではＭＯドライブへのアクセス時の波形は、ファイルオープン（Ａ）＝８９（ｍｓｅｃ）、データ（Ｂ）＝６３（ｍｓｅｃ）、ファイル名（Ｃ）＝６０（ｍｓｅｃ）、ＦＡＴ(ファイル管理テーブル)書込み（Ｄ）＝８１（ｍｓｅｃ）、ＦＡＴ書込み（Ｅ）＝４８（ｍｓｅｃ）、タイムスタンプクリア（Ｆ）＝８２（ｍｓｅｃ）、ファイルクローズ（Ｇ）＝５５（ｍｓｅｃ）となっている。
【００２３】
図１１では、ファイルオープン（Ａ）＝７５（ｍｓｅｃ）、データ（Ｂ）＝５３（ｍｓｅｃ）、ファイル名（Ｃ）＝６１（ｍｓｅｃ）、ＦＡＴ書込み（Ｄ）＝８１（ｍｓｅｃ）、ＦＡＴ書込み（Ｅ）＝４９（ｍｓｅｃ）、タイムスタンプクリア（Ｆ）＝６７（ｍｓｅｃ）、ファイルクローズ（Ｇ）＝５０（ｍｓｅｃ）となっている。
【００２４】
ここで、図１０のＡ〜Ｇの処理時間は５８８（ｍｓｅｃ）（矢印）であり、図１１のＡ〜Ｇの処理時間は４３４（ｍｓｅｃ）（矢印）である。この処理時間の違いが原因となり待ち時間の差となる。ＢＣ間の待ち時間では４１−３＝３８（ｍｓｅｃ）の違いがある。（４１（ｍｓｅｃ）は図１０、３（ｍｓｅｃ）は図１１）また、ＣＤ間の待ち時間は図１０では３７（ｍｓｅｃ）、ＦＧ間の待ち時間は４３（ｍｓｅｃ）であるのに対し図１１ではこのような待ち時間が発生していない。このようにＭＯドライブで１つのファイルを書込む場合でもＯＳ処理の時間は待ち時間などにより必ずしも一定にならない。
【００２５】
また、一般的にＯＳはアプリケーションの処理とは別にＦＡＴの書込みを非同期に実施したり、処理開始までの時間を調整したりするため、アプリケーションで同じ処理を行っても処理時間は必ずしも一定にならない。
【００２６】
図１２は、図１０、図１１に示したファイルの書込み処理の他にＦＡＴ書込みが発生した場合の例である。ＦＡＴ書込み（Ｈ）＝８６（ｍｓｅｃ）、ＦＡＴ書込み（Ｉ）＝８５（ｍｓｅｃ）と、ファイルオープン（Ａ）までに発生する待ち時間＝２１５（ｍｓｅｃ）がある。上記説明した図８は、ＯＳ独自の理由などによっても処理時間が必ずしも一定にならない。
【００２７】
また、上記説明したようにライトコマンドにより書込み処理をする場合、アプリケーション上では１命令のようにみえるが、図１０、１１に示したようにＭＯドライブにおいては実際には７命令（Ａ〜Ｇ）として処理される。そして規定温度範囲以外では、一命令ごとに待ち時間が発生するため、書込み処理であれば処理時間の遅れは７倍となる。
【００２８】
本発明は上記のような実情に鑑みてなされたものであり、上記温度異常と、温度異常によらない処理（ハードウェアの調整時の異常監視処理など）の遅れも考慮して、データ喪失の危険があるハードウェアの処理遅れを警告するための異常検出を提供することを目的とする。
【課題を解決するための手段】
【００２９】
請求項１に記載の発明によれば、少なくとも１以上の記録部にデータを記録するデータ処理をするプログラムであって、ハードウェアの処理遅れを推定するために、決められた時間毎に、上記記録部に基準処理電文を送信し、上記送信した上記基準処理電文に対する応答を受信し、基準処理時間を取得する時間取得機能と、上記基準処理時間と予め設定した遅れ基準値を比較して、上記遅れ基準値以上であればカウントし、上記遅れ基準値未満であればクリアして記録するカウンタ機能と、上記記録した値が予め設定した連続設定数以上になれば、異常であると判断する異常検知機能と、をコンピュータに提供するプログラムである。
【００３０】
請求項２に記載の発明によれば、上記遅れ基準値は、上記記録部の温度とハードウェアの処理遅れとの関係に基づいて設定するコンピュータに提供するプログラムである。上記プログラムにより、温度異常による処理の遅れも考慮して、データ喪失の危険がある装置の異常を検出し警告ができる。
【００３１】
請求項３に記載の発明によれば、上記遅れ基準値は、記録準備処理によるハードウェアの処理遅れとの関係に基づいて設定するコンピュータに提供するプログラムである。上記プログラムにより、セクタ異常、記録ヘッドの異常による遅れを考慮して、データ喪失の危険がある装置の異常を検出し警告ができる。
【００３２】
請求項４に記載の発明によれば、上記時間取得機能は、上記送信毎に開始時刻を取得し、上記送信した上記基準処理電文に対する応答を受信して終了時刻を取得し、上記開始時刻と上記終了時刻の差により上記基準処理時間とすることをコンピュータに提供するプログラムである。
【００３３】
請求項５に記載の発明によれば、上記時間取得機能は、上記送信した上記基準処理電文に対する応答を受信するまでの時間を上記基準処理時間とするコンピュータに提供するプログラムである。
【００３４】
請求項６に記載の発明によれば、上記時間取得機能は、上記ハードウェアで使用する一定周期の信号をカウントし、上記送信した上記基準処理電文に対する応答を受信するまでにカウントしたカウント数を上記基準処理時間とするコンピュータに提供するプログラムである。
【００３５】
請求項７に記載の発明によれば、上記決められた時間は、予め設定した周期であるコンピュータに提供するプログラムである。
請求項８に記載の発明によれば、上記決められた時間は、上記記録部にデータを記録する直前であるコンピュータに提供するプログラム。
【００３６】
請求項９に記載の発明によれば、上記異常検知機能は、異常検知後に異常通知する表示機能を有するコンピュータに提供するプログラム。
請求項１０に記載の発明によれば、少なくとも１以上の記録部にデータを記録するデータ処理方法において、ハードウェアの処理遅れを推定するために、決められた時間毎に、上記記録部に基準処理電文を送信し、上記送信した上記基準処理電文に対する応答を受信し、基準処理時間を取得し、上記基準処理時間と予め設定した遅れ基準値を比較して、前期遅れ基準値以上であればカウントし、上記遅れ基準値未満であればクリアして記録するカウンタし、上記記録した値が予め設定した連続設定数以上になれば、異常であると判断することを特徴とする。上記システムにより、温度異常および温度異常によらない処理の遅れも考慮して、データ喪失の危険がある装置の異常を検出し警告ができる。
【００３７】
請求項１１に記載の発明によれば、少なくとも１以上の記録部を有するデータ処理システムにおいて、ハードウェアの処理遅れを推定するために、決められた時間毎に、上記記録部に基準処理電文を送信し、上記送信した上記基準処理電文に対する応答を受信し、基準処理時間を取得する時間取得手段と、上記基準処理時間と予め設定した遅れ基準値を比較して、前期遅れ基準値以上であればカウントし、上記遅れ基準値未満であればクリアして記録するカウンタ手段と、上記記録した値が予め設定した連続設定数以上になれば、異常であると判断する異常検知手段と、を具備する構成とする。上記システムにより、温度異常および温度異常によらない処理の遅れも考慮して、データ喪失の危険がある装置の異常を検出し警告ができる。
【発明の効果】
【００３８】
アプリケーションに、各機器のハードウェアの処理による遅れを警告するための処理遅れ検出・警告機能を付加することにより、専用ハードウェアを作成することなく、温度異常による異常の検知（警告）が可能になる。さらに、保証環境温度を越えた場合に、突然アプリケーションがデータの保存に失敗したり、データが破壊されたり、またデータそのものが失われるなどの被害が発生することを回避することが可能になる。
【発明を実施するための最良の形態】
【００３９】
以下図面に基づいて、本発明の実施形態について詳細を説明する。
図１のフローを用い処理遅れの検出方法について説明する。各機器（記録部を有する機器）の温度による処理の遅れは、それ以外の遅れが単発的に発生するのに対し、温度の測定の間隔が十分あることと装置温度が急激に変化しないため連続して発生する傾向がある。そのため、温度による処理の遅れを検出するには、基準とする一定の処理に対して、基準値（正常値）より処理が連続して遅れる状態を検出すればよい。
【００４０】
なお、温度異常以外のデータ処理遅れの場合は、上記説明した記録媒体への書込み時のハードウェア調整などの記録準備処理により発生する遅れを検出することが可能である。
図１のステップＳ１によれば、ＯＳの時計から、基準処理開始時刻を取得する。このとき、時間算出の際に使用する時計の時刻精度を確認する必要がある。必ず時計の精度の設定を行い、より正確な時刻を算出できるようにする。通常ソフトウェアの時計は時刻精度がよくないため、ＯＳの時刻精度を設定により変更し精度を上げて使用する。
【００４１】
ステップＳ２では、ＭＯドライバなどの記録装置へ、アプリケーションから基準処理電文を送信する。ここで基準処理電文とはライトコマンド（４バイト）などによる命令である。なお、同じアプリケーション上の１コマンド処理でもＭＯドライブ上の処理数が異なることから、ＭＯドライブ上での処理数が多い方が図６の待ち時間などを考慮すると、誤差による影響が少ないといえる。そのため、リードコマンドがＭＯドライブ処理上でも１処理であるのに対し、ライトコマンドはアプリケーション上の１処理がＭＯドライブ上では７処理となるため、リードコマンドよりライトコマンドの方が基準処理に適している。
【００４２】
次に、ステップＳ３では、上記記録装置からの基準処理に対する応答を受信する。そして、ステップＳ４では受信を確認し、上記ＯＳの時計から基準処理時刻を取得する。ステップＳ５では、Ｓ１とＳ４で取得した時刻から、基準処理時間として終了時刻（Ｓ４で取得した時刻）−開始時刻（Ｓ１で取得した時刻）を算出する。
【００４３】
ここで、基準処理時間はタイマー機能により、送信開始直前にタイマーをクリアし、送信してから応答を受信するまでの時間を取得してもよい。
また、ハードウェアに使用されているシステムクロックや一定の周期を有する信号利用して、クロック数または該信号をカウントするカウンタ機能を設けて基準処理時間としてもよい。
【００４４】
ステップＳ６では、予め設定されている遅れ基準値と基準処理時間を比較する。遅れ基準値は、図１０で説明したような処理時間５８８（ｍｓｅｃ）や図１１で説明した処理時間４３４（ｍｓｅｃ）のような、１つのコマンドを処理するのにかかる処理時間である。また遅れ基準値は予め設定することができる。そして比較結果により基準処理時間が遅れ基準値を超えていなければ（ＮＯ）、ステップ７でＭＷカウンタの値をクリア（ＭＷカウンタ＝０）にする。一方遅れ基準値を超えていれば（ＹＥＳ）、ステップＳ８に進み現在のＭＷカウンタの値にカウントして１を加算する。
【００４５】
ステップＳ９では、連続設定数とカウンタ値を比較して判断する。連続設定値は、例えば温度異常における平均的に発生する機器の不具合を推定するための設定値である。この設定した連続設定数以上にカウンタ値がなった場合（ＹＥＳ）であれば、ステップＳ１０で処理遅れ警告を出力し、次の処理に進む。
【００４６】
ここで警告は例えば、ＰＣの画面に表示してもよいし、表示器などを点灯させてもよいし、音声を利用してもよい。
なお、処理遅れの監視タイミングは一定間隔が望ましいが、システムへの負担を軽減するため、保護すべき実際の運用データを書込む直前に監視するものでもよい。また、連続した遅れ処理の発生は、その後に書込み失敗やデータが失われる可能性があるため、処理待ちのデータについては一度書込み処理を中止し、正常状態確認後リトライを行うことにより復帰する。
【００４７】
なお、基準となる一定の処理にはさまざまなコマンドが使用できるが、アプリケーション上では、処理に負担をかけないためにはコマンドが少ない方が好適である。
（実施例１）
図２のデータ保存システムを用い、検出方法（図１で説明した検出のフロー）の実施例を説明する。本システムはデータ管理サーバ１とデータ送信クライアント２とをハブ（ＨＵＢ）５を介しＬＡＮケーブルで接続し、データ管理サーバ１とデータ保存用ＭＯドライブ正３、データ保存用ＭＯドライブ副４をＵＳＢケーブルで接続して構築される。
【００４８】
図２のシステムでは、データ管理サーバ１にインストールされたアプリケーションは、複数のデータ送信クライアント２からデータを受信し２台のデータ保存用ＭＯドライブ正３とデータ保存用ＭＯドライブ副４の記録媒体であるＭＯディスクに、受信したデータを記録している。
【００４９】
そして、データ管理サーバ１は、２台のＭＯドライブ正３、副４それぞれについて処理遅れを監視する。また、処理時間を実測するため、２台のＭＯドライブ正３、副４およびＯＳのキャッシュは使用しないように設定する。ただし、取得した処理時間の精度が保証できればその限りではない。
【００５０】
次に、上記図１で説明した基準処理電文である一定の処理を「４バイトのデータを書込む」とする。その場合の２台のＭＯドライブ正３、副４のＭＯディスクそれぞれに４バイトのデータを書込むアクセス時間が、判定基準時間（Ｓ６の遅れ基準値）を、設定回数（Ｓ８の連続設定数）を連続で超えた場合に処理遅れ発生と判断する。また、４バイトのデータを処理するのに要する正常な処理時間はＣＰＵやＭＯドライブ３、４などの性能や信頼度に依存するため、判定基準時間と設定回数はアプリケーション内の固定値にせず、設定ファイルに持たせるものとする。
【００５１】
例えば、図３に示すようにデータ管理サーバの設定ファイルに、遅れ検出値、連続遅れ回数を設定する。
遅れ基準値は式１に示すように通常処理時間、遅れ基準値、初回遅れ処理時間により基準値決定条件を設定する。
（通常処理時間）＜（遅れ基準値）＜（初回遅れ処理時間）      （式１）
通常処理時間は図７Ｄ図に示すように、通常の処理時間は０．３（秒）以下であるが同図において矢印の示す時刻に約０．３９〜０．４（秒）になる。この結果に基づき通常処理時間を０．３９（秒）とする。
【００５２】
また、図６に示すようにＭＯドライブのセンサ温度と待ち時間の関係がわかっていれば、５２℃になるとＭＯドライブに遅れ時間が０．３３（秒）発生するので最初の処理遅れを０．３３（秒）とする。温度と待ち時間の関係がわからない場合は、実測しその結果に基づき最初の処理遅れを設定する。
【００５３】
次に、初回遅れ処理時間を式２に示す演算によって算出する。
（初回遅れ処理時間）＝（最初の処理遅れ）×７回＋（通常処理）  （式２）
式２に数値を代入して演算した結果を式３に示す。
０．３３  ×  ７  ＋  ０．３９  ＝  ２．７１（秒）          （式３）
そして、上記式１に演算結果を代入し式４を導き、この範囲内の時間を設定する。
０．３９＜（遅れ基準値）＜２．７１                          （式４）
ここでは、単発の処理遅れによる影響を小さくするために大きめの値として遅れ基準値を２．５（秒）とする。
【００５４】
上述したようにデータ管理サーバ１はアプリケーション起動時に遅延回数の設定を管理サーバ設定ファイル（図３）より取得する。通常処理の合間に定期的に基準データの書込みを行い、遅れ基準値を超えて処理遅れが発生したタイミングで監視カウンタをインクリメントし、カウンタが設定回数以上になったタイミングで遅れ警告処理をする。設定回数に満たない場合はＭＷカウンタのインクリメントのみを行い、遅れが発生しなかった場合はＭＷカウンタをクリアする。
【００５５】
次に、データ管理サーバ１の処理を、データ保存アプリケーションの遅れ判定処理フロー例により図４を用い説明する。ここでは、図２に示すシステムのＭＯドライブ正３、副４とも温度上昇による遅れが発生したために全ての処理に遅れが発生し、連続遅れの設定回数は２回に設定しているとする。
【００５６】
ステップＳ４１は、ＭＯドライブ正３、副４のそれぞれのハードウェア処理の遅れを１回検出した状態で、ＭＷカウンタとＳＷカウンタの値がともに１である場合を示す。また、ＭＷカウンタは上記説明したように、遅れ検出をする毎に１カウントをするカウンタである。またＳＷカウンタも同様のカウンタである。そして、ＭＷカウンタをＭＯドライブ正３側の有するカウンタとし、ＳＷカウンタをＭＯドライブ副４側の有するカウンタとしている。
【００５７】
また、Ｓ４１においては、例えば電源投入時の初期値、またはハードウェア異常を検出しない状態で動作していたが、ＭＯドライブ内部の温度上昇が発生し、ＭＷカウンタ、ＳＷカウンタが１回カウントした状態である。
【００５８】
これに対して、ステップＳ４２は、ＭＯドライブ正３、副４ともに２回続けて異常を検出した場合の処理を示している。
ステップＳ４１の内容について説明する。ステップＳ４３では、ＭＯドライブ正３側のハードウェアの遅れを図１に示したフローにより確認する。ＭＷカウンタは異常を検知するとＭＷカウンタ＝１とする。ステップＳ４４では、ＭＯドライブ正３のＭＯディスク（記録媒体）へデータを書込む処理などをする。
【００５９】
ステップＳ４５では、Ｓ４３と同様に、ＭＯドライブ副４の遅れ確認処理をし、異常を検知したためＳＷカウンタの値が１になった状態である。次にステップＳ４６では、ＭＯドライブ副４のＭＯディスク（記録媒体）へデータを書込む処理などをする。
【００６０】
ステップＳ４２の内容について説明する。Ｓ４２は連続してハードウェアの異常を検出した場合を示している。ステップＳ４７では、Ｓ４３と同様にＭＯドライブ正３側のハードウェアの遅れを図１に示したフローにより確認する。２回続けてＭＯドライブ正３が遅れを検出したためＭＷカウンタの示す値は２となる。上記示したように連続設定数が２に設定しているので、ステップＳ４８では、ＭＯドライブ正３に遅れ処理異常があることをサーバ１に「処理遅れ発生警告」として表示する。
【００６１】
ステップＳ４９では、クライアント２に対し処理待ちデータの中止を通知している。例えばデータ破棄の通知をする。ステップＳ４１０では、ＭＯドライブ正３のＭＯディスク（記録媒体）へデータを書込む処理などをする。
【００６２】
次に、ステップＳ４１１では、ＭＯドライブ副４にＳ４７同様に、遅れが確認されたためＳＷカウンタの値が２になり、ステップＳ４１２では、ＭＯドライブ副４の遅れ異常をサーバ１に「処理遅れ発生警告」として表示する。
【００６３】
ステップＳ４１３では、クライアント２に対し処理待ちデータ中止通知を行い、ステップＳ４１４では、ＭＯドライブ副４内のＭＯディスク（記録媒体）へデータを書込む処理などをする。
【００６４】
次に、データ管理サーバ１の処理を、遅れ発生データ保存アプリケーションの遅れ判定処理フロー例により図５を用い説明する。ただし、図２に示すシステムのＭＯドライブ正３は温度上昇による遅れ、ＭＯドライブ副４は単発の遅れの場合で、連続遅れ設定回数２回としている。
【００６５】
ステップＳ５１は、ＭＯドライブ正３、副４のそれぞれのハードウェア処理の遅れ検出を行い、異常を検出した状態を示し、ＭＷカウンタとＳＷカウンタの値がともに１である状態である。
【００６６】
なお、ＭＷカウンタは上記説明したように、遅れ検出をする毎に１カウントをするカウンタである。またＳＷカウンタも同様のカウンタである。そして、ＭＷカウンタをＭＯドライブ正３側の有するカウンタとし、ＳＷカウンタをＭＯドライブ副４側の有するカウンタとする。
【００６７】
ステップＳ５２では、ＭＯドライブ正３は２回続けて異常を検出し、ＭＯドライブ副４は正常に動作した場合の処理を示している。
ステップＳ５３では、ＭＯドライブ正３は３回続けて異常を検出し、ＭＯドライブ副４も異常を検出した場合の処理を示している。
【００６８】
ステップＳ５１での処理内容は、上述したＳ４３からＳ４６までの処理と同じ状態を示している。ステップＳ５４では、ＭＯドライブ正３も遅れ確認処理をする。そして異常があるためＭＷカウンタの値を１にしている。ステップＳ５５では、ＭＯドライブ正３のデータをＭＯディスクに書込み処理などする。
【００６９】
ステップＳ５６では、ＭＯドライブ副４も遅れ確認処理をする。そして異常があるためＭＷカウンタの値を１にしている。ステップＳ５７では、ＭＯドライブ副４のデータをＭＯディスクに書込む処理などする。
【００７０】
ステップＳ５２での処理内容について説明する。ステップＳ５８では、ＭＯドライブ正３の遅れ確認処理をし遅れが検出されたためＭＷカウンタ値に１加算し２とする。ステップＳ５９では、サーバ１に「処理遅れ発生警告」を表示する。ステップＳ５１０では、クライアント２に対し処理待ちデータの中止通知をする。ステップＳ５１１では、ＭＯドライブ正３へのデータ処理をする。
【００７１】
ステップＳ５１２では、ＭＯドライブ副４の遅れ確認処理をし、遅れが発生していないためＳＷカウンタの値をクリアし０にしている。ステップＳ５１３では、ＭＯドライブ副４のデータ処理をする。
【００７２】
次にＳ５３での処理内容について説明する。ステップＳ５１４では、ＭＯドライブ正３の遅れ確認処理を行い、処理遅れが発生したためにＭＷカウンタ値を３とする。ここでＭＷカウント値は加算しつづけるとオバーフローしてしまうためリミット値を設定してもよい。例えばＭＷカウンタ値が５以上になったら遅れが連続して発生している限り５を保持する。または、連続遅れ設定回数以上になったら遅れが連続して発生している間、ＭＷカウンタの値を連続遅れ設定回数のままを保持する。
【００７３】
ステップＳ５１５では、サーバ１にＭＯドライブ正３「処理遅れ発生警告」の表示をする。ステップＳ５１６では、クライアント２に対し処理待ちデータの中止通知をする。ステップＳ５１７では、ＭＯドライブ正３のＭＯディスクにデータ書込み処理などをする。
【００７４】
ステップＳ５１８では、ＭＯドライブ副４の遅れ確認処理をし、遅延が発生したため、ＳＷカウンタ値を１としている。その後ステップＳ５１９は、ＭＯドライブ副４の上述のデータ処理と同様の処理をする。
【００７５】
ここで、ＭＷカウンタおよびＳＷカウンタの比較値である連続設定値は適切な値を選定することで、温度上昇とそうでない場合の不具合による異常を判別している。そして連続して遅れが発生したときに温度上昇が原因で異常が発生したと判断している。しかしクライアント２が複数接続されている場合、クライアント２の接続数に合わせて連続設定値を設定する必要がある。クライアント２からＭＯドライブにデータを書込む指示がくる度に遅れ検出処理を入れると、本来のシステムに必要な処理に影響がでてくるため、影響を与えないような値を設定する必要がある。
【００７６】
なお、上記ではＭＯドライブへの書込みについて説明したが、ＭＯドライブ以外の記憶媒体についても当然であるが適用が可能である。
また、ＰＣの周辺機器や内部組込みの基板などについても同様に本検出方法を用いることで温度上昇による異常を検出することが可能になる。
【００７７】
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない範囲内で種々の改良、変更が可能である。
【図面の簡単な説明】
【００７８】
【図１】処理遅れ検出方法例を示したフロー図である。
【図２】データ保存システム構成を示した図である。
【図３】管理サーバ設定ファイル例である。
【図４】データ保存アプリケーション遅れ判定処理フロー例である。（連続遅れ設定回数２回：全ての処理に遅れ発生：正副とも温度上昇による遅れの場合）
【図５】データ保存アプリケーション遅れ判定処理フロー例である。（連続遅れ設定回数２回：副では間に正常処理がある遅れ発生：正側は温度上昇による遅れ、副側は単発の遅れの場合）
【図６】内部センサ温度と待ち時間の関係を示した図である。
【図７】装置温度上昇に伴う書込み処理時間の推移を示した図である。
【図８】アプリケーションとＭＯドライブ間のデータ処理手順の例である。
【図９】ハードウェア調整による処理フロー図である。
【図１０】ＭＯディスクに１ファイルを書き込む場合のＭＯドライブのオシロスコープ波形である。（コマンド間に待ち時間が入る場合）
【図１１】ＭＯディスクに１ファイルを書き込む場合のＭＯドライブのオシロスコープ波形である。（待ち時間が短い場合）
【図１２】ＭＯディスクに１ファイルを書き込む場合のＭＯドライブのオシロスコープ波形である。（アプリ処理以外でＦＡＴへの書込みが発生した場合）
【符号の説明】
【００７９】
１      サーバ（データ管理サーバ）
２      クライアント（データ送信クライアント１〜Ｎ）
３      ＭＯドライブ（データ保存用ＭＯドライブ正）
４      ＭＯドライブ（データ保存用ＭＯドライブ副）
５      ハブ（ＨＵＢ）
【図１】
2006244165.tif 000003
【図２】
2006244165.tif 000004
【図３】
2006244165.tif 000005
【図４】
2006244165.tif 000006
【図５】
2006244165.tif 000007
【図６】
2006244165.tif 000008
【図８】
2006244165.tif 000009
【図９】
2006244165.tif 000010
【図７】
2006244165.tif 000011
【図１０】
2006244165.tif 000012
【図１１】
2006244165.tif 000013
【図１２】
2006244165.tif 000014