JP5381059B2 - 機器、ログ記録制御方法、及びプログラム - Google Patents

機器、ログ記録制御方法、及びプログラム Download PDF

Info

Publication number
JP5381059B2
JP5381059B2 JP2008310090A JP2008310090A JP5381059B2 JP 5381059 B2 JP5381059 B2 JP 5381059B2 JP 2008310090 A JP2008310090 A JP 2008310090A JP 2008310090 A JP2008310090 A JP 2008310090A JP 5381059 B2 JP5381059 B2 JP 5381059B2
Authority
JP
Japan
Prior art keywords
history
event
occurrence
abnormality
comparison
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008310090A
Other languages
English (en)
Other versions
JP2010134705A (ja
Inventor
邦洋 秋吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008310090A priority Critical patent/JP5381059B2/ja
Publication of JP2010134705A publication Critical patent/JP2010134705A/ja
Application granted granted Critical
Publication of JP5381059B2 publication Critical patent/JP5381059B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、機器、ログ記録制御方法、及びプログラムに関し、特に異常の解析にログ情報が利用される機器、ログ記録制御方法、及びプログラムに関する。
プログラムによって制御される機器において発生した障害の原因を解析するには、一般的に障害発生時におけるプログラムの処理シーケンスやプログラムによって利用されるデータの値等を知る必要がある。プログラムの開発時に発生した障害であれば、斯かる情報(処理シーケンスやデータの値等)は、市販されている各種のツール(デバッガツール等の不具合解析ツール)を利用することにより、比較的容易に知ることができる。
しかし、客先において発生した障害(市場障害)の場合、ユーザによる通常の使用が行われている状況において不具合解析ツールの利用は困難である。また、セキュリティの観点よりネットワークを介した解析を行えない場合も多い。更に、画像形成装置のような組み込み系機器の場合、不具合解析ツールが整備されていない場合が多い。
そこで、組み込み系機器では、デバッグ用に出力されるログによって障害の解析が行われている。
特開2002−207399号公報
しかしながら、従来、障害の発生のタイミングは予期することが困難であるため、デバッグ用のログの記録は常時行わなければならなかった。その結果、CPUの性能や記憶容量等のハードウェアリソースに乏しい組み込み系機器の場合、ログの記録のために当該ハードウェアリソースが消費されてしまい、通常の使用に関する処理性能を劣化させてしまう可能性があった。
本発明は、上記の点に鑑みてなされたものであって、異常の解析用のログの記録を適切に行うことができる機器、ログ記録制御方法、及びプログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手段と、前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴と前記異常発生後に発生したイベントの履歴との比較を開始し、該比較に基づいてログ情報の記録の要否を判定する比較手段と、前記比較手段によってログ情報の記録が必要であると判定された後に、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手段とを有する。
このような機器では、異常の解析用のログの記録を適切に行うことができる。
本発明によれば、異常の解析用のログの記録を適切に行うことができる。
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、機器の一例として複合機を用いて説明する。図1は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。図1において複合機10は、コントローラ201、オペレーションパネル202、ファクシミリコントロールユニット(FCU)203、撮像部204、及び印刷部205等を備える。
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、複合機10のシステムメモリである。MEM−C232は、複合機10のローカルメモリである。HDD233は、複合機10のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。
オペレーションパネル202は、オペレータが複合機10に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機10から出力を得るためのハードウェア(表示部)である。
図2は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。図2において、複合機10のソウトウェアは、JSDKアプリ20、JSDKプラットフォーム30、JNI40、ネイティブサービスレイヤ50、及びログ記録制御部60等を含む。これらの各ソフトウェアは、それぞれに実装された処理手順をCPU211に実行させることによりその機能を実現する。
ネイティブサービスレイヤ50は、ネイティブコードによるプログラムによって構成される。ネイティブサービスレイヤ50は、複合機10のハードウェアやソフトウェアに基づく機能を利用させるためのインタフェースを上位モジュールに対して提供し、当該インタフェースの呼び出し(機能の利用要求)に応じて、当該機能を実現するための制御を行う。例えば、ネイティブサービスレイヤ50には、ネットワーク通信の制御に関するインタフェースを提供するモジュール、ファクシミリの制御に関するインタフェースを提供するモジュール、蓄積文書(HDD233に保存されている文書(画像)データ)の配信処理の制御に関するインタフェースを提供するモジュール、撮像部204や印刷部205の制御に関するインタフェースを提供するモジュール、メモリやHDD233等の制御に関するインタフェースを提供するモジュール、オペレーションパネル202の制御に関するインタフェースを提供するモジュール、認証処理や課金処理の制御に関するインタフェースを提供するモジュール、ユーザ情報の管理に関するインタフェースを提供するモジュール等が含まれる。
JNI40は、Java(登録商標)によって記述されたプログラムから、ネイティブサービスレイヤ50が提供する機能の利用を可能とするAPI(Application Program Interface)を備える、いわゆるJNI(Java(登録商標) Native Interface)である。
JSDKプラットフォーム30は、JSDKアプリ20の実行環境を提供するソフトウェアプラットフォームである。JSDKプラットフォーム30は、Java(登録商標)の標準のクラスや、複合機10用に拡張されたクラスに関するクラスライブラリ、及びJava(登録商標)仮想マシン等を含む。
JSDKアプリ20は、JSDKプラットフォーム30において公開されている専用のSDK(ソフトウェア開発キット)を使用して作成されたアプリケーション(以下「SDKアプリ」という。)である。SDKアプリのうち、特にJava(登録商標)言語を使用して開発されたアプリケーションをJSDKアプリという。図中では、JSDKアプリ20として、アプリA、アプリB、及びアプリC等が例示されている。
ログ記録制御部60は、複合機10の動作に関するログ情報(特に、デバッグ用のログ情報)の記録を適切なタイミングで実行する。ログ記録制御部60は、イベント取得部61、エラー検知部62、イベント比較部63、ログ出力部64、発生イベント格納部65、比較用イベント格納部66、及びログ格納部67等を含む。
イベント取得部61は、機器10において発生するイベントを示すデータ(以下、「イベントデータ」をJNI40より受信し、当該イベントデータを発生イベント格納部65に蓄積する。発生イベント格納部65は、イベントデータの履歴を蓄積(管理)するための記憶領域(例えば、ファイル)であり、例えば、HDD233に形成される。本実施の形態において、発生イベント格納部65は、リングバッファの構造によって履歴を蓄積する。したがって、発生イベント格納部65には最近(最新)のイベントから所定数分遡ったイベントまでのイベントデータが蓄積される。なお、イベントとは、オペレーションパネル202を介して行われる入力や、複合機10のハードウェア又はソフトウェアの動作に応じて発生する各種の事象又は事象の通知をいう。
エラー検知部62は、イベントに応じてJSDKプラットフォーム30によって実行される処理において障害又は不具合等に基づいて発生したエラー(異常)を検知する。エラー検知部62は、エラーの検知に応じ、発生イベント格納部65に蓄積されているイベントデータの履歴を比較用イベント格納部66に転記(コピー)する。比較用イベント格納部66は、エラー発生時の発生イベント格納部65の内容(すなわち、エラー発生時における過去のイベントの履歴)を保持しておくための記録領域(例えば、ファイル)であり、例えば、HDD233に形成される。比較用イベント格納部66に転記されたイベントデータを、以下「比較用イベントデータ」という。
イベント比較部63は、比較用イベント格納部66に格納されている比較用イベントデータの履歴と、エラー発生後に発生したイベントのイベントデータの履歴とを比較する。イベント比較部63は、当該比較に基づいてログ情報の記録の要否を判定する。より詳しくは、比較用イベントデータの履歴における連続した一部分と、エラー発生後に発生したイベントのイベントデータの履歴における連続した一部分とが一致した場合、ログ情報の記録が必要であると判定する。
ログ出力部34は、JSDKアプリ20又はJSDKプラットフォーム30による処理のログ情報をログ格納部67に出力(記録)する。ログ格納部67は、ログ情報を格納するための記録領域(例えば、ファイル)であり、例えば、HDD233に形成される。但し、ログ情報は、ネットワークを介して接続されるコンピュータ(記憶装置)に記録されてもよい。なお、本実施の形態において、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報は、通常は記録されない。イベント比較部63によってログ情報の記録が必要であると判定された後にログ情報の記録は開始される。
以下、複合機10の処理手順について説明する。図3は、複合機によるログ記録処理の処理手順を説明するためのフローチャートである。同図では、一つのイベントの発生に応じて実行される処理手順を示す。したがって、イベントが発生するたびに同図の処理手順が繰り返し実行される。
ユーザによるオペレーションパネル202に対する入力等、何らかのイベントの発生が検知されると、複合機10は、イベントに応じた処理(例えば、画面の遷移、ジョブの実行等)を実行する(S101)。続いて、複合機10は、発生したイベントのイベントデータに基づいて、当該イベントがフィルタ情報に指定されたイベントであるか否かを判定する(S102)。
図4は、イベントデータの構成例を示す図である。同図において、イベントデータは、イベントコード及び種別等の項目(又は属性)を有する。イベントコードは、イベントの内容を識別するための識別情報(番号又は記号等)である。例えば、オペレーションパネル602に対する同一のキー入力に対応するイベントデータは、同一のイベントコードを有する。種別は、発生要因又は発生箇所等に応じてイベントを分類した場合に、イベントがいずれの分類に属するかを示す情報である。例えば、イベントは、オペレーションパネル602の入力に応じたイベント、スキャン機能に関するイベント、印刷機能に関するイベント、電源関連のイベント等の種別に分類される。なお、イベントコードにイベントの種別を示す記号が含まれてもよい。
また、フィルタ情報とは、いずれの種別に属するイベントを監視対象とするかを示す情報(監視対象とするイベントをフィルタリングするための情報)である。フィルタ情報は、予め管理者等によって設定され、HDD233等に記録されている。したがって、ステップS102では、発生したイベントの種別と、フィルタ情報として設定されているイベントの種別とが比較される。複数の種別がフィルタ情報に設定されてもよい。なお、ファイル等、記録媒体又はネットワークを介して流通可能な形式によってフィルタ情報を管理するとよい。そうすることにより、客先にフィルタ情報を容易に適用することができる。
発生したイベントの種別が、フィルタ情報に設定されている種別に含まれる場合(S102でYes)、複合機10は、発生イベント格納部65にイベントデータを記録する(S103)。
図5は、発生イベント格納部の構成例を示す図である。同図において、発生イベント格納部65は、イベントデータを発生順に蓄積可能な(すなわち、イベントデータの履歴を記録可能な)構成を有している。本実施の形態において、発生イベント格納部65は、リングバッファとして利用される。すなわち、最終エントリ(最終行)にイベントデータが記録された次は、先頭のエントリにイベントデータが記録される。したがって、現時点から所定数分過去に遡ってイベントデータが蓄積される。発生イベント格納部65をリングバッファとするのは、複合機10の記憶領域の消費量の増加を抑止するためである。但し、必ずしもリングバッファでなくてもよい。例えば、リスト構造によって発生イベント格納部65を構成してもよい。
続いて、複合機10は、比較用イベント格納部66に比較用イベントデータが登録されているか否かを判定する(S104)。比較用イベント格納部66に比較用イベントデータが登録されていない場合(S104でNo)、複合機10は、今回のイベントに応じた処理においてエラー(例外も含む。)が発生したか否かを判定する(S105)。エラーが発生した場合(S105でYes)は、発生イベント格納部65に記録されているイベントデータを、その発生順に比較用イベント格納部66にコピーし、比較用イベント格納部66のポインタ(以下、「比較ポインタ」という。)を先頭にセットする(S106)。また、複合機10は、イベント比較部63による比較回数を0に初期化する。なお、エラーが発生していない場合(S105でNo)、コピーは行われない。
一方、比較用イベント格納部66にイベントデータが登録されている場合(すなわち、少なくとも一度エラーが発生した場合)(S104でYes)、複合機10は、比較ポインタが、比較用イベント格納部66の末尾(最終エントリの後)を指しているか否かを判定する(S111)。比較ポインタが末尾でない場合(S111でNo)、複合機10は、今回のイベントのイベントコードと比較用イベント格納部66において比較ポインタが指している比較用イベントデータのイベントコードとを比較する(S112)。両者が一致する場合(S113でYes)、複合機10は、比較ポインタと比較回数とをインクリメントする(S114)。続いて、複合機10は、比較回数が予め設定された閾値以上であるか否か(すなわち、閾値以上の一致が発生したか否か)を判定する(S115)。すなわち、過去にエラーが発生したイベントのシーケンスの先頭部分と同一シーケンスが再現されているか否かが判定される。
例えば、連続した比較用イベントデータのイベントコードが、それぞれa、b、c、a、d、eである場合(ここでは、便宜上、アルファベット一文字によってイベントコードを表現している。)であって、閾値が「3」である場合、既に、先頭のa、bの一致が確認された後、今回のイベントのイベントコードが「c」であれば、閾値以上の一致が発生したと判定される。
比較回数が閾値以上の場合(S115でYes)、複合機10は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力を有効化する(S116)。ログ情報の出力が有効化されることにより、JSDKアプリ20及びJSDKプラットフォーム30のソースコードに埋め込まれたログ出力命令が有効化される。その結果、次回以降に発生するイベントに応じてステップS101において実行される処理に関するログ情報がログ格納部67に記録される。
すなわち、ステップS116が実行される前は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力は無効化されている。したがって、当該ログ情報の出力は行われない。ログ情報の出力の有効化及び無効化の切り替えは、フラグ変数等を用いて行えばよい。
なお、比較回数が閾値未満の場合(S115でNo)、複合機10は、ログ情報の出力の有効化は行わない。
一方、ステップS111において、比較ポインタが比較用イベント格納部66の末尾(最終エントリの後)を指している場合(S111でYes)、複合機10は、今回のイベントに応じた処理においてエラーが発生したか否かを判定する(S121)。エラーが発生した場合(S121でYes)、ログ格納部67に記録されているログ情報を削除せずに保存しておく(S122)。エラーが発生していない場合(S121でNo)、複合機10は、ログ格納部67に記録されているログ情報を削除する(S123)。
ステップS122、S123、又はステップS113でNoの場合(今回のイベントのイベントコードと比較用イベント格納部66において比較ポインタが指している比較用イベントデータのイベントコードとが一致しない場合)に続いて、複合機10は、比較ポインタ及び比較回数を初期化する(すなわち、ポインタ先を比較用イベント格納部66の先頭位置に設定し、比較回数を0とする。)(S124)。続いて、複合機10は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力を無効化する(S125)。
続いて、図2に示される構成要素がどのように連携することで図3の処理手順が実現されるかについて説明する。図6は、ログ記録処理における構成要素間の連携を説明するための図である。
複合機10において発生したイベントは、比図示のOS(Operating System)からJNI40に通知される(S201)。JNI40は、通知されたイベントのイベントデータをJSDKプラットフォーム30に送信する(S202)。イベントデータを受信したJSDKプラットフォーム30は、イベントに応じた処理を実行する。また、JSDKプラットフォーム30は、必要に応じて、イベントデータを操作対象とされているJSDKアプリ20に通知する(S203)。イベントデータを通知されたJSDKアプリ20は、イベントに応じた処理を実行する。
JNI40は、また、イベントデータをイベント取得部61及びイベント比較部63に送信する(S204、S205)。イベント取得部61は、受信されたイベントデータを発生イベント格納部65に記録する(S206)。イベント比較部63は、受信されたイベントデータを無視する。
正常動作時は、以上の処理が繰り返される。その結果、発生イベント格納部65には、最近の所定数のイベントデータが蓄積される。
イベントに応じて実行されるJSDKアプリ20又はJSDKプラットフォーム30の処理において、プログラムのバグ又は複合機10の故障等による不具合(ネイティブサービスレイヤ50からのエラーの通知、又はJSDKアプリ20若しくはJSDKプラットフォーム30における例外の発生)が検知されると、JSDKプラットフォーム30は、エラー検知部62に対しエラーの発生を通知する(S211)。エラー検知部62は、エラーの発生通知に応じ、発生イベント格納部65に蓄積されているイベントデータ群を比較用イベント格納部66にコピーする(S212)。更に、エラー検知部62は、比較用イベントデータが比較用イベント格納部66に登録されたことをイベント比較部63に通知する(S213)。
エラー検知部62からの通知に応じ、イベント比較部63は、ステップS205のタイミングで繰り返し受信されるイベントデータと比較用イベント格納部66との比較を開始する(S214)比較用イベント格納部66において比較対象とされる比較用イベントデータは、比較ポインタによって識別される。比較ポインタは、エラー検知部62からの通知に応じ、イベント比較部63によって比較用イベント格納部66の最初のエントリにセットされる。その後、比較が終了するたびにインクリメントされる。イベント比較部63は、比較対象の一致が連続した場合は、比較回数をインクリメントする。比較回数が閾値以上となった場合(すなわち、連続して閾値回数以上比較対象が一致した場合)、イベント比較部63は、JSDKプラットフォーム30に対して、ログ情報の出力開始要求を行う(S221)。
例えば、閾値が3であり、連続した比較用イベントデータのイベントコードが、それぞれa、b、c、a、d、eである場合、イベント比較部63は、受信されるイベント(S205)が、a、b、cと連続したことが確認されたときにログ情報の出力開始要求を行う。ログ情報の出力開始要求は、JSDKプラットフォーム30によってJSDKアプリ20にも通知される(S222)。
ログ情報の出力開始要求に応じ、JSDKプラットフォーム30及びJSDKアプリ20は、ログ情報の出力(ログの出力命令)を有効化する。したがって、その後に通知されるイベント(S202、S203)に応じて実行される処理に関しては、JSDKプラットフォーム30又はJSDKアプリ20は、ログの出力命令に基づいてログ情報をログ出力部64に通知する(S231、S232)。ログ出力部64は、通知されたログ情報を所定の形式に基づいてログ格納部67に記録する。
その結果、イベントの発生に応じて処理が実行されるたびにJSDKアプリ20又はJSDKプラットフォーム30によるログ情報がログ格納部67に蓄積される。また、イベント比較部63によるイベントデータの比較も継続される。
その後、比較用イベント格納部66の最終エントリ(最後の比較用イベントデータ)が比較対象となり、最後の比較用イベントデータによる比較が行われると、イベント比較部63は、ログ情報の出力停止要求をJSDKプラットフォーム30に通知する(S241)。JSDKプラットフォーム30は、ログ情報の出力停止要求をJSDKアプリ20に通知する(S242)。
ログ情報の出力停止要求に応じ、JSDKプラットフォーム30及びJSDKアプリ20は、ログ情報の出力を無効化する。したがって、その後に通知されるイベント(S202、S203)に応じて実行される処理に関しては、ログ情報の出力は行われない。
続いて、JSDKプラットフォーム30は、ログ出力部64に対し、ログ情報の出力停止を通知する(S243)。ログ出力部64は、最後のログ情報がエラーを示すものである場合、ログ格納部67に記録されているログ情報を所定の記憶領域に保存(退避)しておく。
その後は退避されたログ情報に基づいて不具合(障害)の原因の解析が行われる。
上述したように、本実施の形態における複合機10は、過去に障害が発生した際のイベントの履歴(イベントシーケンス)の連続した一部分と一致するイベントシーケンスの発生が検知された場合(すなわち、過去に障害が発生した際のイベントシーケンスが再現される可能性が高い場合)に、ログ情報の記録を開始する。
一般的に、複合機10等の組み込み系機器では、イベントドリブン型の制御が行われる。イベントドリブン型の制御とは、機器から上がってくるイベントをトリガとして何らかの処理を行い、処理が終了したらイベント待機状態に戻るというものである。したがって、何らかの障害が発生した場合、それまでのイベントシーケンスと障害との間に関係がある可能性が高い。すなわち、キー操作により発生するイベントシーケンスは、一連のキー操作の手順を表すことになり、特定のキー操作で発生する不具合であれば、イベントシーケンスとの関連を持つといえる。
しがって、複合機10によれば、障害が発生する前であって、かつ、障害が発生する可能性が相対的に高いと予測されるときにログ情報の記録を開始することができる。よって、常にログ情報を記録する場合に比べて、ログ情報を記録するための記憶容量を著しく低下することができると共に、障害の解析作業にとって有用なログ情報を記録することができる。
なお、比較用イベント格納部66は、障害が発生するたびに生成されてもよい。この場合、同時期に複数の比較用イベント格納部66が存在しうる。複数の比較用イベント格納部66が存在する場合、イベント比較部63は、イベントが発生するたびに複数の比較用イベント格納部66との比較を行う。その結果、少なくとも一つの比較用イベント格納部66におけるイベントシーケンスの一部(閾値分の一部)との一致が確認された場合、ログ情報の出力を開始させる。
また、フィルタ情報において複数の種別(イベントの種別)が設定されている場合(実質的に複数のフィルタが存在する場合)は、種別ごとに発生イベント格納部65及び比較用イベント格納部66を用意し、種別ごとに独立してイベントシーケンスの比較を行ってもよい。
また、JSDKアプリ20、JSDKプラットフォーム30、又はログ出力部64は、ログ情報の出力を有効とする範囲、ログ情報の出力レベル等をフィルタ情報に基づいて動的に決定するようにしてもよい。例えば、スキャン機能に関するイベント及び印刷機能に関するイベントが監視対象とされ、それぞれの種別がフィルタ情報として設定されているとする。この状態でスキャン機能に関するイベントによって不具合が発生した場合、スキャン機能に関するログ情報の出力のみを有効化する。
同様に、不具合の内容(例えば、エラーの内容)に応じて、ログ情報を出力する範囲(例えば、クラス等)を動的に決定してもよい。
また、同一不具合(例えば、エラーコード又は例外コードが同一であるもの)が複数回発生した場合に、それぞれ独立した複数の比較用イベント格納部66に比較用イベントデータを登録し、比較用イベント格納部66間において重複している比較用イベントデータを抽出し、抽出された比較用イベントデータの種別に基づいてフィルタ情報を自動的に更新するようにしてもよい。
更に、本実施の形態では、比較ポインタは一つであり、その初期位置は比較用イベント格納部66の最初のエントリ(比較用イベントデータ)である例を示したが、一つの比較用イベント格納部66に対して複数の比較ポインタを設定するようにしてもよい。例えば、比較用イベントデータのイベントシーケンス(以下、「比較用イベントシーケンス」という。)が、a、b、c、a、d、e(アルファベット一文字は、イベントコードを示す。)であり、新たに発生したイベントのイベントコードが「a」である場合、比較用イベントシーケンスの最初の「a」と4番目の「a」とのそれぞれに対して比較ポインタをセットする。以降は、各比較ポインタを一つずつずらしつつ、それぞれの比較ポインタが指す比較用イベントデータのイベントコードと、新たに発生したイベントのイベントコードとを比較する。いずれかについて閾値以上の一致を検出したら、ログ情報の出力を開始する。
そうすることにより、例えば、上記比較用イベントシーケンスにおいて、a、d、eが不具合の原因となるイベントシーケンスである場合において、a、dのイベントに対応する操作が行われた場合であっても(この場合の閾値は「2」とする。)、ログ情報の出力を開始することができる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本発明の実施の形態における複合機のハードウェア構成例を示す図である。 本発明の実施の形態における複合機のソフトウェア構成例を示す図である。 複合機によるログ記録処理の処理手順を説明するためのフローチャートである。 イベントデータの構成例を示す図である。 発生イベント格納部の構成例を示す図である。 ログ記録処理における構成要素間の連携を説明するための図である。
符号の説明
10 複合機
20 JSDKアプリ
30 JSDKプラットフォーム
40 JNI
50 ネイティブサービスレイヤ
60 ログ記録制御部
61 イベント取得部
62 エラー検知部
63 イベント比較部
64 ログ出力部
65 発生イベント格納部
66 比較用イベント格納部
67 ログ格納部
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
204 撮像部
205 印刷部
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカードスロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス

Claims (12)

  1. 当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手段と、
    前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴と前記異常発生後に発生したイベントの履歴との比較を開始する比較手段と、
    前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手段とを有する機器。
  2. 前記ログ記録手段は、前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴における先頭からの連続した一部分又は当該履歴における途中からの一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録する請求項1記載の機器。
  3. 前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴を示す比較用データを生成する比較用データ生成手段を有し、
    前記比較手段は、前記比較用データが示す履歴と前記異常発生後に発生したイベントの履歴とを比較する請求項1又は2記載の機器。
  4. 前記イベント記録手段は、最新の所定数のイベントの履歴を前記履歴管理手段に記録する請求項1乃至3いずれか一項記載の機器。
  5. 機器が実行するログ記録制御方法であって、
    当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手順と、
    前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴と前記異常発生後に発生したイベントの履歴との比較を開始する比較手順と、
    前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手順とを有するログ記録制御方法。
  6. 前記ログ記録手順は、前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴における先頭からの連続した一部分又は当該履歴における途中からの一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録する請求項5記載のログ記録制御方法。
  7. 前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴を示す比較用データを生成する比較用データ生成手順を有し、
    前記比較手順は、前記比較用データが示す履歴と前記異常発生後に発生したイベントの履歴とを比較する請求項5又は6記載のログ記録制御方法。
  8. 前記イベント記録手順は、最新の所定数のイベントの履歴を前記履歴管理手段に記録する請求項5乃至7いずれか一項記載のログ記録制御方法。
  9. 機器に、
    当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手順と、
    前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴と前記異常発生後に発生したイベントの履歴との比較を開始する比較手順と、
    前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手順とを実行させるためのプログラム。
  10. 前記ログ記録手順は、前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴における先頭からの連続した一部分又は当該履歴における途中からの一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録する請求項9記載のプログラム。
  11. 前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴を示す比較用データを生成する比較用データ生成手順を有し、
    前記比較手順は、前記比較用データが示す履歴と前記異常発生後に発生したイベントの履歴とを比較する請求項9又は10記載のプログラム。
  12. 前記イベント記録手順は、最新の所定数のイベントの履歴を前記履歴管理手段に記録する請求項9乃至11いずれか一項記載のプログラム。
JP2008310090A 2008-12-04 2008-12-04 機器、ログ記録制御方法、及びプログラム Expired - Fee Related JP5381059B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008310090A JP5381059B2 (ja) 2008-12-04 2008-12-04 機器、ログ記録制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008310090A JP5381059B2 (ja) 2008-12-04 2008-12-04 機器、ログ記録制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2010134705A JP2010134705A (ja) 2010-06-17
JP5381059B2 true JP5381059B2 (ja) 2014-01-08

Family

ID=42345941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008310090A Expired - Fee Related JP5381059B2 (ja) 2008-12-04 2008-12-04 機器、ログ記録制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5381059B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5699514B2 (ja) * 2010-10-05 2015-04-15 セイコーエプソン株式会社 電子機器、プリンター、電子機器のステータス管理方法およびプログラム
JP5788358B2 (ja) * 2012-04-20 2015-09-30 日立アプライアンス株式会社 電子機器、および、電子機器の異常検出方法
JP6330277B2 (ja) 2013-09-10 2018-05-30 日本電気株式会社 送信装置、送信方法、送信プログラム、及び、中継システム
JP5901602B2 (ja) * 2013-11-13 2016-04-13 株式会社日立システムズ 情報処理装置、情報処理プログラムおよび情報処理方法
JP2016162264A (ja) * 2015-03-03 2016-09-05 日立オートモティブシステムズ株式会社 自動車用電子制御装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105440A (ja) * 1996-09-25 1998-04-24 Hitachi Ltd システム障害監視装置及び記録媒体
JP4618263B2 (ja) * 2007-03-23 2011-01-26 株式会社豊田中央研究所 ソフトウェア挙動監視装置及びソフトウェア挙動監視システム

Also Published As

Publication number Publication date
JP2010134705A (ja) 2010-06-17

Similar Documents

Publication Publication Date Title
US9098306B2 (en) Image forming apparatus, program updating method and computer-readable storage medium
US20150067671A1 (en) Information processing apparatus, control method, and storage medium
US10459775B2 (en) Information processing apparatus, method, and medium
US20100309519A1 (en) Printer driver program product and information processing apparatus
JP5713138B1 (ja) 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
JP2010140111A (ja) 機器管理装置、機器管理システム、ログ管理方法、ログ管理プログラム、及びそのプログラムを記録した記録媒体
JP2017224051A (ja) 情報処理装置、情報処理方法およびプログラム
JP2010191687A (ja) ショートカット管理装置、ショートカット管理方法およびプログラム
US8582161B2 (en) Image forming apparatus, and computer program product for image forming provided with managing log of a time designated print job
US9118790B2 (en) Information processing apparatus, system, method, and storage medium
CN102004653A (zh) 图像形成装置以及安装方法
US10545704B2 (en) Image forming apparatus and control method to update an application in an image forming apparatus
JP6740583B2 (ja) 情報処理システム、情報処理装置、及び情報処理方法
US9423992B2 (en) Management system and control method
JP5562472B2 (ja) 電子機器、ショートカット管理方法及びプログラム
US9870249B2 (en) Virtual computer system, method, and non-transitory computer readable medium
US20190199862A1 (en) Image processing apparatus, control method thereof, and storage medium
US20150355694A1 (en) Information processing apparatus, system, management apparatus, and power status control method
US11397572B2 (en) Image forming apparatus capable of executing extension application, method of controlling same, and storage medium
JP5208793B2 (ja) ファイル管理システム及びファイル管理プログラム
JP2016066214A (ja) ログ記録装置、制御方法及びプログラム
JP7102969B2 (ja) 画像形成システム、画像形成装置、および画像形成方法
JP2018063587A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
US10379799B2 (en) Image forming apparatus, control method, and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130916

R151 Written notification of patent or utility model registration

Ref document number: 5381059

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees