(57)【要約】【課題】ソフトウエアで制御する装置で、ウオッチドッグタイマを使用してソフトウエアの異常検出を行う異常検出装置であって、システムレベルの異常なのか、ユーザレベルの異常なのかを分離することを目的とする。【解決手段】図１、デバイスドライバ１０２内に、ハードウエアデバイス１０１のプログラミングを行なってハードウエアを起動させるハードウエアデバイスコンフィグレーション部１１１が、ハードウエアデバイス１０１を起動させた後に、タイマアクセス制御部１１２を起動することにより、システムレベルのソフトウエアの動作を保障した上で、ユーザレベルの異常を検出する。【選択図】  図１
2005031724.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウエアによってハードウエアデバイスを制御する装置であって、
前記ハードウエアデバイス依存のハードウエアデバイス制御プログラムであるデバイスドライバと、
前記デバイスドライバ上で動作する少なくとも一つのハードウエアデバイス制御アプリケーションと、
前記デバイスドライバ内で動作して所定の間隔でハードウエアデバイスに対してアクセスするタイマアクセス制御部とを備え、
前記ハードウエアデバイスは、前記タイマアクセス制御部からのアクセスをもとにデバイスドライバ層のソフトウエアの動作状況を把握することを特徴とする異常検出装置。
【請求項２】
前記ハードウエアデバイスは、
ウオッチドックタイマと、
少なくとも一つの同期アクセス異常検出部と、
異常通知部とを備え、
前記ハードウエアデバイス制御アプリケーションは、所定の同期アクセスを行うアプリケーションであり、前記ウオッチドックタイマは、前記タイマアクセス制御部からの所定のアクセスをもとにデバイスドライバ層のソフトウエアの状況を把握して異常を検出したときに前記異常通知部に異常を通知し、前記同期アクセス異常検出部は、前記ハードウエアデバイス制御アプリケーションからの所定の同期アクセスをもとにハードウエアデバイス制御アプリケーションの状況を把握して異常を検出したときに前記異常通知部に異常を通知することを特徴とする請求項１記載の異常検出装置。
【請求項３】
前記デバイスドライバ、及び、前記ハードウエアデバイス制御アプリケーションは、システムレベルとユーザレベルを分離したオペレーションシステム上で動作し、前記デバイスドライバは、システムレベルで動作し、前記ハードウエアデバイス制御アプリケーションは、ユーザレベルで動作し、前記ハードウエアデバイス制御アプリケーションのみの異常の際には、ユーザレベルの異常と認識して、異常を生じたハードウエアデバイス制御アプリケーションのみに対して所定の異常処理を施すことを特徴とする請求項２記載の異常検出装置。
【請求項４】
前記ハードウエアデバイスは、プログラマブルなハードウエアデバイスであり、前記デバイスドライバは、前記ハードウエアデバイスをプログラミングしてハードウエアデバイスの機能を定義し、前記デバイスドライバは、ハードウエアデバイスのプログラミング後のハードウエアデバイスの起動を確認して、前記タイマアクセス制御部の起動を行うことを特徴とする請求項２乃至４記載のいずれかの異常検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウエアによりハードウエアデバイスの制御を行うシステムにおいて、ソフトウエア処理の異常を検出する異常検出装置に関する。
【０００２】
【従来の技術】
近年、映像・音響を扱う装置を始めとしたディジタル機器では、ＣＰＵを搭載し、ソフトウエアにより機器制御するとともに、映像・音響データをディジタル処理するシステムが普及してきている。これらの装置は、高い信頼性を要求される放送局などにも利用されており、機器の異常をできるだけ早く検出するとともに、システム全体がダウンしないように異常を生じたアプリケーションのみの異常なのかソフトウエア全体の異常なのかを特定するできるようにすることが望まれている。さらに、システムダウンがないように装置の二重化するなどの対策が施されている。二重化したシステムを速やかに切り替えるためにも、装置内のハードウエアデバイスの異常検出をするとともに、ソフトウエアの異常を速やかに検出できることが期待されている。
【０００３】
以下に従来の異常検出装置について説明する。
【０００４】
従来、異常検出装置は、特開平７−２２６１２０号公報に記載されたものが知られている。
【０００５】
図６は従来の異常検出装置のシステム図を示すものである。図６において６０１は異常通知手段、６０２は監視装置、６０３は周期ソフトであり、６０４は入力機器、６０５は出力機器、監視装置６０２の構成としては、６１１は異常検出手段、６１２は周期パラメータ入力手段、６１３は周期パラメータ設定手段である。
【０００６】
以上のように構成された異常検出装置について、以下にその動作について説明する。
【０００７】
まず、周期パラメータ設定手段６１３は、周期ソフトウエアを監視するパラメータを取り込む条件をあらかじめ設定するとともに、監視パラメータを保存する監視用パラメータ登録用テーブルへ条件にしたがって監視タイミングごとに監視パラメータ保存するものである。周期パラメータ入手手段６１２は、監視用パラメータ登録用テーブルに保存された監視パラメ−タを入力して、１周期走行に要した処理時間を算出するものである。異常検出手段６１１は、算出された処理時間があらかじめ定められた規定範囲を逸脱したとき周期ソフトウエアが異常となったとして異常通知手段６０１へ異常信号を出力するものである。
【０００８】
異常検出手段６１１は、周期的に動作する周期ソフトウエアの周期性を利用して、ソフトウエアの異常を検出する。
【０００９】
【特許文献１】
特開平７−２２６１２０号公報
【００１０】
【発明が解決しようとする課題】
しかしながら上記の構成では、ハードウエアデバイスは、アプリケーションが起動するまでソフトウエアの異常を検出することができない。加えて、ハードウエアデバイスを制御するアプリケーションは、アプリケーションを起動させた後、始めてシステムの異常を検出するという問題が発生していた。
【００１１】
また、１つのハードウエアデバイスを複数のアプリケーションが利用して動作するシステムでは、各アプリケーションの起動・停止にあわせて異常検出対象になる周期ソフトを切り替えなければならないという問題が発生していた。
【００１２】
さらに、制御ソフトウエアをオペレーティングシステム（以下ＯＳ）を用いた環境で構築し、ソフトウエアをシステムレベルとユーザレベルに分離して動作させて信頼性を高めた場合、システムレベルの異常によりソフトウエアからのアクセスが滞っているのか、あるいは、ユーザレベルの異常によりソフトウエアからのアクセスが滞っているのかを判断することができないので、ユーザレベルの異常な処理を起こしているアプリケーションを特定して、異常な処理のみを停止することができないという問題が発生していた。
【００１３】
このような問題を踏まえて、１つのハードウエアデバイスに対して、複数のアプリケーションが動作するシステムにおいて、システムレベルの異常とユーザレベルの異常を切り分けるとともに、ユーザレベルの異常であった場合には、異常なアプリケーションを特定して、そのアプリケーションに対して異常処理を施すことができるようにすることが望まれていた。加えて、近年の技術では、ハードウエアデバイスの動作を定義するプログラムをソフトウエアが書き込むことにより、プログラマブルに動作するハードウエアデバイスが用いられるようになってきており、システムレベルのソフトウエアがハードウエアデバイスへのプログラミングを行なった後に、システムレベル以下の処理が異常が発生していないことを保障した上でユーザレベルのアプリケーションを動作させることも望まれている。
【００１４】
本発明は、ユーザレベルの異常と、システムレベルの異常を切り分けるとともに、プログラマブルなハードウエアデバイスに対応することを目的とする。
【００１５】
【課題を解決するための手段】
この課題を解決するために本発明の請求項１に記載の発明は、ソフトウエアによってハードウエアデバイスを制御する装置であって、前記ハードウエアデバイス依存のハードウエアデバイス制御プログラムであるデバイスドライバと、前記デバイスドライバ上で動作する少なくとも一つのハードウエアデバイス制御アプリケーションと、前記デバイスドライバ内で動作して所定の間隔でハードウエアデバイスに対してアクセスするタイマアクセス制御部とを備え、前記ハードウエアデバイスは、前記タイマアクセス制御部からのアクセスをもとにデバイスドライバ層以下のソフトウエアの動作状況を把握する構成を有している。
【００１６】
この構成によって、デバイスドライバ層でハードウエアデバイスの動作を保障した上で、ハードウエアデバイス制御アプリケーションを動作させることができるという効果が得られる。
【００１７】
【発明の実施の形態】
本発明の請求項１に記載の発明は、ソフトウエアによってハードウエアデバイスを制御する装置であって、前記ハードウエアデバイス依存のハードウエアデバイス制御プログラムであるデバイスドライバと、前記デバイスドライバ上で動作する少なくとも一つのハードウエアデバイス制御アプリケーションと、前記デバイスドライバ内で動作して所定の間隔でハードウエアデバイスに対してアクセスするタイマアクセス制御部を備え、前記ハードウエアデバイスは、前記タイマアクセス制御部からのアクセスをもとにデバイスドライバ層のソフトウエアの動作状況を把握することを特徴とし、デバイスドライバ層でハードウエアデバイスの動作を保障した上で、ハードウエアデバイス制御アプリケーションを動作させることができるという作用を有する。
【００１８】
本発明の請求項２に記載の発明は、請求項１記載の発明に対して、前記ハードウエアデバイスは、ウオッチドックタイマと、少なくとも一つの同期アクセス異常検出部と、異常通知部とを備え、前記ハードウエアデバイス制御アプリケーションは、所定の同期アクセスを行うアプリケーションであり、前記ウオッチドックタイマは、前記タイマアクセス制御部からの所定のアクセスをもとにデバイスドライバ層のソフトウエアの状況を把握して異常を検出したときに前記異常通知部に異常を通知し、前記同期アクセス異常検出部は、前記ハードウエアデバイス制御アプリケーションからの所定の同期アクセスをもとにハードウエアデバイス制御アプリケーションの状況を把握して異常を検出したときに前記異常通知部に異常を通知することを特徴とし、デバイスドライバの異常とハードウエアデバイス制御アプリケーションの異常を分離することができるという作用を有する。
【００１９】
本発明の請求項３に記載の発明は、請求項２記載の発明に対して、前記デバイスドライバ、及び、前記ハードウエアデバイス制御アプリケーションは、システムレベルとユーザレベルを分離したオペレーションシステム上で動作し、前記デバイスドライバは、システムレベルで動作し、前記ハードウエアデバイス制御アプリケーションは、ユーザレベルで動作し、前記ハードウエアデバイス制御アプリケーションのみの異常の際には、ユーザレベルの異常と認識して、異常を生じたハードウエアデバイス制御アプリケーションのみに対して所定の異常処理を施すことを特徴とし、ソフトウエアをシステムレベルとユーザレベルの分けてシステムを安定させるとともに、ユーザレベルの処理の影響を受けることなく高い精度での異常検出ができ、ユーザレベルの異常アプリケーションのみに対して処理ができるという作用を有する。
【００２０】
本発明の請求項４に記載の発明は、請求項２乃至請求項４記載のいずれかの発明に対して、前記ハードウエアデバイスは、プログラマブルなハードウエアデバイスであり、前記デバイスドライバは、前記ハードウエアデバイスをプログラミングしてハードウエアデバイスの機能を定義し、前記デバイスドライバは、ハードウエアデバイスのプログラミング後のハードウエアデバイスの起動を確認して、前記タイマアクセス制御部の起動を行うことを特徴とし、プログラマブルなハードウエアデバイスにおいても、ハードウエアデバイスが起動した後すぐにタイマアクセス制御部を起動することができるという作用を有する。
【００２１】
以下、本発明の実施の形態について、図１から図５を用いて説明する。
【００２２】
（実施の形態１）
図１は本発明の異常検出装置を説明するための図である。図１において、１０４はハードウエアデバイス制御アプリケーションＡ、１０５はハードウエアデバイス制御アプリケーションＢ、１０６はハードウエアデバイス制御アプリケーションＣであり、１０３はＯＳであり、１０２はＯＳ１０３上で動作するデバイスドライバである。デバイスドライバ１０２はハードウエアデバイスコンフィグレーション部１１１とタイマアクセス制御部１１２から構成される。１０１はハードウエアデバイスであり、ウォッチドッグタイマ１１３を含む。
【００２３】
図２は、電源ＯＮ時にＯＳ１０３が起動し、デバイスドライバ１０２がロードされアプリケーションが起動されるまでのシーケンスを説明するためのシーケンス図である。図２において、Ｓ２０１は電源ＯＮ、Ｓ２０２はＯＳ起動、Ｓ２０３はデバイスドライバロード、Ｓ２０４はアプリケーション起動を示すステップである。
【００２４】
図３は、デバイスドライバロード時のシーケンスを説明するための図である。図３において、Ｓ３０１はデバイスドライバロード、Ｓ３０２はハードウエアデバイスコンフィグレーション用ファイルオープン、Ｓ３０３はハードウエアデバイスコンフィグレーション用ファイル読み出し、Ｓ３０４はハードウエアデバイス書き込み、Ｓ３０５はファイルエンドを確認し、Ｓ３０６はハードウエアデバイス起動を確認し、Ｓ３０７はウオッチドックタイマルーチン登録、Ｓ３０８はデバイスドライバロード完了を示すステップであり、Ｓ３１１はウオッチドックタイマルーチン、Ｓ３１２はハードウエアデバイスアクセス、Ｓ３１３はウオッチドックタイマルーチン完了を示すステップである。
【００２５】
図４は、タイマアクセス制御部１１２によるアクセスとアプリケーションによるアクセスを時系列に示した図である。
【００２６】
図５は、異常検出処理を説明するシーケンス図であり、５０３はハードウエアデバイス制御アプリケーションＡ、５０４はハードウエアデバイス制御アプリケーションＢ、５０５はタイマアクセス制御部、５０２はハードウエアデバイス、５０１はユーザであり、ハードウエアデバイス５０２においては、５１１は同期アクセス検出部Ａ、５１２は同期アクセス異常検出部Ｂ、５１３はウオッチドックタイマ、５１４は異常通知部である。
【００２７】
まず、本実施の形態では、図１において、ハードウエアデバイス１０１は、映像・音声をフレーム単位の一定間隔で処理を行なう機能を有し、一定間隔内で処理を完了しなければ、映像あるいは音声が途切れるなどの異常を発生する装置である。デバイスドライバ１０２は、ＯＳ１０３の環境で動作するハードウエアデバイス１０１に依存したハードウエアデバイス制御プログラムであり、ハードウエアデバイス１０１に対する制御を行う。
【００２８】
ハードウエアデバイス１０１においては、映像・音声を入力あるいは出力する際に、外部から同期信号かまたはハードウエアデバイス１０１内部で生成する同期信号を使用して一定間隔の映像・音声の転送を行う。ハードウエアデバイス１０１は、同期信号の周期に基づいて、デバイスドライバ１０２が制御を行う映像・音声の転送間隔を検出し、映像・音声が途切れる場合の異常検出を行う。
【００２９】
ＯＳ１０３は、ソフトウエアの動作としてユーザが自由に制御可能なユーザレベルと、ユーザからの処理に対して保護されるシステムレベルの処理に分離して、信頼性を高めて動作するシステムを前提として説明を行なう。本実施の形態では、デバイスドライバ１０２は、システムレベルで動作し、ユーザレベルからの処理から保護されて、ソフトウエアとして異常を起こしにくい構成である。ハードウエアデバイス制御アプリケーションＡ１０４、ハードウエアデバイス制御アプリケーションＢ１０５、ハードウエアデバイス制御アプリケーションＣ１０６は、ＯＳ１０３、デバイスドライバ１０２経由で１つのハードウエアデバイスをユーザレベルから利用するアプリケーションである。図１では、３つのハードウエアデバイス制御アプリケーションが存在して、同時にハードウエアデバイスを使用して動作している場合を示している。さらに、デバイスドライバ１０２は、ハードウエアデバイスコンフィグレーション部１１１を有し、ハードウエアデバイス１０１の機能を定義するファイルをもとに、ハードウエアデバイス１０１に対して書き込みを行うとともに、ハードウエアデバイス１０１の起動を確認して、タイマアクセス制御部１１２を動作させるためのウオッチドックタイマルーチンを登録する。
【００３０】
この起動時の処理をより詳しく、図２と図３を用いて説明する。まず、電源ＯＮ時の処理を図２で説明する。ここでは、電源ＯＮ時として説明しているが、システムリセット時などの処理も同様に動作する。電源がＯＮされると、電源ＯＮＳ２０１のステップが呼び出される。ＯＳ起動Ｓ２０２ステップは、システムはＯＳごとに規定された所定の処理に従い、ＯＳの起動処理を行なう。ＯＳが起動すると、デバイスドライバロードＳ２０３のステップに移行する。ここで、システムを構成しているハードウエアデバイス１０１を制御するそれぞれのデバイスドライバをロードし、ハードウエアデバイス１０１に対して、アプリケーションからアクセスが可能になる。デバイスドライバが起動するとアプリケーション起動Ｓ２０４のステップに移りアプリケーションが動作可能な状態になる。この時点で、システム起動時に自動的に起動するアプリケーションがあれば即時に起動する。また、ユーザの要求により起動するアプリケーションはユーザの要求まで待機する。
【００３１】
次に、デバイスドライバロード時にハードウエアデバイスに対してコンフィグレーションを行う処理について、図３を用いてさらに詳しく説明を行う。図３の処理は、図２におけるデバイスドライバロードＳ２０３のステップの処理に該当する。デバイスドライバロードＳ３０１のステップに入ると、ハードウエアデバイスコンフィグレーション用ファイルオープンＳ３０２のステップに移行する。このステップは、ハードウエアデバイスに対してコンフィグレーションを行うためのハードウエアデバイスの機能を定義したファイルをオープンする。ファイルオープンが完了すれば、ハードウエアデバイスコンフィグレーション用ファイル読み出しＳ３０３のステップに移行する。このステップでは、ハードウエアデバイスコンフィグレーション用ファイルオープンＳ３０２でオープンしたファイルから、所定の単位でデータの読み出しを行い、ハードウエアデバイス書き込みＳ３０４のステップに移行する。このステップでは、ハードウエアデバイスコンフィグレーション用ファイル読み出しＳ３０３のステップで読み出したデータをハードウエアデバイスに対して、ハードウエアデバイスが規定するタイミング、条件に合わせて書き込みを行い、ファイルエンドＳ３０５のステップに移行する。このステップでは、ハードウエアデバイスコンフィグレーション用ファイルオープンＳ３０２のステップでオープンしたファイルのエンドであるかを判断し、エンドであった場合にはハードウエアデバイス起動Ｓ３０６のステップに移行し、エンドでなかった場合には、次のデータの書き込みを行うために、ハードウエアデバイスコンフィグレーション用ファイル読み出しＳ３０３のステップに移行する。ハードウエアデバイスコンフィグレーション用ファイル読み出しＳ３０３のステップに戻った場合には、続きのデータの書き込みを行う処理を行ない、ファイルのエンドに達するまでこれらの処理を繰り返す。ここでは、ファイルのエンドに達した場合の処理に移行したとして、ハードウエアデバイス起動Ｓ３０６のステップでの処理について説明を続ける。このステップでは、ハードウエアデバイスへ書き込みが完了したことを確認する処理を行なう。たとえば、ハードウエアデバイスに対して、書き込みを行った後に、すぐにハードウエアデバイスが使用可能になるハードウエアデバイスが存在したり、一定時間経過後に使用可能になるハードウエアデバイスが存在したりするので、ハードウエアデバイスが規定した所定の処理をへて、ハードウエアデバイスの起動を確認するものとする。ここでは、ハードウエアデバイスの起動が確認できた場合に、次のウオッチドックタイマルーチン登録Ｓ３０７のステップに移行した場合説明を続ける。このステップでは、一定時間間隔で処理を行なうルーチンを登録するもので、ここで登録されたルーチンは一定間隔で呼び出される。ウオッチドックタイマルーチン内の処理は、ウオッチドックタイマルーチンＳ３１１が呼び出されると、次のハードウエアデバイスアクセスＳ３１２のステップでハードウエアデバイスが規定したレジスタに対してハードウエアデバイスアクセスを行い、次のウオッチドックタイマルーチン完了Ｓ３１３のステップに移り、ウオッチドックタイマルーチンを終了する。
【００３２】
このデバイスドライバロードの処理が完了した時点で、ハードウエアデバイスが動作し始めるとともに、デバイスドライバから一定間隔で、ハードウエアデバイスに対してアクセスが入ることにより、ハードウエアデバイスはドライバ層以下のソフトウエアが、システムレベルで正常に動作していることを確認できる。このハードウエアデバイスへのアクセスは、システムレベルで実装しているために、ユーザレベルの処理に依存することなく、高い精度でのアクセスを確保することができる。
【００３３】
次に、システムレベルの異常と、ユーザレベルのアプリケーションの異常を区別する方法について、続けて説明を行う。図４においては、２つアプリケーションが、異なったプロセスで動作している場合の説明を行う図である。上から、タイマアクセス制御部のアクセス（Ａ０［１］、Ａ０［２］、、）、アプリケーションＡのアクセス（Ａ１［１］、Ａ１［２］、、）、アプリケーションＢのアクセス（Ａ２［１］、Ａ２［２］、、を示し、横軸は、時刻を表している。タイマアクセス制御部は、ｔＳｅｃの一定間隔でハードウエアデバイスへのアクセスを繰り返し行っていることを示す。アプリケーションＡ、Ｂは映像のフレーム周期で処理を行なっていることを示す。図５において、タイマアクセス制御部５０５は、図４に示すように一定間隔でハードウエアデバイスアクセスを行っており、システムレベルのソフトウエアが正常に動作していることをウオッチドックタイマ５１３が異常が発生していないかを確認している。制御用アプリケーションＡ５０３は、アプリケーションが動作中には、フレーム周期でアクセスがあり、このアクセスによりハードウエアデバイス制御アプリケーションＡ５０３が正常に動作していることを同期アクセス異常検出部Ａ５１１が確認している。同様に、ハードウエアデバイス制御アプリケーションＢ５０４においても、同期アクセス異常検出部Ｂ５１２が異常が発生していないかを確認している。ここで、まず、タイマアクセス制御部５０５の処理に異常が発生した場合の処理を説明する。異常が発生した場合には、ウオッチドックタイマ５１３が異常を検出して、異常通知部５１４に通知を行う。異常通知部５１４は、異常が発生したことをユーザ５０１に通知する。次にハードウエアデバイス制御アプリケーションＡ５０３に異常が発生した場合の処理を説明する。ハードウエアデバイスは前述のように同期信号に従って動作しているので、ハードウエアデバイス制御アプリケーションＡ５０３に異常が発生した場合には、フレーム周期でのアクセスが滞るために、同期アクセス異常検出部Ａ５１１が異常を検出することができる。同期アクセス異常検出部Ａ５１１が異常を検出した場合には、異常通知部５１４に対して異常を通知する。異常通知部５１４は、ユーザ５０１に対して異常が発生したことを通知する。また、同期アクセス異常検出部Ａ５１１は、ウオッチドックタイマ５１３から、タイマアクセス制御部が正常に動作していることの通知を受けている場合には、ハードウエアデバイス制御アプリケーションＡ５０３のみに異常であると判断してハードウエアデバイス制御アプリケーションＡ５０３に対して、アプリケーションの異常を通知する。ハードウエアデバイス制御アプリケーションＢ５０４においても、ハードウエアデバイス制御アプリケーションＡ５０３と同様に動作し、同期アクセス異常検出部Ｂ５１２により異常を検出する。なお、ハードウエア制御アプリケーションは、フレーム周期で処理を行っているとしたが、このフレーム周期は、ハードウエアデバイスの時刻をカウントするハードウエアタイマから時刻を得て周期的に処理を実行することができる。また、ハードウエアタイマを使用せずに、ハードウエアデバイスが同期信号に従ってデータ転送の開始・終了するのに合わせてハードウエア制御アプリケーションの処理を行ってもよい。この場合、ハードウエアデバイスの同期信号に従ってハードウエア制御アプリケーションの周期処理が行われるとともに、異常検出も行われるため、同期信号の周期が変化しても設定を変更することなく、ハードウエア制御アプリケーションの周期処理の異常検出をハードウエアデバイスで行うことが可能である。
【００３４】
以上説明したように、ハードウエアデバイスコンフィグレーション部１１１により、プログラマブルなハードウエアデバイス１０１のコンフィグレーションを行い、ハードウエアデバイス１０１の起動を確認した直後からタイマアクセス制御部１１２を起動させることにより、アプリケーションの起動を待たずにソフトウエアが正常に動作していることを保障することが可能になる。また、システムレベルで動作しているタイマアクセス制御部１１２と、ユーザレベルで動作しているハードウエアデバイス制御アプリケーションＡ１０４、ハードウエアデバイス制御アプリケーションＢ１０５それぞれからの異常を検出することにより、システム全体の異常なのか、１つのハードウエアデバイス制御アプリケーションの異常なのかを分離することができる。
【００３５】
なお、本発明の実施の形態において、本発明の異常検出装置を中心に説明したが、本発明の記憶媒体として、以上説明した各ブロックの機能の全部または一部をコンピュータにより実行されるプログラムを格納する記憶媒体を用いてもよい。
【００３６】
【発明の効果】
以上のように本発明は、ソフトウエアの処理異常をシステムレベルとユーザレベルで分離した形で検出することができるとともに、ユーザレベルで異常を発生したアプリケーションについては、そのプロセスのみに対応することが可能になる。また、プログラマブルなハードウエアデバイスのコンフィグレーションまで行うソフトウエアにおいても、ユーザレベルで意識することなく、システムレベルでの動作保障を行うことができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１による異常検出装置の構成図
【図２】本発明の実施の形態１による異常検出装置の起動時のシーケンス図
【図３】本発明の実施の形態１による異常検出装置のデバイスドライバロード時のシーケンス図
【図４】本発明の実施の形態１による異常検出装置のアクセスを概念的に示した図
【図５】本発明の実施の形態１による異常検出装置のブロック図
【図６】従来のデータ転送方法のシステム図
【符号の説明】
１０１  ハードウエアデバイス
１０２  デバイスドライバ
１０３  ＯＳ
１０４  ハードウエアデバイス制御アプリケーションＡ
１０５  ハードウエアデバイス制御アプリケーションＢ
１０６  ハードウエアデバイス制御アプリケーションＣ
１１１  ハードウエアデバイスコンフィグレーション部
１１２  タイマアクセス制御部
Ｓ２０１  電源ＯＮのステップ
Ｓ２０２  ＯＳ起動のステップ
Ｓ２０３  デバイスドライバロードのステップ
Ｓ２０４  アプリケーション起動のステップ
Ｓ３０１  デバイスドライバロードのステップ
Ｓ３０２  ハードウエアデバイスコンフィグレーション用ファイルオープンのステップ
Ｓ３０３  ハードウエアデバイスコンフィグレーション用ファイル読み出しのステップ
Ｓ３０４  ハードウエアデバイス書き込みのステップ
Ｓ３０５  ファイルエンドの確認ステップ
Ｓ３０６  ハードウエアデバイス起動の確認ステップ
Ｓ３０７  ウオッチドックタイマルーチン登録のステップ
Ｓ３０８  デバイスドライバロード完了のステップ
Ｓ３１１  ウオッチドックタイマルーチンのステップ
Ｓ３１２  ハードウエアデバイスアクセスのステップ
Ｓ３１３  ウオッチドックタイマルーチン完了のステップ
５０１  ユーザ
５０２  ハードウエアデバイス
５０３  ハードウエアデバイス制御アプリケーションＡ
５０４  ハードウエアデバイス制御アプリケーションＢ
５０５  タイマアクセス制御部
５１１  同期アクセス異常検出部Ａ
５１２  同期アクセス異常検出部Ｂ
５１３  ウオッチドックタイマ
５１４  異常通知部
６０１  異常通知手段
６０２  監視装置
６０３  周期ソフト
６０４  入力機器
６０５  出力機器
６１１  異常検出手段
６１２  周期パラメータ入力手段
６１３  同期パラメータ設定手段
【図１】
2005031724.tif 000003
【図２】
2005031724.tif 000004
【図３】
2005031724.tif 000005
【図４】
2005031724.tif 000006
【図５】
2005031724.tif 000007
【図６】
2005031724.tif 000008