(57)【要約】【課題】アプリケーションソフトウェアから出力されたエラーに関するログ情報を基に、当該エラーに対する防止的な対処を実行する。【解決手段】アプリケーションＡ１１１は、動作中に生じたエラーに関する情報と当該エラーに至る過程におけるユーザの操作手順を示す情報とを含むログデータ１１２を出力する。ログ監視アプリケーション１１３は、この出力されたログデータ１１２からエラーの発生を検知する。そして、当該ログデータ１１２から、このエラーに至る過程におけるユーザの操作手順を取得する。つぎに、ログ監視アプリケーション１１３は、この取得した操作手順の受け付けを制限させるためのエラー防止アクションをアプリケーションＡ１１１のＩＮＩファイルに記録する。アプリケーションＡ１１１は、ＩＮＩファイルに記録されたエラー防止アクションに基づき、当該操作手順の受け付けを制限する。【選択図】図２
2009146047.tif 000002
【特許請求の範囲】
【請求項１】
動作中に生じたエラーに関する情報と当該エラーに至る過程におけるユーザの操作手順を示す情報とを含むログデータを出力するログデータ出力手段と、
前記ログデータ出力手段から出力されたログデータからエラーの発生を検知するエラー検知手段と、
前記ログデータ出力手段から出力されたログデータから前記エラー検知手段によって検知されたエラーに至る過程におけるユーザの操作手順を取得する操作手順取得手段と、
前記操作手順取得手段によって取得された操作手順の受け付けを制限させるための指示データを生成する指示データ生成手段と、
前記指示データ生成手段によって生成された指示データに基づき、当該操作手順の受け付けを制限する操作制限手段とを備えること
を特徴とする情報処理装置。
【請求項２】
情報処理装置上で動作するアプリケーションソフトウェアから出力されるログデータを監視するためのログ監視プログラムであって、
前記アプリケーションソフトウェアから出力されたログデータから前記アプリケーションソフトウェアで生じたエラーを検知するエラー検知手段と、
前記アプリケーションソフトウェアから出力されたログデータから前記エラー検知手段によって検知されたエラーに至る過程におけるユーザの操作手順を取得する操作手順取得手段と、
前記アプリケーションソフトウェアに対して前記操作手順取得手段によって取得された操作手順の受け付けを制限させるための指示データを生成する指示データ生成手段として、当該情報処理装置を機能させるためのログ監視プログラム。
【請求項３】
請求項２に記載のログ監視プログラムにおいて、
前記アプリケーションソフトウェアから出力されるログデータには、前記アプリケーションソフトウェアで生じたエラーの深刻度を示す情報が含まれており、
前記アプリケーションソフトウェアから出力されたログデータから前記アプリケーションソフトウェアで生じたエラーの深刻度を判定する深刻度判定手段を更に前記情報処理装置に機能させ、
前記指示データ生成手段は、前記深刻度判定手段によって判定された当該エラーの深刻度に応じて、当該操作手順の受け付けに対する制限の程度を変更して前記指示データを生成すること
を特徴とするログ監視プログラム。
【請求項４】
請求項２又は請求項３に記載のログ監視プログラムにおいて、
前記アプリケーションソフトウェアでエラーが生じた累積回数を計測する計測手段を更に前記情報処理装置に機能させ、
前記指示データ生成手段は、前記計測手段によって計測されたエラーの累積回数が所定値以上である場合、当該操作手順の受け付けに対する制限の程度を、この累積回数がこの所定値未満であるときの基準よりも上げること
を特徴とするログ監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で動作するアプリケーションソフトウェアから出力されるログ情報を監視する技術に関する。
【背景技術】
【０００２】
従来、コンピュータ上で動作するアプリケーションソフトウェアにエラーが生じた場合、アプリケーションソフトウェアにエラーに関するログ情報を出力させている。
例えば、特許文献１には、業務を行うアプリケーションソフトウェアから出力されるログ生成コマンドに基づき設定したパラメータに従い、ログ出力関数プログラムがアプリケーションソフトウェアに生じた障害に関する障害情報をログファイルへ出力するコンピュータシステムについて開示されている。
【特許文献１】特開２００１−１２５８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１に記載のログ出力関数プログラムのようなツールは、基本的にアプリケーションソフトウェアにログ情報を収集するだけで、予測不能なエラーに対して何らかの防止的な対処を行うことはできない。このため、エラーの原因となる操作手順をユーザが繰り返すことで、エラーが頻繁に起こる可能性がある。また、アプリケーションソフトウェアに不具合がある場合、ユーザは、不具合に対する解決手段をソフトウェアベンダから得るまで、その不具合を根本的に解消することはできない。よって、それまでの間、その不具合に起因するエラーに対する応急的な対処（例えば、エラーに至るユーザの操作手順の受付を一時的に制限する等）を実行することで、同様のエラーを多発させないようにすることが望まれる。
【０００４】
本発明は、上記問題を解決するためになされており、アプリケーションソフトウェアから出力されたエラーに関するログ情報を基に、当該エラーに対する防止的な対処を実行するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するためになされた請求項１に記載の情報処理装置は、ログデータ出力手段、エラー検知手段、操作手順取得手段、指示データ生成手段、及び操作制限手段を備え、前記各手段は次のような特徴を有する。
【０００６】
ログデータ出力手段は、動作中に生じたエラーに関する情報と当該エラーに至る過程におけるユーザの操作手順を示す情報とを含むログデータを出力する。エラー検知手段は、ログデータ出力手段から出力されたログデータからエラーの発生を検知する。操作手順取得手段は、ログデータ出力手段から出力されたログデータからエラー検知手段によって検知されたエラーに至る過程におけるユーザの操作手順を取得する。指示データ生成手段は、操作手順取得手段によって取得された操作手順の受け付けを制限させるための指示データを生成する。操作制御手段は、指示データ生成手段によって生成された指示データに基づき、当該操作手順の受け付けを制限する。
【０００７】
なお、エラーに至った過程における操作手順の受け付けを制限するには、例えば、ある特定の順序でキー操作を行った場合にエラーが生じるのであれば、その順序でのキー操作を受け付けないようにしたり（操作の禁止）、その操作手順を実行するとエラーが発生する旨の表示を行う（操作に対する警告）といった対応が考えられる。
【０００８】
このように構成された情報処理装置によれば、例えば、情報処理装置上で機能するアプリケーションソフトウェアから出力されたログデータからエラーを検出すると、その後、当該エラーに至った過程におけるユーザの操作手順の受け付けを制限することができる。これにより、アプリケーションソフトウェアにエラーを生じさせる原因となった操作手順をユーザが再び繰り返そうとした場合においても、同じ操作手順を実行することによるエラーが繰り返し発生するのを防ぐことができる。また、ソフトウェアベンダから不具合に対する解決手段を未だ得ていないような予期しないエラーに対しても迅速に防止的な対処を講じることが可能であり、好適である。
【０００９】
つぎに、請求項２に記載のログ監視視プログラムは、情報処理装置上で動作するアプリケーションソフトウェアから出力されるログデータを監視するためのログ監視プログラムであって、当該情報処理装置をエラー検知手段、操作手順取得手段、及び指示データ生成手段として機能させることを特徴とする。このように構成されたログ監視プログラムを情報処理装置へ導入することで、請求項１に記載の情報処理装置と同様の効果を得ることができる。
【００１０】
ところで、アプリケーションソフトウェアの動作中に発生するエラーには、アプリケーションソフトウェアの動作にあまり影響しない些細なものから、アプリケーションソフトウェアの動作に重大な影響を及ぼす致命的なものまで、それぞれ深刻度の異なるものが存在する。
【００１１】
そこで、請求項３に記載のように構成するとよい。つまり、アプリケーションソフトウェアから出力されたログデータからアプリケーションソフトウェアで生じたエラーの深刻度を判定する深刻度判定手段を更に情報処理装置に機能させる。そして、指示データ生成手段は、深刻度判定手段によって判定された当該エラーの深刻度に応じて、当該操作手順の受け付けに対する制限の程度を変更して指示データを生成する。
【００１２】
このように構成されたログ監視プログラムによれば、エラーの深刻度に応じて柔軟な態様にて防止的な対処を実行できるようになる。例えば、深刻度の低い些細なエラーに対しては、このエラーに至った操作手順の一部を無効にするといった軽度の制限を行うことで、エラーに対する防止的対処を講じつつも、操作手順を過度に制限しないことで利便性を確保することができる。一方、深刻度の高い致命的なエラーに対しては、このエラーに至った全ての操作手順を無効にしたり、アプリケーションソフトウェアの起動自体を禁止してエラーの再発防止を強固に行うことで、安全性の確保を最優先にすることもできる。
【００１３】
つぎに、請求項４に記載のログ監視プログラムは、次のような特徴を有する。アプリケーションソフトウェアでエラーが生じた累積回数を計測する計測手段を更に情報処理装置に機能させる。そして、指示データ生成手段は、計測手段によって計測されたエラーの累積回数が所定値以上である場合、当該操作手順の受け付けに対する制限の程度を、この累積回数がこの所定値未満であるときの基準よりも上げる。
【００１４】
このように構成することで、エラーに至った操作手順の受け付けを制限しているにも関わらずエラーが頻繁に発生するような場合、当該操作手順の受け付けに対する制限の程度を上げることで、エラーの再発に対する防止力を向上させることができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態を図面に基づいて説明する。
［パーソナルコンピュータ１の構成の説明］
図１は、本発明の一実施形態であるパーソナルコンピュータ１（以下、ＰＣ１と称する）の概略構成を示すブロック図である。
【００１６】
このＰＣ１は、本発明でいう情報処理装置に相当し、このＰＣ１上で機能するアプリケーションから出力されるログデータを監視するログ監視アプリケーションが機能している。
【００１７】
ＰＣ１は、図１に示すように、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ１４（以下、ＨＤＤ１４と称する）、操作部１５、表示部１６、及び通信インタフェース１７（以下、通信Ｉ／Ｆ１７と称する）等を備えている。
【００１８】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶されたプログラムやデータに従って、ＰＣ１各部に対する制御及び各種演算を実行する装置で、後述するログ監視アプリケーションや、このログ監視アプリケーションによるログの監視の対象となるアプリケーションＡとしての処理は、このＣＰＵ１１によって実行される。ＲＯＭ１２は、ＰＣ１の電源スイッチを切っても記憶内容を保持する記憶装置で、ＢＩＯＳや通常であれば更新されない読み出し専用のデータ等を記憶している。
【００１９】
ＲＡＭ１３は、ＣＰＵ１１から直接アクセスされるメインメモリ等として利用される記憶装置である。このＲＡＭ１３には、オペレーティングシステムや各種アプリケーション等のソフトウェアがＨＤＤ１４から読み込まれ、また、ＣＰＵ１１による各種演算の結果やＨＤＤ１４から読み込まれたデータもＲＡＭ１３に記憶される。後述するログ監視アプリケーションやログの監視の対象となるアプリケーションＡとしての処理を実行する際には、各処理をＣＰＵ１１に実行させるためのプログラム（アプリケーションプログラムやログ監視プログラム）がＨＤＤ１４からＲＡＭ１３に読み込まれる。そして、ＲＡＭ１３に記憶されたプログラムに従って、ＣＰＵ１１が各処理を実行することになる。
【００２０】
ＨＤＤ１４は、ＯＳ、各種プログラム、及び各種データファイルを保存しておくための装置で、上記アプリケーションプログラムやログ監視プログラムもＨＤＤ１４に保存されている。操作部１５は、ユーザからの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス（例えばマウス）等によって構成される。表示部１６は、各種情報をユーザに対して提示するための出力装置であり、例えば液晶ディスプレイ等によって構成される。
【００２１】
通信Ｉ／Ｆ１７は、ＰＣ１にプリンタやその他の周辺機器を接続したり、ＰＣ１をネットワークに接続するためのハードウェアインタフェースであり、例えば、ＵＳＢ等のシリアルバスやネットワークアダプタ等が用いられる。なお、本実施形態では、この通信Ｉ／Ｆ１７を介してプリンタ２がＰＣ１と通信可能に接続されている。
【００２２】
ＰＣ１には、このＰＣ１に接続されたプリンタ２を制御するためのドライバアプリケーションがインストールされており、ＰＣ１は、このドライバアプリケーションを用いてＰＣ１からドキュメントの印刷ジョブを出力し、これをプリンタ２に実行させることでドキュメントの印刷を行うことができる。
【００２３】
［ＰＣ１が実行する処理の説明］
つぎに、ＰＣ１上で機能するログ監視アプリケーション、及びこのログ監視アプリケーションによるログの監視の対象となるアプリケーションＡの概要について、図２〜図４に基づいて説明する。
【００２４】
図２は、ＰＣ１上で機能するアプリケーションＡと、アプリケーションＡから出力されるログデータと、ログ監視アプリケーションとの相関を模式的に示す説明図である。
図２に示すアプリケーションＡ１１１は、例えばＰＣ１からプリンタ２を制御するためのデバイスドライバとして機能するアプリケーションである。このアプリケーションＡ１１１は、動作中に生じたイベントに関する情報を記録したログデータを出力する。なお、多くのＯＳには複数のアプリケーション間で共通して利用可能な何らかのロギングツールが備えられており、アプリケーションＡ１１１は、動作中にこのロギングツールを呼び出して実行することでログデータを出力することができる。また、アプリケーションＡ自身が独自のロギングツールを備えることでログデータを出力するような構成であってもよい。
【００２５】
アプリケーションＡ１１１は、その動作中に何らかのエラーが生じた場合、当該エラーに関するログとして、そのエラーが発生するに至ったユーザからの操作手順を示す操作情報、当該エラーの内容や深刻さ度合（以下、エラーレベルとも称する）を示すエラー情報等を含んだログデータ１１２を出力する。
【００２６】
このログデータ１１２に含まれる操作情報の内容について、具体的な例を挙げて説明する。図３は、アプリケーションＡ１１１の操作体系を模式的に示した説明図である。
アプリケーションＡ１１１は、図３に示すような操作体系を備える。この操作体系は、図３に示すように、操作レベル１，２，３といった階層構造を有している。なお、各操作レベルでの操作は、アプリケーションＡによって表示部１６に表示されるＧＵＩ（Graphical User Interface）上で入力される。つまり、ＧＵＩとして表示される各種アイコンやボタン等を操作部１５のポインティングデバイス等を操作してクリックすることによって、当該アイコンやボタンに対応する操作を入力できる。
【００２７】
まず、ユーザから操作レベル１に属する操作（操作１、操作２、操作３…）が入力されると、その入力された操作からそれぞれ派生する下位の操作レベル２の操作を受け付ける。例えば、操作レベル１の段階において操作１が入力された場合、操作レベル２の段階では、操作１から派生した操作１−１，操作１−２…のうち何れかの操作を受け付ける。ここでユーザから操作レベル２に属する操作が入力されると、その入力された操作からそれぞれ派生する下位の操作レベル３の操作を受け付ける。例えば、操作レベル２の段階において操作１−１の操作が入力された場合、操作レベル３の段階では、操作１−１から派生した操作１−１−１、操作１−１−２…のうちの何れかの操作を受け付ける。
【００２８】
ここで、操作レベル１から操作レベル３までの一連の操作体系において、ユーザが操作１−１−２の順に操作を行った結果、アプリケーションＡの動作にエラーが発生したと仮定する。この場合、出力されるログデータの操作情報として操作１−１−２の手順が記述される。
【００２９】
図２の説明に戻る。ログ監視アプリケーション１１３は、常駐プログラムとして常にアプリケーションＡ１１１から出力されるログデータ１１２を監視している。そして、アプリケーションＡ１１１からエラーに関する情報が記述されたログデータ１１２が出力されると、そこからエラー情報及び操作情報を取得する。そして、エラー情報に含まれている当該エラーのエラーレベルや、操作情報に含まれている操作手順に基づき、当該エラーの再発を防止するための操作制限（エラー防止アクション）を選択し、これをアプリケーションＡ１１１に対して実行させる。アプリケーションＡ１１１は、ログ監視アプリケーション１１３から指示されるエラー防止アクションに応じた処理を実行することで、エラーの再発を防止する。
【００３０】
ここで、エラー防止アクションの具体的な内容について説明する。図４は、エラーレベルごとに定められたエラー防止アクションの一覧であるエラー防止アクションリスト１１４の具体例を模式的に示す説明図である。
【００３１】
エラー防止アクションリスト１１４は、ログデータ１１２に含まれるエラー情報で定義されるエラーレベルに対応して、個々のエラーレベルごとに当該エラーの再発を防止するためにアプリケーションＡ１１１に対して実行させるエラー防止アクションの内容を定義したリストであり、そのデータは、ＨＤＤ１４に格納されている。このエラー防止アクションリスト１１４では、図４に示すように、エラーの深刻さの度合が大きいものから小さいものに向ってエラーレベルが昇順に並べてられており、各エラーレベルに応じたエラー防止アクションの内容が記述されている。
【００３２】
具体的には、エラーの深刻さの度合が最も大きいエラーレベル１に対しては、アプリケーションＡ１１１の起動自体を禁止するというかなり厳しいエラー防止アクションが割り当てられている。また、エラーレベル２〜４に対しては、アプリケーションＡ１１１における操作レベル１〜３までの操作を、そのエラーレベルに応じて段階的に禁止するエラー防止アクションが割り当てられている。例えば、上述のように操作１−１−２という操作手順の入力によってエラーが発生した場合、エラーレベル２における「操作レベル１の禁止」というエラー防止アクションによれば、この操作手順における操作レベル１の段階の操作（すなわち操作１）の受け付けが禁止されることになる。同様に、エラーレベル３における「操作レベル２の禁止」というエラー防止アクションによれば、操作１−１の受け付けが禁止され（操作１までは受け付け可能）、エラーレベル４における「操作レベル３の禁止」というエラー防止アクションによれば、操作１−１−２の受け付けが禁止される（操作１−１までは受け付け可能）。
【００３３】
また、エラーレベル５における「警告メッセージ表示」というエラー防止アクションによれば、エラーの再発防止に関する警告メッセージやソフトウェアベンダへの問い合わせ先を表示部１６に表示させる。あるいは、当該エラーに対する回避策が既知である場合には、その方法をユーザに対して通知するメッセージを表示させてよい。また、エラーレベル６に対しては、深刻さの度合が小さく問題ないものとして、エラー防止アクションが割り当てられていない（何もしない）。
【００３４】
ログ監視アプリケーション１１３は、アプリケーションＡ１１１から取得したログデータ１１２からエラーの発生を検知すると、このエラー防止アクションリスト１１４を参照し、エラーレベルに応じたエラー防止アクションを選択する。また、選択したエラー防止アクションが、ある操作レベルでの操作の受け付けを禁止するものであれば、ログデータ１１２の操作情報に基づいて、アプリケーションＡ１１１に対して受け付けを禁止させる操作の内容を決定する。
【００３５】
［ログ監視アプリケーション１１３が実行する処理の説明]
つぎに、上記ログ監視アプリケーション１１３が実行する処理の詳細な内容について、図５〜図９に基づき説明する。
【００３６】
図５は、ログ監視アプリケーション１１３が実行するメイン処理の手順を示すフローチャートである。図５に示す処理は、ＰＣ１の起動と共に常時実行される処理であり、以下の説明においては、ログ監視処理と称する。
【００３７】
ログ監視アプリケーション１１３は、ログ監視処理を開始すると、まず、アプリケーションＡ１１１の動作中に出力されたログデータを取得し、エラーの発生を監視する（Ｓ１００）。そして、この取得したログデータに基づき、アプリケーションＡ１１１にエラーが発生したか否かを判定する（Ｓ１１０）。ここで、アプリケーションＡ１１１にエラーが発生していないと判定した場合（Ｓ１１０：ＮＯ）、すなわち、取得したログデータが通常のイベントに関する情報を記述したものである場合、ログ監視処理を終了する。
【００３８】
一方、アプリケーションＡ１１１にエラーが発生したと判定した場合（Ｓ１１０：ＹＥＳ）、すなわち、取得したログデータがエラーに関する情報を記述したものである場合、このログデータに含まれる操作情報から、当該エラーに至った操作手順を示す情報を取得する（Ｓ１２０）。つづいて、当該取得したログデータに含まれるエラー情報から、当該エラーのエラーレベルを示す情報を取得する（Ｓ１３０）。そして、この取得したエラーレベルに該当する累積回数のカウントを１つ加算する（Ｓ１４０）。なお、このエラーの累積回数は、過去に発生したエラーの発生回数をエラーレベルごとに累計したものである。
【００３９】
つぎに、エラー上限回数リスト１１５（図６）を参照し、当該取得したエラーレベルに該当する累積回数が、このエラー上限回数リスト１１５で定義されている当該エラーレベルの上限回数を超えているか否かを判定する（Ｓ１５０）。なお、エラー上限回数リスト１１５は、図６に示すように、エラーレベルごとの累積回数の上限値を定義したリストであり、そのデータはＨＤＤ１４に格納されている。
【００４０】
Ｓ１５０で、当該取得したエラーレベルに該当する累積回数が上限回数を超えていると判定した場合（Ｓ１５０：ＹＥＳ）、エラー防止アクションリスト１１４（図４参照）における当該エラーレベルのエラー防止アクションの内容を、より制限の厳しいものへと更新し（Ｓ１６０）、その後Ｓ１７０へ移行する。一方、Ｓ１５０で、当該取得したエラーレベルに該当する累積回数が上限回数を超えていないと判定した場合（Ｓ１５０：ＮＯ）、そのままＳ１７０へ移行する。
【００４１】
ここで、Ｓ１６０の処理によるエラー防止アクションリスト１１４の更新の具体例について、図７に基づき説明する。ここでは、図７（ａ）に示す更新前のエラー防止アクションリスト１１４の状態から、エラーレベル６に該当するエラーの累積回数がエラー上限回数リスト１１５で定義されている上限値（エラーレベル６：１０回）を超えた場合を想定する。この場合、図７（ｂ）に示すように、エラー防止アクションリスト１１４内のエラーレベル６に該当するエラー防止アクションの内容が１ランク上位の制限レベルのもの（「なにもしない」→「警告メッセージ表示」）に更新される。その他、エラー防止アクションの更新の例として、操作の受け付けを禁止する操作レベルを上位のものに切り替えたり（「操作レベル３の禁止」→「操作レベル２の禁止」）、操作の受け付けを禁止するエラー防止アクションからアプリケーションＡ１１１の起動を禁止するエラー防止アクションに切り替えたり、アプリケーションＡ１１１の起動禁止するエラー防止アクションから、ＰＣ１からのアプリケーションＡ１１１の削除を勧告するエラー防止アクションに切り替えるといった種々の方法が考えられる。
【００４２】
図５のフローチャートの説明に戻る。Ｓ１７０では、エラー防止アクションリスト１１４から、Ｓ１３０で取得したエラーレベルに該当するエラー防止アクションを選択する。そして、この選択したエラー防止アクションに基づく操作制限をアプリケーションＡ１１１に対して実行させるための「エラー防止アクション実行処理」を実行し（Ｓ１８０）、ログ監視処理を終了する。なお、この「エラー防止アクション実行処理」の詳細な内容については後述する。
【００４３】
図８は、上述のエラー防止アクション実行処理（図５のＳ１８０）の実行時における、ログ監視アプリケーション１１３とアプリケーションＡ１１１との相関を模式的に示す説明図である。
【００４４】
このエラー防止アクション実行処理において、ログ監視アプリケーション１１３は、アプリケーションＡ１１１の設定情報を記録しているＩＮＩファイル１１６に、上述のログ監視処理（図５）のＳ１７０で選択したエラー防止アクションによる操作制限を指示するための操作制限情報を書き込む。一方、アプリケーションＡ１１１は、起動後にこのＩＮＩファイル１１６を読み込み、これに記述されている操作制限情報で指定された操作制限を実行する。
【００４５】
つぎに、図９は、ログ監視アプリケーション１１３が実行するエラー防止アクション実行処理の手順を示したフローチャートである。
図９に示すように、ログ監視アプリケーション１１３は、アプリケーションＡ１１１のＩＮＩファイル１１６に、上述のログ監視処理（図５）のＳ１７０で選択したエラー防止アクションによる操作制限を指示するための操作制限情報を記述する（Ｓ１８１）。
【００４６】
具体的には、上述のログ監視処理（図５参照）におけるＳ１７０で選択したエラー防止アクションが、ある操作レベルでの操作の受け付けを禁止するものであれば、Ｓ１２０で取得した操作情報で示される操作手順のうち、受け付けを禁止すべき操作レベルに相当する操作手順を示す情報を操作制限情報として記述する。例えば、図３に示す操作体系において、エラーに至った操作手順が操作１−１−２であった場合、エラー防止アクションによって操作レベル１の操作を禁止する場合、操作１の受け付けを禁止する旨の情報を操作制限情報としてＩＮＩファイル１１６に記述する。同様に、操作レベル２の操作を禁止する場合、操作１−１の受け付けを禁止する旨の情報を、また、操作レベル３の操作を禁止する場合、操作１−１−２の受け付けを禁止する旨の情報を、それぞれ操作制限情報としてＩＮＩファイル１１６に記述する。
【００４７】
また、エラー防止アクションが警告メッセージを表示させるためのものであれば、表示させるメッセージの種類や内容、表示タイミング（例えば、エラーに至った操作手順と同じ操作が行われる過程）等を指定する操作制限情報をＩＮＩファイルに記述する。
【００４８】
［アプリケーションＡ１１１が実行する処理の説明]
つぎに、図１０は、上述のエラー防止アクション実行処理（図９参照）においてＩＮＩファイル１１６に記述された操作制限情報に基づき、アプリケーションＡ１１１が実際に操作制限を実行する処理の手順を示すフローチャートである。この処理は、アプリケーションＡ１１１の起動時に実行される。
【００４９】
アプリケーションＡ１１１は、まず、アプリケーションＡ１１１の設定情報を記録しているＩＮＩファイル１１６を読み込む（Ｓ２１０）。そして、このＩＮＩファイル１１６にログ監視アプリケーション１１３によって記録された操作制限情報が含まれているか否かを判定する（Ｓ２２０）。ここで、ＩＮＩファイル１１６に操作制限情報が含まれていないと判定した場合（Ｓ２２０：ＮＯ）、ＧＵＩを表示部１６に表示し、ユーザからの操作の受け付けを開始する（Ｓ２６０）。
【００５０】
一方、ＩＮＩファイル１１６に操作制限情報が含まれていると判定した場合（Ｓ２２０：ＹＥＳ）、この操作制限情報によって指定される操作制限を実行する（２３０）。例えば、操作制限情報として受け付けを禁止すべき操作レベルに相当する操作手順を示す情報が記述されていれば、当該操作手順の受け付けを無効にする。また、操作制限情報として警告メッセージの表示する旨の指示が記述されていれば、所定のタイミングで警告メッセージを表示する。また、操作制限情報としてアプリケーションＡ１１１の起動を禁止する旨の指示が記述されていれば、アプリケーションＡ１１１の動作を終了する。
【００５１】
そして、Ｓ２３０における操作制限により、アプリケーションＡ１１１の動作を終了する場合（Ｓ２４０：ＹＥＳ）、所定の終了処理を実行し（Ｓ２５０）、アプリケーションＡ１１１の動作を終了する。
【００５２】
一方、アプリケーションＡ１１１の動作を終了しない場合（Ｓ２４０：ＮＯ）、ＧＵＩを表示部１６に表示し、ユーザからの操作の受け付けを開始する（Ｓ２６０）。このとき、操作制限によって受け付けが禁止された操作手順がある場合、このＧＵＩ上において、当該操作手順の入力に使用されるアイコンやボタンをクリック不能にすることで無効にしたり、あるいは非表示にしたりする。
【００５３】
［効果］
上記実施形態のＰＣ１及びログ監視アプリケーション１１３によれば、以下のような効果を奏する。
【００５４】
（１）ＰＣ１で機能するアプリケーションＡ１１１から出力されたログデータからエラーを検出すると、アプリケーションＡ１１１に対してエラー防止アクションを実施することで当該エラーに至った過程におけるユーザの操作手順の受け付けを制限することができる。これにより、アプリケーションＡ１１１にエラーを生じさせる原因となった操作手順をユーザが再び繰り返そうとした場合においても、同じ操作手順を実行することによるエラーが繰り返し発生するのを防ぐことができる。また、予期しないエラーに対しても迅速に防止的な対処を講じることが可能であり、好適である。
【００５５】
（２）エラーの深刻度を示すエラーレベルに応じて、例えば、深刻度の低い些細なエラーに対しては、このエラーに至った操作手順の一部を無効にするといった軽度の操作制限を行うことで、エラーに対する防止的対処を講じつつも、操作手順を過度に制限しないことで利便性を確保することができる。一方、深刻度の高い致命的なエラーに対しては、このエラーに至った全ての操作手順を無効にしたり、アプリケーションＡ１１１の起動自体を禁止するといった厳しい操作制限を行うことで、エラーの再発防止を強固にして安全性の確保を最優先にすることができる。
【００５６】
（３）エラー防止アクションによる操作制限を実施しているにも関わらずエラーの累積回数が上限値を越えてしまった場合、エラー防止アクションを上位の制限レベルのものに更新し、操作制限を厳しくすることで、エラーの再発に対する防止力を向上させることができる。
【００５７】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に何ら限定されるものではなく、様々な態様にて実施することが可能である。
【００５８】
例えば、上記実施形態では、あるエラーレベルに該当するエラー累積回数が上限値を超えた場合、図７に示すように、当該エラーレベルに対するエラー防止アクションを上位のレベルのものに更新する構成となっている。これに対して、あるエラーレベルに該当するエラー累積回数が上限値を超えた場合に、全エラーレベルに対するエラー防止アクションを上位のレベルのものに一斉に更新するような構成であってもよい。このようにすることで、あらゆるレベルのエラーの再発に対する防止力を向上させることができる。
【図面の簡単な説明】
【００５９】
【図１】実施形態のＰＣ１の概略構成を示すブロック図である。
【図２】アプリケーションＡ１１１と、ログデータ１１２と、ログ監視アプリケーション１１３との相関を模式的に示す説明図である。
【図３】アプリケーションＡ１１１の操作体系を模式的に示した説明図である。
【図４】エラー防止アクションリスト１１４の具体例を模式的に示す説明図である。
【図５】ログ監視アプリケーション１１３が実行するログ監視処理の手順を示すフローチャートである。
【図６】エラー上限回数リスト１１５の記述様式の一例を模式的に示す説明図である。
【図７】エラー防止アクションリスト１１４の内容を更新する様子を模式的に示す説明図である。
【図８】エラー防止アクション実行処理の実行時における、ログ監視アプリケーション１１３とアプリケーションＡ１１１との相関を模式的に示す説明図である。
【図９】エラー防止アクション実行処理の手順を示したフローチャートである。
【図１０】アプリケーションＡ１１１が実行する処理の手順を示したフローチャートである。
【符号の説明】
【００６０】
１…ＰＣ、２…プリンタ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＨＤＤ、１５…操作部、１６…表示部、１７…通信Ｉ／Ｆ、１１１…アプリケーションＡ、１１２…ログデータ、１１３…ログ監視アプリケーション
【図１】
2009146047.tif 000003
【図２】
2009146047.tif 000004
【図３】
2009146047.tif 000005
【図４】
2009146047.tif 000006
【図５】
2009146047.tif 000007
【図６】
2009146047.tif 000008
【図７】
2009146047.tif 000009
【図８】
2009146047.tif 000010
【図９】
2009146047.tif 000011
【図１０】
2009146047.tif 000012