(57)【要約】【課題】蓄積するログデータの容量の低減を図りつつ、ログ情報を有効に活用できるようにするための技術を提供する。【解決手段】ドライバアプリケーション１１１ａは、その動作中に何らかのエラーが生じた場合、当該エラーに関するログデータ１１２ａを出力する。ログ監視アプリケーション１１３ａは、ドライバアプリケーション１１１ａからエラーに関する情報が記述されたログデータ１１２ａが出力されると、そこから当該エラーのエラーレベルを判定する。そして、このエラーレベルが所定の統計置換レベル以上（すなわち、エラーログの重要度が高い）の場合、このログデータ１１２ａを、ログデータベース１１４ａに保存する。一方、エラーレベルが所定の置換レベル以上でない（すなわち、エラーログの重要度が低い）場合、このログデータ１１２ａに係るエラーの事象を、統計データの変量の値として記録する。【選択図】図２
2009151680.tif 000002
【特許請求の範囲】
【請求項１】
動作中に生じた事象に関する事象情報と当該事象情報の重要度を示す情報とを含むログデータを出力するログデータ出力手段と、
前記ログデータ出力手段から出力されたログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する重要度判定手段と、
前記重要度判定手段により前記ログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存するログデータ保存手段と、
前記重要度判定手段により前記ログデータに係る事象情報の重要度が前記所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する統計データ記録手段とを備えること
を特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記ログデータ出力手段から出力されたログデータを蓄積する蓄積手段を更に備え、
前記重要度判定手段は、前記蓄積手段に蓄積されているログデータの容量が所定の上限値以上である場合、この蓄積されている各ログデータに基づき、前記各ログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定し、
前記統計データ記録手段は、前記蓄積手段に蓄積されているログデータのうち、前記重要度判定手段によりエラーの重要度が前記所定レベル以上でないと判定された各ログデータを、当該各ログデータに係る事象情報の統計データに置換すること
を特徴とする情報処理装置。
【請求項３】
請求項１又は請求項２に記載の情報処理装置において、
前記事象情報は、アプリケーションソフトウェアで実行された動作に関する情報、又は、アプリケーションソフトウェアで実行された動作に生じたエラーに関する情報であり、
前記アプリケーションで実行された動作に生じたエラーに関する事象情報は、前記アプリケーションソフトウェアで実行された動作に関する事象情報より高い重要度を示すこと
を特徴とする情報処理装置。
【請求項４】
請求項１又は請求項２に記載の情報処理装置において、
前記事象情報は、アプリケーションソフトウェアで実行された動作に生じたエラーに関する情報であり、
前記統計データ記録手段は、前記ログデータに係るエラーの事象をエラーごとの発生頻度の統計データとして記録すること
を特徴とする情報処理装置。
【請求項５】
請求項１又は請求項２に記載の情報処理装置において、
前記事象情報は、アプリケーションソフトウェアで実行された動作に生じたエラーに関する情報であり、
前記統計データ記録手段は、前記ログデータに係るエラーの事象と、当該エラーに相関して生じた他のエラーの事象との相関関係を示す統計データとして記録すること
を特徴とする情報処理装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の情報処理装置において、
当該情報処理装置と、これに通信可能に接続された周辺機器との接続形態を判別する接続形態判別手段を更に備え、
前記ログデータ出力手段は、前記周辺機器を制御するアプリケーションソフトウェアの動作中に生じた事象に関する事象情報についての前記ログデータを出力し、
前記重要度判定手段は、前記接続形態判別手段によって判別された周辺機器との接続形態に応じて、事象情報の重要度の判定に用いる前記所定レベルの値を変更すること
を特徴とする情報処理装置。
【請求項７】
請求項１ないし請求項５の何れか１項に記載の情報処理装置において、
当該情報処理装置と、これに通信可能に接続された周辺機器との接続形態を判別する接続形態判別手段を更に備え、
前記ログデータ出力手段は、前記周辺機器を制御するアプリケーションソフトウェアの動作中に生じた事象に関する事象情報についての前記ログデータを出力し、かつ、前記接続形態判別手段によって判別された周辺機器との接続形態に応じて、当該ログデータに係る事象情報に対して付与する重要度のレベルを変更すること
を特徴とする情報処理装置。
【請求項８】
情報処理装置上で動作するアプリケーションソフトウェアのログデータを監視するためのログ監視プログラムであって、
出力された前記アプリケーションソフトウェアのログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する重要度判定手段と、
前記重要度判定手段により前記ログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存するログデータ保存手段と、
前記重要度判定手段により前記ログデータに係る事象情報の重要度が前記所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する統計データ記録手段として、当該情報処理装置を機能させるためのログ監視プログラム。
【請求項９】
動作中に生じた事象に関する事象情報と当該事象情報の重要度を示す情報とを含むログデータを出力するログデータ出力手順と、
前記ログデータ出力手順において出力されたログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する重要度判定手順と、
前記重要度判定手順において前記ログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存するログデータ保存手順と、
前記重要度判定手順において前記ログデータに係る事象情報の重要度が前記所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する統計データ記録手順とから構成されること
を特徴とするログ監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ上で動作するアプリケーションソフトウェアから出力されるログ情報を監視する技術に関する。
【背景技術】
【０００２】
従来、コンピュータ上で動作するアプリケーションソフトウェアのエラーに関するログ情報を蓄積しておき、このログ情報を解析することでエラーの原因を特定することが行われている。また、エラーに関する情報だけでなく、通常動作時における動作ログを常時出力させ、蓄積しておくことも行われている。
【０００３】
例えば、特許文献１には、業務を行うアプリケーションソフトウェアから出力されるログ生成コマンドに基づき設定したパラメータに従い、ログ出力関数プログラムがアプリケーションソフトウェアに生じた障害に関する障害情報をログファイルへ出力するコンピュータシステムについて開示されている。
【特許文献１】特開２００１−１２５８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、アプリケーションソフトウェアの動作ログを常時出力していると、コンピュータが備える記憶装置内に蓄積されるログ情報のデータ容量が膨大なものになり、記憶装置の記憶領域を圧迫してしまう。また、ログ情報を取得し蓄積する機器によっては、容量に十分な余裕のある記憶装置を備えていないために、ログ情報を保持するための記憶領域の大きさに厳しい制約がある場合も考えられる。さらに、アプリケーションソフトウェアに問題が発生した場合にログ情報を解析する際には、蓄積されている全てのログ情報が必要なわけでなく、重大な事象に関するものだけが必要であることが多い。
【０００５】
本発明は、上記問題を鑑みなされており、蓄積するログデータの容量の低減を図りつつも、ログ情報を有効に活用できるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するためになされた請求項１に記載の情報処理装置は、ログデータ出力手段、重要度判定手段、ログデータ保存手段及び統計データ記録手段を備え、前記各手段は次のような特徴を有する。
【０００７】
ログデータ出力手段は、動作中に生じた事象に関する事象情報と当該事象情報の重要度を示す情報とを含むログデータを出力する。重要度判定手段は、ログデータ出力手段から出力されたログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する。ログデータ保存手段は、重要度判定手段によりログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存する。統計データ記録手段は、重要度判定手段によりログデータに係る事象情報の重要度が所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する。
【０００８】
このように構成された情報処理装置によれば、出力されたログデータの重要度が高ければそのまま保存し、ログデータの重要度が低ければこれを統計データとして保存することができる。この統計データは、例えばエラー等に関する事象情報の集団の性質・傾向を数量に示すものであり、複数のログデータに係るエラーの事象をこの統計データに集計することで、これらのログデータをそのまま保持する場合と比べてデータ容量を格段に低減できる。また、データ容量を低減しながらも、統計データからログデータに係る事象情報の集団の性質・傾向を知ることができ、解析用のデータとしての実用性も確保される。
【０００９】
さらに、重要度の高い事象情報に関するログデータは、ログ解析を行うために必要となる可能性が高いが、本発明では重要度の高い事象情報に関するログデータについては、ログデータのまま保存されるため、解析用のデータとしての実用性は十分に確保される。このように、重要度の高い事象情報に関するログデータ、例えば、深刻なエラーに関するログデータのようにログ解析を行うために必要となる可能性の高いログデータはそのまま保存し、重要度の高くない事象情報に関するログデータについては統計データとして記録することで、蓄積されたログデータの容量の低減と、ログデータの実用性の確保とを両立できる。
【００１０】
つぎに、請求項２に記載の情報処理装置は以下のような特徴を有する。すなわち、ログデータ出力手段から出力されたログデータを蓄積する蓄積手段を更に備え、重要度判定手段は、蓄積手段に蓄積されているログデータの容量が所定の上限値以上である場合、この蓄積されている各ログデータに基づき、各ログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する。そして、統計データ記録手段は、蓄積手段に蓄積されているログデータのうち、重要度判定手段によりエラーの重要度が所定レベル以上でないと判定された各ログデータを、当該各ログデータに係る事象情報の統計データに置換する。
【００１１】
このように構成された情報処理装置によれば、普段は出力されたログデータをそのまま蓄積しておくが、この蓄積されているログデータの総容量が上限値を超えた場合、蓄積されているログデータのうち、重要度の低い事象情報に関するログデータのみを統計データと置換する。このとき、重要度の高い事象情報に関するログデータについてはそのまま保持する。こうすることで、蓄積されたログデータの容量が上限値を超えない間は、出力されたログデータをそのまま保存することで解析用のデータとしての実用性を十分に保つことができる。そして、もし蓄積されたログデータの容量が上限値を超えてしまった場合でも、蓄積されたログデータの容量の低減を図りつつ、統計データを解析用のデータとして有効に活用でき、限られた記憶領域を効率的に利用できる。
【００１２】
ところで、情報処理装置上で動作するアプリケーションソフトウェアからログデータを収集する場合、アプリケーションソフトウェアで実行された正常な動作に関する情報と、アプリケーションソフトウェアで実行された動作に生じたエラーに関する情報との両方についてログデータを出力させることが考えられる。
【００１３】
そこで、請求項３に記載のように、前記アプリケーションで実行された動作に生じたエラーに関する事象情報は、前記アプリケーションソフトウェアで実行された動作に関する事象情報より高い重要度を示すように構成するとよい。
【００１４】
このようにすることで、正常な動作に関するログデータは重要度が低いものとして統計データに記録され、エラーに関するログデータは重要度が高いものとしてそのまま保存される可能性が高くなる。よって、エラーに関するログデータを解析することで当該エラーの原因を解明する必要がある場合には、限られた記憶容量の範囲でより多くのエラーに関するログデータを取得できることになり、ログデータをより有効に活用できる。
【００１５】
つぎに、請求項４に記載の情報処理装置は、ログデータに係るエラーの事象をエラーごとの発生頻度の統計データとして記録することを特徴とする。このようにすることで、この統計データから、エラーの種類ごとの発生数の傾向を数量的に把握することができる。
【００１６】
あるいは、請求項５に記載のように、前記ログデータに係るエラーの事象と、当該エラーに相関して生じた他のエラーの事象との相関関係を示す統計データとして記録するように構成してもよい。このようにすることで、例えば、エラーＡが発生した場合にエラーＢが発生する頻度や確率といった、複数のエラーに関する相関関係を数量的に把握することができる。
【００１７】
ところで、ログデータの出力元が情報処理装置に接続された周辺機器（例えばプリンタ、ファクシミリ等）を制御するアプリケーションソフトウェア（すなわちデバイスドライバ）である場合、ログデータとして出力される事象情報の代表的なものとして、例えば、情報処理端末と周辺機器との間の通信エラーが挙げられる。このとき、同じ通信エラーでも、例えば通信エラーが比較的よく発生することを前提として構築されているＴＣＰ／ＩＰ等の通信プロトコルに準拠するネットワークインタフェース（例えば、有線／無線ＬＡＮ）で発生した場合では、通信エラーに対してはログデータの解析をする必要性が低い。これに対し、通信エラーの発生を前提としないＵＳＢインタフェース等で発生した場合、この通信エラーに対しては、エラーの原因を解明するためにログデータの解析を行う必要性が高い。このように、同じエラーに対しても、周辺機器の接続形態（例えば、有線ＬＡＮ、無線ＬＡＮ、ＵＳＢ等）によって、ログデータの解析の必要性が高いか低いかといった観点での重要度が変ってくると考えられる。よって、接続形態に応じて当該エラーに関するログデータが保存するに値するか否かの判断基準を変えてやることで、蓄積されるログデータの実用性を更に向上させ、ログデータの記憶領域の効率的な利用を図れる。また、このような発想は、エラーに関する事象情報に限らずエラー以外の事象情報に適用することもできる。
【００１８】
そこで、請求項６に記載のように構成することとよい。つまり、当該情報処理装置と、これに通信可能に接続された周辺機器との接続形態を判別する接続形態判別手段を更に備える。また、ログデータ出力手段は、周辺機器を制御するアプリケーションソフトウェアの動作中に生じた事象に関する事象情報についてのログデータを出力する。そして、重要度判定手段は、接続形態判別手段によって判別された周辺機器との接続形態に応じて、事象情報の重要度の判別に用いる所定レベルの値を変更する。
【００１９】
このように構成された情報処理装置によれば、周辺機器との接続形態に応じて、ログデータの実用性を考慮した態様にてログデータを保存できる。通信エラーの例を挙げれば、周辺機器との接続形態がＵＳＢ接続である場合には、通信エラーに対してログ解析を行ってエラーの原因を解明する必要性が高いため、ログデータをそのまま保持すると判断するための重要度のレベルを低く設定する。一方、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には、通信エラーに対してログ解析を行う必要性が低く件数も多いため、ログデータをそのまま保持すると判断するための重要度のレベルを高く設定するといった運用を行うことが考えられる。このようにすることで、例えば、周辺機器との間に生じた通信エラーに関するログデータに対して、接続形態がＵＳＢ接続の場合はログデータをそのまま保存するが、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には積極的に統計データとして保存するといった具合に、接続形態に応じてログデータの保存方法を柔軟に変化させることができる。
【００２０】
あるいは、請求項７に記載のように構成してもよい。つまり、当該情報処理装置と、これに通信可能に接続された周辺機器との接続形態を判別する接続形態判別手段を更に備える。そして、ログデータ出力手段は、周辺機器を制御するアプリケーションソフトウェアの動作中に生じた事象に関する事象情報についてのログデータを出力し、かつ、接続形態判別手段によって判別された周辺機器との接続形態に応じて、当該ログデータに係る事象情報に対して付与する重要度のレベルを変更する。
【００２１】
通信エラーの例を挙げれば、周辺機器との接続形態がＵＳＢ接続である場合には、通信エラーに対してログ解析を行う必要性が高いため、当該ログデータに付与するエラーの重要度を高く設定し、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には、通信エラーに対してログ解析を行う必要性は低く件数も多いため、当該ログデータに付与するエラーの重要度を低く設定するといった運用を行うことが考えられる。このような運用においても、例えば、周辺機器との間に生じた通信エラーに関するログデータに対して、接続形態がＵＳＢ接続の場合はログデータをそのまま保存するが、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には積極的に統計データとして保存するといった具合に、接続形態に応じてログデータの保存方法を柔軟に変化させることができる。
【００２２】
つぎに、請求項８に記載のプログラムは、情報処理装置上で動作するアプリケーションソフトウェアのログデータを監視するためのログ監視プログラムであって、当該情報処理装置を、重要度判定手段、ログデータ保存手段及び統計データ記録手段として機能させることを特徴とする。
【００２３】
重要度判定手段は、出力されたアプリケーションソフトウェアのログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する。ログデータ保存手段は、重要度判定手段によりログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存する。統計データ記録手段は、重要度判定手段により前記ログデータに係る事象情報の重要度が前記所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する。このように構成されたログ監視プログラムを、ログデータを蓄積する機能を持った情報処理装置へ導入することで、請求項１に記載の情報処理装置と同様の効果を得ることができる。
【００２４】
また、請求項９に記載のログ監視方法は、ログデータ出力手順、重要度判定手順、ログデータ保存手順及び統計データ記録手順から構成されることを特徴とする。
ログデータ出力手順では、動作中に生じた事象に関する事象情報と当該事象情報の重要度を示す情報とを含むログデータを出力する。重要度判定手順では、ログデータ出力手順において出力されたログデータに基づき、このログデータに係る事象情報の重要度が所定レベル以上であるか否かを判定する。ログデータ保存手順では、重要度判定手順においてログデータに係る事象情報の重要度が所定レベル以上であると判定されたログデータを保存する。統計データ記録手順では、重要度判定手順によりログデータに係る事象情報の重要度が所定レベル以上でないと判定されたログデータに係る事象情報を、統計データとして記録する。以上のような手順で構成されるログ監視方法を、ログデータを蓄積する機能を持った情報処理装置に採用することで、請求項１に記載の情報処理装置と同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の一実施形態を図面に基づいて説明する。
［パーソナルコンピュータ１の構成の説明］
図１は、本発明の一実施形態であるパーソナルコンピュータ１（以下、ＰＣ１と称する）の概略構成を示すブロック図である。
【００２６】
このＰＣ１は、本発明でいう情報処理装置に相当し、このＰＣ１上で機能するアプリケーションから出力されるログデータを監視するログ監視アプリケーションが機能している。
【００２７】
ＰＣ１は、図１に示すように、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ１４（以下、ＨＤＤ１４と称する）、操作部１５、表示部１６、ＵＳＢインタフェース１７、有線ＬＡＮインタフェース１８、及び無線ＬＡＮインタフェース１９等を備えている。
【００２８】
ＣＰＵ１１は、ＲＯＭ１２やＲＡＭ１３に記憶されたプログラムやデータに従って、ＰＣ１各部に対する制御及び各種演算を実行する装置で、後述するログ監視アプリケーションや、このログ監視アプリケーションによるログの監視の対象となるドライバアプリケーションとしての処理は、このＣＰＵ１１によって実行される。ＲＯＭ１２は、ＰＣ１の電源スイッチを切っても記憶内容を保持する記憶装置で、ＢＩＯＳや通常であれば更新されない読み出し専用のデータ等を記憶している。
【００２９】
ＲＡＭ１３は、ＣＰＵ１１から直接アクセスされるメインメモリ等として利用される記憶装置である。このＲＡＭ１３には、オペレーティングシステムや各種アプリケーション等のソフトウェアがＨＤＤ１４から読み込まれ、また、ＣＰＵ１１による各種演算の結果やＨＤＤ１４から読み込まれたデータもＲＡＭ１３に記憶される。後述するログ監視アプリケーションやログの監視の対象となるドライバアプリケーションとしての処理を実行する際には、各処理をＣＰＵ１１に実行させるためのプログラム（アプリケーションプログラムやログ監視プログラム）がＨＤＤ１４からＲＡＭ１３に読み込まれる。そして、ＲＡＭ１３に記憶されたプログラムに従って、ＣＰＵ１１が各処理を実行することになる。
【００３０】
ＨＤＤ１４は、ＯＳ、各種プログラム、及び各種データファイルを保存しておくための装置で、上記アプリケーションプログラムやログ監視プログラムもＨＤＤ１４に保存されている。操作部１５は、ユーザからの各種指示を入力するための入力装置であり、例えば、キーボードや各種ポインティングデバイス（例えばマウス）等によって構成される。表示部１６は、各種情報をユーザに対して提示するための出力装置であり、例えば液晶ディスプレイ等によって構成される。
【００３１】
ＵＳＢインタフェース１７（以下、ＵＳＢＩ／Ｆ１７と表記する）は、例えばプリンタやスキャナ等の周辺機器をＰＣ１に接続するためのシリアルインタフェースである。なお、本実施形態では、このＵＳＢＩ／Ｆ１７及びＵＳＢケーブル１７１を介して、ＰＣ１とプリンタ２ａとが通信可能に接続されているものと想定する。
【００３２】
有線ＬＡＮインタフェース１８（以下、有線ＬＡＮＩ／Ｆ１８と表記する）は、ツイストペアケーブルや同軸ケーブルを使って構成されたＬＡＮにＰＣ１を接続するための通信インタフェースである。なお、本実施形態では、有線ＬＡＮＩ／Ｆ１８及び有線ＬＡＮ回線１８１を介して、ＰＣ１とプリンタ２ｂとが通信可能に接続されているものと想定する。
【００３３】
無線ＬＡＮインタフェース１９（以下、無線ＬＡＮＩ／Ｆ１９と表記する）は、例えばＩＥＥＥ８０２．１１諸規格に準拠した機器で構成される無線通信ネットワークとの間で通信を行うための通信インタフェースである。なお、本実施形態では、この無線ＬＡＮＩ／Ｆ１９及び無線ＬＡＮ回線１９１を介して、ＰＣ１とプリンタ２ｃとが通信可能に接続されているものと想定する。
【００３４】
ＰＣ１には、このＰＣ１に接続されたプリンタ２ａ，２ｂ，２ｃ（以下、これらを特に区別しない場合は、プリンタ２と表記する）を制御するためのドライバアプリケーションがプリンタ２の機種ごとにインストールされており、ＰＣ１は、このドライバアプリケーションを用いてＰＣ１からドキュメントの印刷ジョブを出力し、これをプリンタ２に実行させることでドキュメントの印刷を行うことができる。
【００３５】
［ＰＣ１が実行する処理の説明（第１実施形態）］
つぎに、ＰＣ１が実行する処理の第１実施形態について、ＰＣ１上で機能するログ監視アプリケーション、及びこのログ監視アプリケーションによるログの監視の対象となるドライバアプリケーション等の概要を、図２に基づいて説明する。
【００３６】
図２は、ＰＣ１が実行する処理の第１実施形態において、ＰＣ１上で機能するドライバアプリケーション１１１ａと、ドライバアプリケーションから出力されるログデータ１１２ａと、ログ監視アプリケーション１１３ａと、ログデータベース１１４ａとの相関を模式的に示す説明図である。
【００３７】
図２に示すドライバアプリケーション１１１ａは、ＰＣ１からプリンタ２を制御するためのデバイスドライバとして機能するアプリケーションである。このドライバアプリケーション１１１ａは、動作中に生じたイベントに関する情報を記録したログデータを出力する。なお、本実施形態のＰＣ１に備えられたＯＳには複数のアプリケーション間で共通して利用可能なロギングツール１１５ａが備えられており、ドライバアプリケーション１１１ａは、動作中にこのロギングツール１１５ａを呼び出して実行することでログデータを出力することができる。あるいは、ドライバアプリケーション１１１ａ自身が独自のロギングツールを備えることでログデータを出力するような構成であってもよい。
【００３８】
ドライバアプリケーション１１１ａは、その動作中に何らかのエラーが生じた場合、当該エラーに関するログデータ１１２ａを出力する。このログデータ１１２ａには、当該エラーの内容や発生時刻を示す情報の他に、当該エラーログの重要度を示す情報として、当該エラーの深刻さの度合に応じて定められたエラーレベルのデータが含まれている。このエラーレベルの値は、エラーの深刻度合を考慮してエラーの種類ごとに予め定められており、ログデータ１１２ａの出力時に当該エラーの種類に対応した値がロギングツール１１５ａによって付与される。なお、ここでは、エラーレベルの値が大きい程エラーの深刻度が高く、エラーログの重要度が高いものであるとする。
【００３９】
ログ監視アプリケーション１１３ａは、常駐プログラムとして常にドライバアプリケーション１１１ａから出力されるログデータ１１２ａを監視している。そして、ドライバアプリケーション１１１ａからエラーに関する情報が記述されたログデータ１１２ａが出力されると、そこから当該エラーのエラーレベルを判定する。そして、このエラーレベルが所定の統計置換レベル以上（すなわち、エラーログの重要度が高い）の場合、このログデータ１１２ａを、ＨＤＤ１４に設けられたログデータベース１１４ａに保存する。一方、エラーレベルが所定の統計置換レベル以上でない（すなわち、エラーログの重要度が低い）場合、このログデータ１１２ａに係るエラーの事象を、統計データの変量の値として記録する。この統計データは、ＨＤＤ１４のログデータベース１１４ａ内に格納されており、複数のログデータ１１２ａに係るエラーの事象の集団について、この集団の性質・傾向を数量的に記録したデータである。このような統計データの一例として、エラーの種類ごとの発生回数を変量とした度数分布が挙げられる。なお、ログ監視アプリケーション１１３ａが実行する処理の詳細な内容については後述する。
【００４０】
［ログ監視アプリケーション１１３ａが実行する処理の説明（第１実施形態）］
つぎに、上記ログ監視アプリケーション１１３ａが実行する処理（第１実施形態）の詳細な内容について、図３，４に基づき説明する。
【００４１】
図３は、第１実施形態のログ監視アプリケーション１１３ａが実行するメイン処理の手順を示すフローチャートである。図３に示す処理は、ＰＣ１の起動と共に常時実行される処理であり、以下の説明においては、ログ監視処理と称する。
【００４２】
ログ監視アプリケーション１１３ａは、ログ監視処理を開始すると、まず、ドライバアプリケーション１１１ａから出力されたログデータ１１２ａを取得する（Ｓ１００）。つぎに、ドライバアプリケーション１１１ａの制御対象であるプリンタ２とＰＣ１との接続形態を判別する（Ｓ１１０）。ここでは、ドライバアプリケーション１１１ａの制御対象であるプリンタ２が、ＵＳＢＩ／Ｆ１７を介して接続されたもの（ＵＳＢ接続）であるか、有線ＬＡＮＩ／Ｆ１８を介して接続されたもの（有線ＬＡＮ接続）であるか、無線ＬＡＮＩ／Ｆ１９を介して接続されたもの（無線ＬＡＮ接続）であるかを判別する。
【００４３】
つぎに、この判別した接続形態に基づいて、統計変換レベルを決定する（Ｓ１２０）。この統計変換レベルは、取得したログデータ１１２ａを保存統計データへ変換するか否かを判定する際のエラーレベルの閾値であり、ドライバアプリケーション１１１ａの制御対象であるプリンタ２とＰＣ１との接続形態別に異なる値が予め設定されている。本実施形態では、図４に示すように、エラーの深刻度が最も小さいエラーレベル１から、最も大きいエラーレベル８までの範囲において、ＵＳＢ接続時の統計変換レベルはエラーレベル４、有線ＬＡＮ接続時の統計変換レベルはエラーレベル５、無線ＬＡＮ接続時の統計変換レベルはエラーレベル６に設定されている。
【００４４】
図３のフローチャートの説明に戻る。Ｓ１３０では、Ｓ１００で取得したログデータ１１２ａから当該ログデータに係るエラーのエラーレベルを判定する。そして、Ｓ１２０で決定した統計変換レベルとＳ１３０で判定したエラーレベルとを比較し、このエラーレベルが統計変換レベル以上であるか否かを判定する（Ｓ１４０）。ここで、エラーレベルが統計変換レベル以上であると判定した場合（Ｓ１４０：ＹＥＳ）、当該ログデータ１１２ａをログデータベース１１４ａへ保存する（Ｓ１５０）。
【００４５】
一方、エラーレベルが統計変換レベル以上ではないと判定した場合（Ｓ１４０：ＮＯ）、当該ログデータ１１２ａに係るエラーの事象を、ログデータベース１１４ａに格納されている統計データの変量の値として記録する（Ｓ１６０）。なお、このとき、当該ログデータ１１２ａ自体はログデータベース１１４ａに保存されない。
【００４６】
［ＰＣ１が実行する処理の説明（第２実施形態）］
つぎに、ＰＣ１が実行する処理の第２実施形態について、ＰＣ１上で機能するログ監視アプリケーション、及びこのログ監視アプリケーションによるログの監視の対象となるドライバアプリケーション等の概要を、図５に基づいて説明する。
【００４７】
図５は、ＰＣ１が実行する処理の第２実施形態において、ＰＣ１上で機能するドライバアプリケーション１１１ｂと、ドライバアプリケーションから出力されるログデータ１１２ｂと、ログ監視アプリケーション１１３ｂと、ログデータベース１１４ｂとの相関を模式的に示す説明図である。
【００４８】
ドライバアプリケーション１１１ｂは、上記第１実施形態と同様、ＰＣ１からプリンタ２を制御するためのデバイスドライバとして機能するアプリケーションである。このドライバアプリケーション１１１ｂは、動作中にロギングツール１１５ｂを呼び出して実行することで、動作中に生じたイベントに関する情報を記録したログデータを出力する。
【００４９】
ドライバアプリケーション１１１ｂは、その動作中に何らかのエラーが生じた場合、当該エラーに関するログデータ１１２ｂを出力し、これをＨＤＤ１４に設けられたログデータベース１１４ｂに保存する。このログデータ１１２ｂには、当該エラーの内容や発生時刻を示す情報の他に、当該エラーログの重要度を示す情報として、当該エラーの深刻さの度合に応じて定められたエラーレベルのデータが含まれている。
【００５０】
このエラーレベルの値は、エラーの深刻度合を考慮してエラーの種類ごとに予め定められており、ログデータ１１２ｂの出力時に当該エラーの種類に対応した値がロギングツール１１５ｂによって付与される。さらに、このロギングツール１１５ｂは、エラーの種類に加え、ドライバアプリケーション１１１ｂの制御対象であるプリンタ２とＰＣ１との接続形態をも加味してエラーレベルの値を決定する。なお、このロギングツール１１５ｂが実行する処理の詳細な内容については後述する。
【００５１】
ログ監視アプリケーション１１３ｂは、適宜なタイミングでログデータベース１１４ｂに保存されているログデータの総容量を監視する。そして、ログデータベース１１４ｂに保存されているログデータの総容量が所定の閾値（上限値）を越えた場合、エラーレベルが所定の統計置換レベル以下（すなわち、エラーログの重要度が低い）の全てのログデータ１１２ｂを、当該各ログデータに係るエラー事象の集団の統計データと置換する。この統計データは、ＨＤＤ１４のログデータベース１１４ｂ内に格納されており、複数のログデータ１１２ｂに係るエラー事象の集団について、この集団の性質・傾向を数量的に記録したデータである。このような統計データの一例として、エラーの種類ごとの発生回数や複数種類のエラーが相関して発生した回数を変量とした度数分布が挙げられる。なお、ログ監視アプリケーション１１３ｂが実行する処理の詳細な内容については後述する。
【００５２】
［ロギングツール１１５ｂが実行する処理の説明（第２実施形態）］
つぎに、上記ロギングツール１１５ｂが実行する処理（第２実施形態）の詳細な内容について、図６に基づき説明する。
【００５３】
図６は、第２実施形態のロギングツール１１５ｂが実行する処理の手順を示すフローチャートである。図６に示す処理は、ドライバアプリケーション１１１ｂからの呼び出しに応じて実行される処理であり、以下の説明においては、ログデータ出力処理と称する。
【００５４】
ロギングツール１１５ｂは、ログデータ出力処理を開始すると、まず、ドライバアプリケーション１１１ｂで発生したエラーの種類等の情報を取得する（Ｓ２００）。つぎに、ドライバアプリケーション１１１ｂの制御対象であるプリンタ２とＰＣ１との接続形態を判別する（Ｓ２１０）。ここでは、ドライバアプリケーション１１１ｂの制御対象であるプリンタ２がＵＳＢ接続であるか、有線ＬＡＮ接続であるか、無線ＬＡＮ接続であるかを判別する。
【００５５】
そして、この判別した接続形態とエラーの種類とに基づき、当該エラーのエラーレベルを決定する（Ｓ２２０）。このエラーレベルは、ログデータの重要度を示す指標であり、エラーの種類、及びドライバアプリケーション１１１ａの制御対象であるプリンタ２とＰＣ１との接続形態別に異なる値が予め設定されている。本実施形態では、図７に示すように、エラーＡ，Ｂ，Ｃ…といったエラーの種類ごとに、それぞれ無線ＬＡＮ接続、有線ＬＡＮ接続、ＵＳＢ接続の各接続形態に別に対応するエラーレベルが設定されている。その一例として、エラーＣに対しては、エラーの深刻度が最も小さいエラーレベル１から最も大きいエラーレベル８までの範囲で、無線ＬＡＮ接続時はエラーレベル４、有線ＬＡＮ接続時はエラーレベル５、ＵＳＢ接続時はエラーレベル７に設定されている。
【００５６】
図６のフローチャートの説明に戻る。Ｓ２２０でエラーレベルを決定した後、当該エラーの内容を示す情報とエラーレベルのデータとを含んだログデータ１１２ｂを出力する（Ｓ２３０）。
【００５７】
［ログ監視アプリケーション１１３ｂが実行する処理の説明（第２実施形態）］
つぎに、上記ログ監視アプリケーション１１３ｂが実行する処理（第２実施形態）の詳細な内容について、図８，９に基づき説明する。
【００５８】
図８は、第２実施形態のログ監視アプリケーション１１３ｂが実行するメイン処理の手順を示すフローチャートである。図８に示す処理は、例えばＰＣ１の起動時や、所定の時刻、あるいは所定の時間間隔等のタイミングで実行される処理であり、以下の説明においては、ログ監視処理と称する。
【００５９】
ログ監視アプリケーション１１３ｂは、ログ監視処理を開始すると、まず、ログデータベース１１４ｂ内に保存されているログデータ１１２ｂの総容量を計測する（Ｓ３００）。そして、この計測した総容量が所定の閾値以上であるか否かを判定する（Ｓ３１０）。ここで、ログデータ１１２ｂの総容量が閾値以上ではないと判定した場合（Ｓ３１０：ＮＯ）、ログ監視処理を終了する。
【００６０】
一方、ログデータ１１２ｂの総容量が閾値以上であると判定した場合（Ｓ３１０：ＹＥＳ）、ログデータベース１１４ｂ内に保存されているログデータ１１２ｂのうち、エラーレベルが所定の第１統計置換レベル以下のログデータ１１２ｂを、当該各ログデータ１１２ｂに係るエラー事象の集団の統計データと置換する（Ｓ３２０：統計データ置換処理）。この統計データ置換処理の詳細な内容については後述する。なお、ここでログデータ１１２ｂと置換される統計データは、エラーの種類ごとの発生回数及び複数種類のエラーが相関して発生した回数を変量とする度数分布として記録される。
【００６１】
第１統計置換レベルによるログデータ１１２ｂの統計データへの置換後、ログデータベース１１４ｂ内に保存されているログデータ１１２ｂの総容量を再び計測する（Ｓ３３０）。そして、この計測した総容量が前記閾値以上であるか否かを判定する（Ｓ３４０）。ここで、ログデータ１１２ｂの総容量が閾値以上ではないと判定した場合（Ｓ３４０：ＮＯ）、ログ監視処理を終了する。
【００６２】
一方、ログデータ１１２ｂの総容量が閾値以上であると判定した場合（Ｓ３４０：ＹＥＳ）、第１統計置換レベルよりも値が大きい第２統計置換レベルを用いて、上述の統計データ置換処理を再び実行する。ここでは、ログデータベース１１４ｂ内に保存されているログデータ１１２ｂのうち、エラーレベルがこの第２統計置換レベル以下のログデータ１１２ｂを、当該各ログデータ１１２ｂに係るエラー事象の集団の統計データと置換し（Ｓ３５０：統計データ置換処理）、ログ監視処理を終了する。
【００６３】
つぎに、図９は、第２実施形態のログ監視アプリケーション１１３ｂが実行する統計データ置換処理の手順を示すフローチャートである。この処理は、上述のログ監視処理（図８参照）のＳ３２０及びＳ３５０において実行される処理である。
【００６４】
ログ監視アプリケーション１１３ｂは、統計データ置換処理を開始すると、まず、ログデータベース１１４ｂに保存されているログデータ１１２ｂのうち、エラーレベルが統計置換レベル（Ｓ３２０では第１統計置換レベル、Ｓ３５０では第２統計置換レベル）以下であるログデータ１１２ｂを置換対象としてリストアップし（Ｓ４００）、このリストにおける最初の置換対象のログデータ１１２ｂを１つセットする。
【００６５】
つぎに、セットした置換対象のログデータ１１２ｂに係るエラーの種類を判別する（Ｓ４１０）。なお、ここでは、判別したエラーの種類をエラーＸであると想定する。そして、エラーＸの発生回数を１つカウントアップする（Ｓ４２０）。さらに、ログデータベース１１４ｂに保存されているログデータ１１２ｂに基づき、このエラーＸの発生時刻から所定時間Ｔの間に何らかのエラーが発生しているか否かを判定する（Ｓ４３０）。なお、この所定時間Ｔは、エラーの種類によってそれぞれ異なる時間に設定してもよい。
【００６６】
ここで、エラーＸの発生時刻から所定時間Ｔの間にエラーＹが発生したと判定した場合（Ｓ４３０：ＹＥＳ）、エラーＸと相関して発生したエラーＹの発生回数のカウントを１つカウントアップし（Ｓ４４０）、Ｓ４５０の処理へ移行する。なお、ここで、エラーＸの発生時刻から所定時間Ｔの間に複数のエラーが発生している場合は、エラーＸと相関して発生した複数のエラーについて、それぞれ発生回数をカウントする。
【００６７】
一方、Ｓ４３０でエラーＸの発生時刻から所定時間Ｔの間に何もエラーが発生していないと判定した場合（Ｓ４３０：ＮＯ）、Ｓ４５０の処理へ移行する。
Ｓ４５０では、Ｓ４００でリストアップした置換対象のログデータ１１２ｂのうち、エラーの発生回数のカウントを行っていない未処理のものがあるか否かを判定する。ここで、未処理の置換対象のログデータ１１２ｂがあると判定した場合（Ｓ４５０：ＹＥＳ）、次の置換対象のログデータ１１２ｂをセットし（Ｓ４６０）、Ｓ４１０の処理へ戻る。以降、Ｓ４１０〜Ｓ４６０の処理を順次繰り返してエラーの発生回数を計測した後、Ｓ４５０で未処理のログデータ１１２ｂがないと判定した場合（Ｓ４５０：ＮＯ）、発生回数を計測した各エラーについて、あるエラーが発生した全事象に対する当該エラーと他のエラーとが相関して発生した確率を算出する（Ｓ４７０）。
【００６８】
つぎに、Ｓ４２０，Ｓ４４０でカウントしたエラーの発生回数、及びＳ４７０で算出した発生率をログデータベース１１４ｂ内の統計データに記録する（Ｓ４８０）。そして、置換対象の全ログデータ１１２ｂをログデータベース１１４ｂから削除して（Ｓ４９０）、統計データ置換処理を終了する。
【００６９】
［効果］
上記実施形態におけるＰＣ１及びログ監視アプリケーション１１３ａ，１１３ｂによれば、以下のような効果を奏する。
【００７０】
（１）第１実施形態について
ドライバアプリケーション１１１ａからログデータ１１２ａが出力される都度、当該ログデータ１１２ａのエラーレベルが高ければそのまま保存し、エラーレベルが低ければこれを統計データとして保存することができる。これにより、全てのログデータ１１２ａをそのまま保持する場合と比べてデータ容量を格段に低減できる。また、統計データには、エラー事象の集団の性質・傾向を数量的に記録できるので、データ容量を低減しながらも、解析用のデータとしての実用性も確保される。
【００７１】
さらに、エラーレベルが高いログデータ１１２ａ、すなわち、エラーの解析を行うために必要となる可能性の高いログデータ１１２ａについては、そのままログデータベース１１４ａに保存されるため、解析用のデータとしての実用性が十分に確保される。このように、深刻なエラーに関するログデータ１１２ａはそのまま保存し、深刻でないエラーに関するログデータ１１２ａについては統計データとして記録することで、蓄積されるログデータ１１２ａの容量の低減と、解析用データとしての実用性の確保とを両立できる。
【００７２】
また、ドライバアプリケーション１１１ａの制御対象のプリンタ２との接続形態に応じて、ログデータを統計データに変換するか否かを決める閾値である統計変換レベルを変えることで、接続形態によって異なるエラーの重要度を考慮した態様にてログデータ１１２ａを保存できる。これにより、例えば、プリンタ２との間に生じた通信エラーに関するログデータ１１２ａに対して、接続形態がＵＳＢ接続の場合はログデータ１１２ａをそのまま保存するが、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には積極的に統計データとして保存するといった具合に、接続形態応じてログデータの保存方法を柔軟に変化させることができる。
【００７３】
（２）第２実施形態について
ログデータベース１１４ｂに蓄積されているログデータ１１２ｂの総容量が上限値を超えた場合、蓄積されているログデータ１１２ｂのうち、エラーレベルの低いログデータ１１２ｂのみを統計データと置換する。このとき、エラーレベルの高いログデータ１１２ｂについてはそのまま保持する。このようにすることで、蓄積されたログデータ１１２ｂの容量が上限値を超えない間は、出力されたログデータ１１２ｂをそのまま保存することで解析用のデータとしての実用性を保つことができる。そして、もし蓄積されたログデータ１１２ｂの容量が上限値を超えてしまった場合でも、蓄積されたログデータ１１２ｂの容量の低減を図りつつ、統計データを解析用データとして有効に活用でき、限られた記憶領域を効率的に利用できる。
【００７４】
また、ドライバアプリケーション１１１ｂの制御対象のプリンタ２との接続形態に応じて、同じエラーであっても付与するエラーレベルの値を変えることによって、接続形態によって異なるエラーの重要度を考慮した態様にてログデータを保存できる。これにより、例えば、プリンタ２との接続形態がＵＳＢ接続である場合には、通信エラーに対してログ解析を行う必要性が高いため、当該ログデータ１１２ｂのエラーレベルを高く設定し、接続形態が有線ＬＡＮ接続や無線ＬＡＮ接続である場合には、通信エラーに対してログ解析を行う必要性は低く件数も多いため、当該ログデータ１１２ｂのエラーレベルを低く設定するといった運用を行うことができる。
【００７５】
また、第２実施形態では、あるエラーの事象と、当該エラーに相関して生じた他のエラーの事象との相関関係を数量的に示す情報を統計データとして記録する。これにより、例えば、エラーＡが発生した場合にエラーＢが発生する頻度や確率といった、複数のエラーに関する相関関係を数量的に把握することができる。
【００７６】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上記の実施形態に何ら限定されるものではなく様々な態様にて実施することが可能である。
【００７７】
例えば、上記実施形態では、アプリケーションに発生したエラーに関するログデータのみに対して、その重要度を示す値としてエラーレベルを付与して、ログ監視アプリケーションによる監視対象とする構成について開示した。これに対して、アプリケーションで実行された正常な動作に関するログデータ（以下、正常ログと称する）とエラーに関するログデータ（以下、エラーログと称する）との両方を、ログ監視アプリケーションによる監視対象とするような構成であってもよい。この場合、正常ログとエラーログとの間で、上記実施形態におけるエラーレベルに代わる共通の重要度の指標を用いて、正常ログ及びエラーログの両方をログ監視アプリケーションの監視対象とすればよい。
【００７８】
ただし、アプリケーションに発生したエラーに対する解決策を開発するためには、エラーログの解析が不可欠であることを鑑みれば、正常ログよりエラーログの方が解析用データとしての重要性が高いと考えられる。そこで、エラーログに付与する重要度は、正常ログに付与する重要度よりも相対的に高くするとよい。このようにすることで、正常ログは重要度が低いものとして統計データに記録され、エラーログは重要度が高いものとしてそのままログデータベースに保存される可能性が高くなる。よって、エラーログを解析することで当該エラーの原因を解明する必要がある場合には、限られた記憶容量の範囲でより多くのエラーログを取得できることになり、ログデータをより有効に活用できる。
【００７９】
上記実施形態では、ログデータの総容量の判断基準となる所定の閾値（上限値）や、第１統計置換レベル、第２統計置換レベルについては、予め決められた値を用いて判定を行っている。これらの値は、所定のタイミングでユーザの操作により設定可能とし、その設定された値を用いて判定を行うような構成でもよい。
【００８０】
また、情報処理装置はＰＣに限らない。例えば、プリンタやスキャナといった周辺機器であってもよい。このような周辺機器では、十分な記憶容量を備えていない場合が多いため、重要度に応じてログデータベースへ保存するデータをログデータと統計データとに分けることで、限られた記憶容量の範囲でログデータをより有効に活用できる。
【００８１】
また、ログデータベースは、情報処理装置自体が備えていてもよいし、別の装置が備えていてもよい。また、例えば、ログデータベースに記憶しているログデータと統計データとを、所定のタイミングで複数の情報処理装置のログデータを管理するログ管理サーバに送信する構成としてもよい。
【００８２】
さらに、接続形態に応じたエラーレベルについて、第１実施形態で示した構成において、ログ出力時にエラーの種類と接続形態とに基づいてエラーレベルを決定するようにしてもよい。また、第２実施形態で示した構成において、接続形態ごとに統計変換レベルを決定するようにしてもよい。
【図面の簡単な説明】
【００８３】
【図１】実施形態のパーソナルコンピュータ１の概略構成を示すブロック図である。
【図２】第１実施形態において、ドライバアプリケーションと、ログデータと、ログ監視アプリケーションと、ログデータベースとの相関を模式的に示す説明図である。
【図３】ログ監視アプリケーション１１３ａが実行するログ監視処理（第１実施形態）の手順を示すフローチャートである。
【図４】接続形態ごとの統計変換レベルの一例を模式的に示す説明図である。
【図５】第２実施形態において、ドライバアプリケーションと、ログデータと、ログ監視アプリケーションと、ログデータベースとの相関を模式的に示す説明図である。
【図６】ロギングツール１１５ｂが実行するログデータ出力処理の手順を示すフローチャートである。
【図７】エラーの種類及び接続形態ごとのエラーレベルの一例を模式的に示す説明図である。
【図８】ログ監視アプリケーション１１３ｂが実行するログ監視処理（第２実施形態）の手順を示すフローチャートである。
【図９】ログ監視アプリケーション１１３ｂが実行する統計データ置換処理（第２実施形態）の手順を示すフローチャートである。
【符号の説明】
【００８４】
１…ＰＣ、２ａ，２ｂ，２ｃ…プリンタ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１４…ＨＤＤ、１５…操作部、１６…表示部、１７…ＵＳＢＩ／Ｆ、１８…有線ＬＡＮＩ／Ｆ、１９…無線ＬＡＮＩ／Ｆ、１１１ａ，１１１ｂ…ドライバアプリケーション、１１２ａ，１１２ｂ…ログデータ、１１３ａ，１１３ｂ…ログ監視アプリケーション、１１４ａ，１１４ｂ…ログデータベース、１１５ａ，１１５ｂ…ロギングツール
【図１】
2009151680.tif 000003
【図２】
2009151680.tif 000004
【図３】
2009151680.tif 000005
【図４】
2009151680.tif 000006
【図５】
2009151680.tif 000007
【図６】
2009151680.tif 000008
【図７】
2009151680.tif 000009
【図８】
2009151680.tif 000010
【図９】
2009151680.tif 000011