JP5381059B2 - Device, log recording control method, and program - Google Patents
Device, log recording control method, and program Download PDFInfo
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、機器、ログ記録制御方法、及びプログラムに関し、特に異常の解析にログ情報が利用される機器、ログ記録制御方法、及びプログラムに関する。 The present invention relates to a device, a log recording control method, and a program, and more particularly to a device, log recording control method, and program in which log information is used for analysis of abnormality.
プログラムによって制御される機器において発生した障害の原因を解析するには、一般的に障害発生時におけるプログラムの処理シーケンスやプログラムによって利用されるデータの値等を知る必要がある。プログラムの開発時に発生した障害であれば、斯かる情報(処理シーケンスやデータの値等)は、市販されている各種のツール(デバッガツール等の不具合解析ツール)を利用することにより、比較的容易に知ることができる。 In order to analyze the cause of a failure that has occurred in a device controlled by a program, it is generally necessary to know the processing sequence of the program at the time of the failure, the value of data used by the program, and the like. If a failure occurs during program development, such information (processing sequence, data values, etc.) is relatively easy to use by using various commercially available tools (defect analysis tools such as debugger tools). Can know.
しかし、客先において発生した障害(市場障害)の場合、ユーザによる通常の使用が行われている状況において不具合解析ツールの利用は困難である。また、セキュリティの観点よりネットワークを介した解析を行えない場合も多い。更に、画像形成装置のような組み込み系機器の場合、不具合解析ツールが整備されていない場合が多い。 However, in the case of a failure (market failure) that has occurred at a customer, it is difficult to use the failure analysis tool in a situation where normal use by a user is performed. Moreover, there are many cases where analysis via a network cannot be performed from the viewpoint of security. Furthermore, in the case of embedded devices such as image forming apparatuses, failure analysis tools are often not provided.
そこで、組み込み系機器では、デバッグ用に出力されるログによって障害の解析が行われている。
しかしながら、従来、障害の発生のタイミングは予期することが困難であるため、デバッグ用のログの記録は常時行わなければならなかった。その結果、CPUの性能や記憶容量等のハードウェアリソースに乏しい組み込み系機器の場合、ログの記録のために当該ハードウェアリソースが消費されてしまい、通常の使用に関する処理性能を劣化させてしまう可能性があった。 Conventionally, however, it has been difficult to predict the timing of the occurrence of a failure, so that a log for debugging must always be recorded. As a result, in the case of an embedded system that lacks hardware resources such as CPU performance and storage capacity, the hardware resources are consumed for log recording, and processing performance related to normal use may be degraded. There was sex.
本発明は、上記の点に鑑みてなされたものであって、異常の解析用のログの記録を適切に行うことができる機器、ログ記録制御方法、及びプログラムの提供を目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to provide an apparatus, a log recording control method, and a program capable of appropriately recording a log for analyzing an abnormality.
そこで上記課題を解決するため、本発明は、当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手段と、前記イベントに応じた処理における異常の発生に応じ、前記異常発生までに前記履歴管理手段に記録された履歴と前記異常発生後に発生したイベントの履歴との比較を開始し、該比較に基づいてログ情報の記録の要否を判定する比較手段と、前記比較手段によってログ情報の記録が必要であると判定された後に、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手段とを有する。 Therefore, in order to solve the above-described problem, the present invention provides an event recording unit that records a history of events that occur in the device in a history management unit, and the occurrence of an abnormality in response to the occurrence of an abnormality in the process according to the event. A comparison unit that starts comparing the history recorded in the history management unit with the history of events that have occurred after the occurrence of the abnormality, and determines whether or not to record log information based on the comparison; and the log by the comparison unit And log recording means for recording log information relating to processing according to the event in the log information management means after it is determined that information recording is necessary.
このような機器では、異常の解析用のログの記録を適切に行うことができる。 Such an apparatus can appropriately record a log for analyzing an abnormality.
本発明によれば、異常の解析用のログの記録を適切に行うことができる。 According to the present invention, it is possible to appropriately record a log for analyzing an abnormality.
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、機器の一例として複合機を用いて説明する。図1は、本発明の実施の形態における複合機のハードウェア構成例を示す図である。図1において複合機10は、コントローラ201、オペレーションパネル202、ファクシミリコントロールユニット(FCU)203、撮像部204、及び印刷部205等を備える。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the present embodiment, a multifunction device is used as an example of a device. FIG. 1 is a diagram illustrating a hardware configuration example of a multifunction machine according to an embodiment of the present invention. In FIG. 1, the
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
The
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は、セントロニクス仕様の接続端子を提供するためのデバイスである。
The
オペレーションパネル202は、オペレータが複合機10に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機10から出力を得るためのハードウェア(表示部)である。
The
図2は、本発明の実施の形態における複合機のソフトウェア構成例を示す図である。図2において、複合機10のソウトウェアは、JSDKアプリ20、JSDKプラットフォーム30、JNI40、ネイティブサービスレイヤ50、及びログ記録制御部60等を含む。これらの各ソフトウェアは、それぞれに実装された処理手順をCPU211に実行させることによりその機能を実現する。
FIG. 2 is a diagram illustrating a software configuration example of the multifunction peripheral according to the embodiment of the present invention. In FIG. 2, the software of the MFP 10 includes a JSDK
ネイティブサービスレイヤ50は、ネイティブコードによるプログラムによって構成される。ネイティブサービスレイヤ50は、複合機10のハードウェアやソフトウェアに基づく機能を利用させるためのインタフェースを上位モジュールに対して提供し、当該インタフェースの呼び出し(機能の利用要求)に応じて、当該機能を実現するための制御を行う。例えば、ネイティブサービスレイヤ50には、ネットワーク通信の制御に関するインタフェースを提供するモジュール、ファクシミリの制御に関するインタフェースを提供するモジュール、蓄積文書(HDD233に保存されている文書(画像)データ)の配信処理の制御に関するインタフェースを提供するモジュール、撮像部204や印刷部205の制御に関するインタフェースを提供するモジュール、メモリやHDD233等の制御に関するインタフェースを提供するモジュール、オペレーションパネル202の制御に関するインタフェースを提供するモジュール、認証処理や課金処理の制御に関するインタフェースを提供するモジュール、ユーザ情報の管理に関するインタフェースを提供するモジュール等が含まれる。
The
JNI40は、Java(登録商標)によって記述されたプログラムから、ネイティブサービスレイヤ50が提供する機能の利用を可能とするAPI(Application Program Interface)を備える、いわゆるJNI(Java(登録商標) Native Interface)である。
The JNI 40 is a so-called JNI (Java (registered trademark) Native Interface) provided with an API (Application Program Interface) that enables the use of the function provided by the
JSDKプラットフォーム30は、JSDKアプリ20の実行環境を提供するソフトウェアプラットフォームである。JSDKプラットフォーム30は、Java(登録商標)の標準のクラスや、複合機10用に拡張されたクラスに関するクラスライブラリ、及びJava(登録商標)仮想マシン等を含む。
The JSDK
JSDKアプリ20は、JSDKプラットフォーム30において公開されている専用のSDK(ソフトウェア開発キット)を使用して作成されたアプリケーション(以下「SDKアプリ」という。)である。SDKアプリのうち、特にJava(登録商標)言語を使用して開発されたアプリケーションをJSDKアプリという。図中では、JSDKアプリ20として、アプリA、アプリB、及びアプリC等が例示されている。
The JSDK
ログ記録制御部60は、複合機10の動作に関するログ情報(特に、デバッグ用のログ情報)の記録を適切なタイミングで実行する。ログ記録制御部60は、イベント取得部61、エラー検知部62、イベント比較部63、ログ出力部64、発生イベント格納部65、比較用イベント格納部66、及びログ格納部67等を含む。
The log
イベント取得部61は、機器10において発生するイベントを示すデータ(以下、「イベントデータ」をJNI40より受信し、当該イベントデータを発生イベント格納部65に蓄積する。発生イベント格納部65は、イベントデータの履歴を蓄積(管理)するための記憶領域(例えば、ファイル)であり、例えば、HDD233に形成される。本実施の形態において、発生イベント格納部65は、リングバッファの構造によって履歴を蓄積する。したがって、発生イベント格納部65には最近(最新)のイベントから所定数分遡ったイベントまでのイベントデータが蓄積される。なお、イベントとは、オペレーションパネル202を介して行われる入力や、複合機10のハードウェア又はソフトウェアの動作に応じて発生する各種の事象又は事象の通知をいう。
The event acquisition unit 61 receives data indicating an event that occurs in the device 10 (hereinafter, “event data”) from the
エラー検知部62は、イベントに応じてJSDKプラットフォーム30によって実行される処理において障害又は不具合等に基づいて発生したエラー(異常)を検知する。エラー検知部62は、エラーの検知に応じ、発生イベント格納部65に蓄積されているイベントデータの履歴を比較用イベント格納部66に転記(コピー)する。比較用イベント格納部66は、エラー発生時の発生イベント格納部65の内容(すなわち、エラー発生時における過去のイベントの履歴)を保持しておくための記録領域(例えば、ファイル)であり、例えば、HDD233に形成される。比較用イベント格納部66に転記されたイベントデータを、以下「比較用イベントデータ」という。
The
イベント比較部63は、比較用イベント格納部66に格納されている比較用イベントデータの履歴と、エラー発生後に発生したイベントのイベントデータの履歴とを比較する。イベント比較部63は、当該比較に基づいてログ情報の記録の要否を判定する。より詳しくは、比較用イベントデータの履歴における連続した一部分と、エラー発生後に発生したイベントのイベントデータの履歴における連続した一部分とが一致した場合、ログ情報の記録が必要であると判定する。
The
ログ出力部34は、JSDKアプリ20又はJSDKプラットフォーム30による処理のログ情報をログ格納部67に出力(記録)する。ログ格納部67は、ログ情報を格納するための記録領域(例えば、ファイル)であり、例えば、HDD233に形成される。但し、ログ情報は、ネットワークを介して接続されるコンピュータ(記憶装置)に記録されてもよい。なお、本実施の形態において、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報は、通常は記録されない。イベント比較部63によってログ情報の記録が必要であると判定された後にログ情報の記録は開始される。
The log output unit 34 outputs (records) log information of processing by the
以下、複合機10の処理手順について説明する。図3は、複合機によるログ記録処理の処理手順を説明するためのフローチャートである。同図では、一つのイベントの発生に応じて実行される処理手順を示す。したがって、イベントが発生するたびに同図の処理手順が繰り返し実行される。
Hereinafter, a processing procedure of the
ユーザによるオペレーションパネル202に対する入力等、何らかのイベントの発生が検知されると、複合機10は、イベントに応じた処理(例えば、画面の遷移、ジョブの実行等)を実行する(S101)。続いて、複合機10は、発生したイベントのイベントデータに基づいて、当該イベントがフィルタ情報に指定されたイベントであるか否かを判定する(S102)。
When occurrence of any event such as an input to the
図4は、イベントデータの構成例を示す図である。同図において、イベントデータは、イベントコード及び種別等の項目(又は属性)を有する。イベントコードは、イベントの内容を識別するための識別情報(番号又は記号等)である。例えば、オペレーションパネル602に対する同一のキー入力に対応するイベントデータは、同一のイベントコードを有する。種別は、発生要因又は発生箇所等に応じてイベントを分類した場合に、イベントがいずれの分類に属するかを示す情報である。例えば、イベントは、オペレーションパネル602の入力に応じたイベント、スキャン機能に関するイベント、印刷機能に関するイベント、電源関連のイベント等の種別に分類される。なお、イベントコードにイベントの種別を示す記号が含まれてもよい。 FIG. 4 is a diagram illustrating a configuration example of event data. In the figure, the event data has items (or attributes) such as an event code and a type. The event code is identification information (number or symbol, etc.) for identifying the contents of the event. For example, event data corresponding to the same key input to the operation panel 602 has the same event code. The type is information indicating to which class the event belongs when the event is classified according to the generation factor or the occurrence location. For example, the events are classified into types such as an event corresponding to an input on the operation panel 602, an event related to a scan function, an event related to a printing function, an event related to a power supply, and the like. The event code may include a symbol indicating the type of event.
また、フィルタ情報とは、いずれの種別に属するイベントを監視対象とするかを示す情報(監視対象とするイベントをフィルタリングするための情報)である。フィルタ情報は、予め管理者等によって設定され、HDD233等に記録されている。したがって、ステップS102では、発生したイベントの種別と、フィルタ情報として設定されているイベントの種別とが比較される。複数の種別がフィルタ情報に設定されてもよい。なお、ファイル等、記録媒体又はネットワークを介して流通可能な形式によってフィルタ情報を管理するとよい。そうすることにより、客先にフィルタ情報を容易に適用することができる。
The filter information is information (information for filtering an event to be monitored) indicating which type of event is to be monitored. The filter information is set in advance by an administrator or the like and recorded in the
発生したイベントの種別が、フィルタ情報に設定されている種別に含まれる場合(S102でYes)、複合機10は、発生イベント格納部65にイベントデータを記録する(S103)。
When the type of the event that has occurred is included in the type set in the filter information (Yes in S102), the
図5は、発生イベント格納部の構成例を示す図である。同図において、発生イベント格納部65は、イベントデータを発生順に蓄積可能な(すなわち、イベントデータの履歴を記録可能な)構成を有している。本実施の形態において、発生イベント格納部65は、リングバッファとして利用される。すなわち、最終エントリ(最終行)にイベントデータが記録された次は、先頭のエントリにイベントデータが記録される。したがって、現時点から所定数分過去に遡ってイベントデータが蓄積される。発生イベント格納部65をリングバッファとするのは、複合機10の記憶領域の消費量の増加を抑止するためである。但し、必ずしもリングバッファでなくてもよい。例えば、リスト構造によって発生イベント格納部65を構成してもよい。
FIG. 5 is a diagram illustrating a configuration example of the generated event storage unit. In the figure, the occurrence
続いて、複合機10は、比較用イベント格納部66に比較用イベントデータが登録されているか否かを判定する(S104)。比較用イベント格納部66に比較用イベントデータが登録されていない場合(S104でNo)、複合機10は、今回のイベントに応じた処理においてエラー(例外も含む。)が発生したか否かを判定する(S105)。エラーが発生した場合(S105でYes)は、発生イベント格納部65に記録されているイベントデータを、その発生順に比較用イベント格納部66にコピーし、比較用イベント格納部66のポインタ(以下、「比較ポインタ」という。)を先頭にセットする(S106)。また、複合機10は、イベント比較部63による比較回数を0に初期化する。なお、エラーが発生していない場合(S105でNo)、コピーは行われない。
Subsequently, the
一方、比較用イベント格納部66にイベントデータが登録されている場合(すなわち、少なくとも一度エラーが発生した場合)(S104でYes)、複合機10は、比較ポインタが、比較用イベント格納部66の末尾(最終エントリの後)を指しているか否かを判定する(S111)。比較ポインタが末尾でない場合(S111でNo)、複合機10は、今回のイベントのイベントコードと比較用イベント格納部66において比較ポインタが指している比較用イベントデータのイベントコードとを比較する(S112)。両者が一致する場合(S113でYes)、複合機10は、比較ポインタと比較回数とをインクリメントする(S114)。続いて、複合機10は、比較回数が予め設定された閾値以上であるか否か(すなわち、閾値以上の一致が発生したか否か)を判定する(S115)。すなわち、過去にエラーが発生したイベントのシーケンスの先頭部分と同一シーケンスが再現されているか否かが判定される。
On the other hand, when event data is registered in the comparison event storage unit 66 (that is, when an error has occurred at least once) (Yes in S104), the
例えば、連続した比較用イベントデータのイベントコードが、それぞれa、b、c、a、d、eである場合(ここでは、便宜上、アルファベット一文字によってイベントコードを表現している。)であって、閾値が「3」である場合、既に、先頭のa、bの一致が確認された後、今回のイベントのイベントコードが「c」であれば、閾値以上の一致が発生したと判定される。 For example, when the event codes of continuous comparison event data are a, b, c, a, d, and e (here, for convenience, the event code is expressed by a single letter), When the threshold is “3”, if the match of the leading a and b is already confirmed and the event code of the current event is “c”, it is determined that a match equal to or greater than the threshold has occurred.
比較回数が閾値以上の場合(S115でYes)、複合機10は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力を有効化する(S116)。ログ情報の出力が有効化されることにより、JSDKアプリ20及びJSDKプラットフォーム30のソースコードに埋め込まれたログ出力命令が有効化される。その結果、次回以降に発生するイベントに応じてステップS101において実行される処理に関するログ情報がログ格納部67に記録される。
If the number of comparisons is equal to or greater than the threshold (Yes in S115), the
すなわち、ステップS116が実行される前は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力は無効化されている。したがって、当該ログ情報の出力は行われない。ログ情報の出力の有効化及び無効化の切り替えは、フラグ変数等を用いて行えばよい。
That is, before step S116 is executed, the output of log information by the
なお、比較回数が閾値未満の場合(S115でNo)、複合機10は、ログ情報の出力の有効化は行わない。
If the number of comparisons is less than the threshold (No in S115), the
一方、ステップS111において、比較ポインタが比較用イベント格納部66の末尾(最終エントリの後)を指している場合(S111でYes)、複合機10は、今回のイベントに応じた処理においてエラーが発生したか否かを判定する(S121)。エラーが発生した場合(S121でYes)、ログ格納部67に記録されているログ情報を削除せずに保存しておく(S122)。エラーが発生していない場合(S121でNo)、複合機10は、ログ格納部67に記録されているログ情報を削除する(S123)。
On the other hand, in step S111, if the comparison pointer points to the end of the comparison event storage unit 66 (after the last entry) (Yes in S111), the
ステップS122、S123、又はステップS113でNoの場合(今回のイベントのイベントコードと比較用イベント格納部66において比較ポインタが指している比較用イベントデータのイベントコードとが一致しない場合)に続いて、複合機10は、比較ポインタ及び比較回数を初期化する(すなわち、ポインタ先を比較用イベント格納部66の先頭位置に設定し、比較回数を0とする。)(S124)。続いて、複合機10は、JSDKアプリ20及びJSDKプラットフォーム30によるログ情報の出力を無効化する(S125)。
In the case of No in step S122, S123, or step S113 (when the event code of the current event does not match the event code of the comparison event data pointed to by the comparison pointer in the comparison event storage unit 66), The
続いて、図2に示される構成要素がどのように連携することで図3の処理手順が実現されるかについて説明する。図6は、ログ記録処理における構成要素間の連携を説明するための図である。 Next, how the components shown in FIG. 2 cooperate to realize the processing procedure of FIG. 3 will be described. FIG. 6 is a diagram for explaining cooperation between components in the log recording process.
複合機10において発生したイベントは、比図示のOS(Operating System)からJNI40に通知される(S201)。JNI40は、通知されたイベントのイベントデータをJSDKプラットフォーム30に送信する(S202)。イベントデータを受信したJSDKプラットフォーム30は、イベントに応じた処理を実行する。また、JSDKプラットフォーム30は、必要に応じて、イベントデータを操作対象とされているJSDKアプリ20に通知する(S203)。イベントデータを通知されたJSDKアプリ20は、イベントに応じた処理を実行する。
An event occurring in the
JNI40は、また、イベントデータをイベント取得部61及びイベント比較部63に送信する(S204、S205)。イベント取得部61は、受信されたイベントデータを発生イベント格納部65に記録する(S206)。イベント比較部63は、受信されたイベントデータを無視する。
The
正常動作時は、以上の処理が繰り返される。その結果、発生イベント格納部65には、最近の所定数のイベントデータが蓄積される。
During normal operation, the above process is repeated. As a result, the occurrence
イベントに応じて実行されるJSDKアプリ20又はJSDKプラットフォーム30の処理において、プログラムのバグ又は複合機10の故障等による不具合(ネイティブサービスレイヤ50からのエラーの通知、又はJSDKアプリ20若しくはJSDKプラットフォーム30における例外の発生)が検知されると、JSDKプラットフォーム30は、エラー検知部62に対しエラーの発生を通知する(S211)。エラー検知部62は、エラーの発生通知に応じ、発生イベント格納部65に蓄積されているイベントデータ群を比較用イベント格納部66にコピーする(S212)。更に、エラー検知部62は、比較用イベントデータが比較用イベント格納部66に登録されたことをイベント比較部63に通知する(S213)。
In the processing of the
エラー検知部62からの通知に応じ、イベント比較部63は、ステップS205のタイミングで繰り返し受信されるイベントデータと比較用イベント格納部66との比較を開始する(S214)比較用イベント格納部66において比較対象とされる比較用イベントデータは、比較ポインタによって識別される。比較ポインタは、エラー検知部62からの通知に応じ、イベント比較部63によって比較用イベント格納部66の最初のエントリにセットされる。その後、比較が終了するたびにインクリメントされる。イベント比較部63は、比較対象の一致が連続した場合は、比較回数をインクリメントする。比較回数が閾値以上となった場合(すなわち、連続して閾値回数以上比較対象が一致した場合)、イベント比較部63は、JSDKプラットフォーム30に対して、ログ情報の出力開始要求を行う(S221)。
In response to the notification from the
例えば、閾値が3であり、連続した比較用イベントデータのイベントコードが、それぞれa、b、c、a、d、eである場合、イベント比較部63は、受信されるイベント(S205)が、a、b、cと連続したことが確認されたときにログ情報の出力開始要求を行う。ログ情報の出力開始要求は、JSDKプラットフォーム30によってJSDKアプリ20にも通知される(S222)。
For example, when the threshold value is 3 and the event codes of continuous comparison event data are a, b, c, a, d, and e, the
ログ情報の出力開始要求に応じ、JSDKプラットフォーム30及びJSDKアプリ20は、ログ情報の出力(ログの出力命令)を有効化する。したがって、その後に通知されるイベント(S202、S203)に応じて実行される処理に関しては、JSDKプラットフォーム30又はJSDKアプリ20は、ログの出力命令に基づいてログ情報をログ出力部64に通知する(S231、S232)。ログ出力部64は、通知されたログ情報を所定の形式に基づいてログ格納部67に記録する。
In response to the log information output start request, the
その結果、イベントの発生に応じて処理が実行されるたびにJSDKアプリ20又はJSDKプラットフォーム30によるログ情報がログ格納部67に蓄積される。また、イベント比較部63によるイベントデータの比較も継続される。
As a result, log information from the
その後、比較用イベント格納部66の最終エントリ(最後の比較用イベントデータ)が比較対象となり、最後の比較用イベントデータによる比較が行われると、イベント比較部63は、ログ情報の出力停止要求をJSDKプラットフォーム30に通知する(S241)。JSDKプラットフォーム30は、ログ情報の出力停止要求をJSDKアプリ20に通知する(S242)。
Thereafter, when the last entry (the last comparison event data) in the comparison event storage unit 66 is a comparison target, and the comparison is performed using the last comparison event data, the
ログ情報の出力停止要求に応じ、JSDKプラットフォーム30及びJSDKアプリ20は、ログ情報の出力を無効化する。したがって、その後に通知されるイベント(S202、S203)に応じて実行される処理に関しては、ログ情報の出力は行われない。
In response to the log information output stop request, the
続いて、JSDKプラットフォーム30は、ログ出力部64に対し、ログ情報の出力停止を通知する(S243)。ログ出力部64は、最後のログ情報がエラーを示すものである場合、ログ格納部67に記録されているログ情報を所定の記憶領域に保存(退避)しておく。
Subsequently, the
その後は退避されたログ情報に基づいて不具合(障害)の原因の解析が行われる。 Thereafter, the cause of the failure (failure) is analyzed based on the saved log information.
上述したように、本実施の形態における複合機10は、過去に障害が発生した際のイベントの履歴(イベントシーケンス)の連続した一部分と一致するイベントシーケンスの発生が検知された場合(すなわち、過去に障害が発生した際のイベントシーケンスが再現される可能性が高い場合)に、ログ情報の記録を開始する。
As described above, the
一般的に、複合機10等の組み込み系機器では、イベントドリブン型の制御が行われる。イベントドリブン型の制御とは、機器から上がってくるイベントをトリガとして何らかの処理を行い、処理が終了したらイベント待機状態に戻るというものである。したがって、何らかの障害が発生した場合、それまでのイベントシーケンスと障害との間に関係がある可能性が高い。すなわち、キー操作により発生するイベントシーケンスは、一連のキー操作の手順を表すことになり、特定のキー操作で発生する不具合であれば、イベントシーケンスとの関連を持つといえる。
In general, in an embedded system device such as the
しがって、複合機10によれば、障害が発生する前であって、かつ、障害が発生する可能性が相対的に高いと予測されるときにログ情報の記録を開始することができる。よって、常にログ情報を記録する場合に比べて、ログ情報を記録するための記憶容量を著しく低下することができると共に、障害の解析作業にとって有用なログ情報を記録することができる。
Therefore, according to the
なお、比較用イベント格納部66は、障害が発生するたびに生成されてもよい。この場合、同時期に複数の比較用イベント格納部66が存在しうる。複数の比較用イベント格納部66が存在する場合、イベント比較部63は、イベントが発生するたびに複数の比較用イベント格納部66との比較を行う。その結果、少なくとも一つの比較用イベント格納部66におけるイベントシーケンスの一部(閾値分の一部)との一致が確認された場合、ログ情報の出力を開始させる。
The comparison event storage unit 66 may be generated every time a failure occurs. In this case, a plurality of comparison event storage units 66 may exist at the same time. When there are a plurality of comparison event storage units 66, the
また、フィルタ情報において複数の種別(イベントの種別)が設定されている場合(実質的に複数のフィルタが存在する場合)は、種別ごとに発生イベント格納部65及び比較用イベント格納部66を用意し、種別ごとに独立してイベントシーケンスの比較を行ってもよい。
Also, when a plurality of types (event types) are set in the filter information (when there are substantially a plurality of filters), an occurrence
また、JSDKアプリ20、JSDKプラットフォーム30、又はログ出力部64は、ログ情報の出力を有効とする範囲、ログ情報の出力レベル等をフィルタ情報に基づいて動的に決定するようにしてもよい。例えば、スキャン機能に関するイベント及び印刷機能に関するイベントが監視対象とされ、それぞれの種別がフィルタ情報として設定されているとする。この状態でスキャン機能に関するイベントによって不具合が発生した場合、スキャン機能に関するログ情報の出力のみを有効化する。
Further, the
同様に、不具合の内容(例えば、エラーの内容)に応じて、ログ情報を出力する範囲(例えば、クラス等)を動的に決定してもよい。 Similarly, a range (for example, a class or the like) for outputting log information may be dynamically determined according to the content of the defect (for example, the content of an error).
また、同一不具合(例えば、エラーコード又は例外コードが同一であるもの)が複数回発生した場合に、それぞれ独立した複数の比較用イベント格納部66に比較用イベントデータを登録し、比較用イベント格納部66間において重複している比較用イベントデータを抽出し、抽出された比較用イベントデータの種別に基づいてフィルタ情報を自動的に更新するようにしてもよい。 Further, when the same defect (for example, the same error code or exception code) occurs a plurality of times, the comparison event data is registered in the plurality of independent comparison event storage units 66, and the comparison event is stored. It is also possible to extract comparison event data that overlaps between the units 66 and automatically update the filter information based on the type of the extracted comparison event data.
更に、本実施の形態では、比較ポインタは一つであり、その初期位置は比較用イベント格納部66の最初のエントリ(比較用イベントデータ)である例を示したが、一つの比較用イベント格納部66に対して複数の比較ポインタを設定するようにしてもよい。例えば、比較用イベントデータのイベントシーケンス(以下、「比較用イベントシーケンス」という。)が、a、b、c、a、d、e(アルファベット一文字は、イベントコードを示す。)であり、新たに発生したイベントのイベントコードが「a」である場合、比較用イベントシーケンスの最初の「a」と4番目の「a」とのそれぞれに対して比較ポインタをセットする。以降は、各比較ポインタを一つずつずらしつつ、それぞれの比較ポインタが指す比較用イベントデータのイベントコードと、新たに発生したイベントのイベントコードとを比較する。いずれかについて閾値以上の一致を検出したら、ログ情報の出力を開始する。 Furthermore, in the present embodiment, an example is shown in which there is one comparison pointer and the initial position is the first entry (comparison event data) of the comparison event storage unit 66, but one comparison event storage is shown. A plurality of comparison pointers may be set for the unit 66. For example, the event sequence of comparison event data (hereinafter referred to as “comparison event sequence”) is a, b, c, a, d, e (one letter of the alphabet indicates an event code), and is newly added. When the event code of the generated event is “a”, a comparison pointer is set for each of the first “a” and the fourth “a” in the comparison event sequence. Thereafter, while comparing each comparison pointer by one, the event code of the comparison event data pointed to by each comparison pointer is compared with the event code of the newly generated event. When a match equal to or greater than the threshold is detected for any of the log information, the output of log information is started.
そうすることにより、例えば、上記比較用イベントシーケンスにおいて、a、d、eが不具合の原因となるイベントシーケンスである場合において、a、dのイベントに対応する操作が行われた場合であっても(この場合の閾値は「2」とする。)、ログ情報の出力を開始することができる。 By doing so, for example, in the event sequence for comparison described above, even if a, d, and e are event sequences that cause a failure, even if an operation corresponding to the event of a and d is performed. (The threshold value in this case is “2”), and output of log information can be started.
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
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 セントロニクスデバイス
10
50
212 ASIC
221 NB
222 SB
231 MEM-P
232 MEM-C
233 HDD
234
242
Claims (12)
前記イベントに応じた処理における異常の発生に応じ、前記異常の発生までに前記履歴管理手段に記録された履歴と前記異常の発生後に発生したイベントの履歴との比較を開始する比較手段と、
前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手段とを有する機器。 Event recording means for recording the history of events occurring in the device in the history management means;
Comparing means for starting the comparison of the response to the occurrence of an abnormality in the processing corresponding to the event, event history that occurred after the occurrence of the recorded history the abnormality in the history management means by the abnormality occurrence,
In the comparison, when a continuous part of the history recorded in the history management means before the occurrence of the abnormality matches a continuous part of the history of events that have occurred after the occurrence of the abnormality , a response is made according to the event. And log recording means for recording log information related to the processing in the log information management means.
前記比較手段は、前記比較用データが示す履歴と前記異常の発生後に発生したイベントの履歴とを比較する請求項1又は2記載の機器。 In accordance with the occurrence of an abnormality in the process according to the event, it has comparison data generation means for generating comparison data indicating a history recorded in the history management means until the occurrence of the abnormality,
It said comparing means according to claim 1 or 2 apparatus according compares the history of the events that occur after the occurrence of abnormality and history of the data for comparison are shown.
当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手順と、
前記イベントに応じた処理における異常の発生に応じ、前記異常の発生までに前記履歴管理手段に記録された履歴と前記異常の発生後に発生したイベントの履歴との比較を開始する比較手順と、
前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手順とを有するログ記録制御方法。 A log recording control method executed by a device,
An event recording procedure for recording a history of events occurring in the device in the history management means;
A comparison procedure for starting the comparison of the response to the occurrence of an abnormality in the processing corresponding to the event, event history that occurred after the occurrence of the recorded history the abnormality in the history management means by the abnormality occurrence,
In the comparison, when a continuous part of the history recorded in the history management means before the occurrence of the abnormality matches a continuous part of the history of events that have occurred after the occurrence of the abnormality , a response is made according to the event. Log recording control method comprising: a log recording procedure for recording log information relating to the processed processing in log information management means.
前記比較手順は、前記比較用データが示す履歴と前記異常の発生後に発生したイベントの履歴とを比較する請求項5又は6記載のログ記録制御方法。 In accordance with the occurrence of an abnormality in the process according to the event, a comparison data generation procedure for generating comparison data indicating a history recorded in the history management means until the occurrence of the abnormality,
The comparison procedure, the log record control method according to claim 5 or 6, wherein comparing the history of events that occur after the occurrence of abnormality and history the comparative data indicates.
当該機器において発生するイベントの履歴を履歴管理手段に記録するイベント記録手順と、
前記イベントに応じた処理における異常の発生に応じ、前記異常の発生までに前記履歴管理手段に記録された履歴と前記異常の発生後に発生したイベントの履歴との比較を開始する比較手順と、
前記比較において、前記異常の発生までに前記履歴管理手段に記録された履歴の連続した一部分と、前記異常の発生後に発生したイベントの履歴の連続した一部分とが一致したときに、前記イベントに応じた処理に関するログ情報をログ情報管理手段に記録するログ記録手順とを実行させるためのプログラム。 On the equipment,
An event recording procedure for recording a history of events occurring in the device in the history management means;
A comparison procedure for starting the comparison of the response to the occurrence of an abnormality in the processing corresponding to the event, event history that occurred after the occurrence of the recorded history the abnormality in the history management means by the abnormality occurrence,
In the comparison, when a continuous part of the history recorded in the history management means before the occurrence of the abnormality matches a continuous part of the history of events that have occurred after the occurrence of the abnormality , a response is made according to the event. For executing a log recording procedure for recording log information relating to the processing to the log information management means.
前記比較手順は、前記比較用データが示す履歴と前記異常の発生後に発生したイベントの履歴とを比較する請求項9又は10記載のプログラム。 In accordance with the occurrence of an abnormality in the process according to the event, a comparison data generation procedure for generating comparison data indicating a history recorded in the history management means until the occurrence of the abnormality,
The comparison procedure, claim 9 or 10, wherein the program compares a history of events that occur after the occurrence of abnormality and history of the data for comparison are shown.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008310090A JP5381059B2 (en) | 2008-12-04 | 2008-12-04 | Device, log recording control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008310090A JP5381059B2 (en) | 2008-12-04 | 2008-12-04 | Device, log recording control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010134705A JP2010134705A (en) | 2010-06-17 |
JP5381059B2 true JP5381059B2 (en) | 2014-01-08 |
Family
ID=42345941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008310090A Expired - Fee Related JP5381059B2 (en) | 2008-12-04 | 2008-12-04 | Device, log recording control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5381059B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5699514B2 (en) * | 2010-10-05 | 2015-04-15 | セイコーエプソン株式会社 | Electronic device, printer, status management method and program for electronic device |
JP5788358B2 (en) * | 2012-04-20 | 2015-09-30 | 日立アプライアンス株式会社 | Electronic device and abnormality detection method for electronic device |
JP6330277B2 (en) | 2013-09-10 | 2018-05-30 | 日本電気株式会社 | TRANSMISSION DEVICE, TRANSMISSION METHOD, TRANSMISSION PROGRAM, AND RELAY SYSTEM |
JP5901602B2 (en) * | 2013-11-13 | 2016-04-13 | 株式会社日立システムズ | Information processing apparatus, information processing program, and information processing method |
JP2016162264A (en) * | 2015-03-03 | 2016-09-05 | 日立オートモティブシステムズ株式会社 | Vehicle electronic control device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10105440A (en) * | 1996-09-25 | 1998-04-24 | Hitachi Ltd | System fault monitoring device and recording medium |
JP4618263B2 (en) * | 2007-03-23 | 2011-01-26 | 株式会社豊田中央研究所 | Software behavior monitoring apparatus and software behavior monitoring system |
-
2008
- 2008-12-04 JP JP2008310090A patent/JP5381059B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010134705A (en) | 2010-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8665466B2 (en) | Image forming apparatus, program updating method and computer-readable storage medium | |
US20100309519A1 (en) | Printer driver program product and information processing apparatus | |
CN105988857B (en) | Printer control system and method and non-transitory computer-readable medium | |
US10459775B2 (en) | Information processing apparatus, method, and medium | |
JP5381059B2 (en) | Device, log recording control method, and program | |
JP2010191687A (en) | Shortcut management unit and method, and program | |
JP2010140111A (en) | Equipment management device, equipment management system, log management method, log management program and recording medium with the program recorded thereon | |
US8582161B2 (en) | Image forming apparatus, and computer program product for image forming provided with managing log of a time designated print job | |
JP2017224051A (en) | Information processing apparatus, information processing method, and program | |
US9118790B2 (en) | Information processing apparatus, system, method, and storage medium | |
CN102004653A (en) | Image forming apparatus and installation method | |
US10545704B2 (en) | Image forming apparatus and control method to update an application in an image forming apparatus | |
JP6740583B2 (en) | Information processing system, information processing apparatus, and information processing method | |
US9423992B2 (en) | Management system and control method | |
JP5562472B2 (en) | Electronic device, shortcut management method and program | |
US11397572B2 (en) | Image forming apparatus capable of executing extension application, method of controlling same, and storage medium | |
US9870249B2 (en) | Virtual computer system, method, and non-transitory computer readable medium | |
US10594877B2 (en) | Image processing apparatus, control method thereof, and storage medium | |
JP5208793B2 (en) | File management system and file management program | |
JP7102969B2 (en) | Image forming system, image forming apparatus, and image forming method | |
JP2016066214A (en) | Log recording device, control method, and program | |
JP2009098865A (en) | Job history management system | |
US10379799B2 (en) | Image forming apparatus, control method, and storage medium | |
JP2018063587A (en) | Information processing apparatus, control method for information processing apparatus, and program | |
JP2013178635A (en) | Server, and method, and program therefor |
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 |