IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社リコーの特許一覧

特許7110942情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム
<>
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図1
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図2
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図3
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図4
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図5
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図6
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図7
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図8
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図9
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図10
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図11
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図12
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図13
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図14
  • 特許-情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-25
(45)【発行日】2022-08-02
(54)【発明の名称】情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム
(51)【国際特許分類】
   G06F 11/07 20060101AFI20220726BHJP
   G06F 11/34 20060101ALI20220726BHJP
【FI】
G06F11/07 178
G06F11/07 140P
G06F11/34 176
【請求項の数】 6
(21)【出願番号】P 2018220884
(22)【出願日】2018-11-27
(65)【公開番号】P2020086981
(43)【公開日】2020-06-04
【審査請求日】2021-08-19
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】加藤 寛之
【審査官】多賀 実
(56)【参考文献】
【文献】特開2014-006772(JP,A)
【文献】特開2016-095652(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07
G06F 11/30-11/34
(57)【特許請求の範囲】
【請求項1】
アプリケーションが出力したログを保持する第1記憶装置と、
前記ログが所定量以上蓄積したときに前記第1記憶装置から出力される蓄積ログを格納する第2記憶装置と、
前記第1記憶装置及び前記第2記憶装置とは異なる他の記憶装置に前記蓄積ログを書き出すログ管理部と、
を備え、
前記ログ管理部は、
前記蓄積ログを前記他の記憶装置へ書き出す処理中にエラーが発生した場合、前記第1記憶装置に記憶されているログをエラー解析用の解析ログとして前記他の記憶装置へ書き出す、
情報処理装置。
【請求項2】
前記ログ管理部は、
前記エラーが発生した場合、前記エラーの種類を特定し、前記種類に応じてエラー解析に必要なログの種類を特定し、前記特定した種類のログを前記第1記憶装置から前記他の記憶装置へ書き出す、
請求項1に記載の情報処理装置。
【請求項3】
前記ログ管理部は、
前記解析ログを書き出すときに、前記他の記憶装置に既に同種の解析ログがある場合、書き込み済みの解析ログと現在の前記第1記憶装置に保持されるログとの差分を、前記他の記憶装置に書き出す、
請求項1または2に記載の情報処理装置。
【請求項4】
前記他の記憶装置は、当該情報処理装置に接続可能な外部記憶装置である、
請求項1~3のいずれか1項に記載の情報処理装置。
【請求項5】
第1記憶装置と第2記憶装置を備える情報処理装置が実行するエラー解析支援方法であって、
アプリケーションが出力したログを前記第1記憶装置に保持する保持ステップと、
前記ログが所定量以上蓄積したときに前記第1記憶装置から出力される蓄積ログを前記第2記憶装置に格納する格納ステップと、
前記第1記憶装置及び前記第2記憶装置とは異なる他の記憶装置に前記蓄積ログを書き出す蓄積ログ書き出しステップと、
前記蓄積ログ書き出しステップの処理中にエラーが発生した場合、前記第1記憶装置に記憶されているログをエラー解析用の解析ログとして前記他の記憶装置へ書き出す解析ログ書き出しステップと、
を含む、
エラー解析支援方法。
【請求項6】
第1記憶装置と第2記憶装置を備える情報処理装置のためのエラー解析支援プログラムであって、
コンピュータに、
アプリケーションが出力したログを前記第1記憶装置に保持する保持機能と、
前記ログが所定量以上蓄積したときに前記第1記憶装置から出力される蓄積ログを前記第2記憶装置に格納する格納機能と、
前記第1記憶装置及び前記第2記憶装置とは異なる他の記憶装置に前記蓄積ログを書き出す蓄積ログ書き出し機能と、
前記蓄積ログ書き出し機能の処理中にエラーが発生した場合、前記第1記憶装置に記憶されているログをエラー解析用の解析ログとして前記他の記憶装置へ書き出す解析ログ書き出し機能と、
を実現させるためのエラー解析支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラムに関する。
【背景技術】
【0002】
従来、画像形成装置等の情報処理装置では、障害解析に必要な情報を取得するため、装置内にある障害解析用のログや装置の情報(蓄積ログ)をバックアップ用の他の記憶装置へ書き出しておく手法がある。
【0003】
特許文献1には、上記手法を実施可能な画像処理装置において、記憶装置にバックアップされている画像処理装置のログ情報に関し、画像処理装置における当該ログ情報の消失を検知すると、ログ情報の消失が起こった後に画像処理装置において生成されたログ情報を画像処理装置から取得して記録領域に記録し、これにより、ログ履歴の消失後に画像処理装置が実行したジョブのログ履歴の消失を防止する構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、上記の蓄積ログをバックアップ用の他の記憶装置へ書き出す処理の最中にこの処理に起因するエラーが発生する場合がある。このとき、エラーの原因を調べるために、エラー発生時の装置内のログを取得できると有効である。しかし、特許文献1に記載の手法では、記憶装置へのログ情報(蓄積ログ)のバックアップ中にエラーが発生した場合に、エラーの原因を調べるためのログ(解析ログ)が得られず、エラーを解消するための作業効率が低下するという課題が残る。
【0005】
本発明は、蓄積ログのバックアップ中に発生したエラーの原因を調べるための解析ログを取得可能とすることを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するために、本発明の一観点に係る情報処理装置は、アプリケーションが出力したログを保持する第1記憶装置と、前記ログが所定量以上蓄積したときに前記第1記憶装置から出力される蓄積ログを格納する第2記憶装置と、前記第1記憶装置及び前記第2記憶装置とは異なる他の記憶装置に前記蓄積ログを書き出すログ管理部と、を備え、前記ログ管理部は、前記蓄積ログを前記他の記憶装置へ書き出す処理中にエラーが発生した場合、前記第1記憶装置に記憶されているログをエラー解析用の解析ログとして前記他の記憶装置へ書き出す。
【発明の効果】
【0007】
ログの取得中にエラーが発生した場合にその原因を調べるためのログを取得することができる。
【図面の簡単な説明】
【0008】
図1】実施形態に係る画像形成装置のハードウェア構成図
図2】画像形成装置のソフトウェアとハードウェアとの関連を示す図
図3】画像形成装置におけるログ蓄積の手順を説明する図
図4】共有メモリの内部構造について説明する図
図5】画像形成装置におけるログ蓄積のシーケンス図
図6】画像形成装置における蓄積ログのバックアップの手順を説明する図
図7】画像形成装置におけるログバックアップのシーケンス図
図8】ログバックアップ処理中にエラー発生したときのシーケンス図
図9】ログバックアップ処理中に画像形成装置アプリログのフォルダの作成に失敗した場合のシーケンス図
図10】解析ログの管理テーブルの一例を示す図
図11】解析ログをSDカードにコピーする手順を説明する図
図12】共有メモリのログと解析ログの関係について説明する図
図13】ログ取得エラー発生時の解析ログへの書き込み処理のフローチャート
図14】共有メモリのループ回数が解析ログよりも大きい場合の解析ログへの書き込みロジックのフローチャート
図15】本実施形態に係る画像形成装置の解析ログ取得処理の概略構成を説明する図
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら実施形態について説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の符号を付して、重複する説明は省略する。
【0010】
以下では、本実施形態に係る情報処理装置の一例として画像形成装置1を挙げて説明する。
【0011】
図1は、実施形態に係る画像形成装置1のハードウェア構成図である。SOC(System On Chip)2は、CPU(Central Processing Unit)2aと、周辺機器を制御するための機能を搭載した集積回路である。SOC2には、メモリ3と、HDD(hard disk drive)4と、SDカードソケット5と、操作部6とが接続されている。
【0012】
メモリ3(第1記憶装置)は、電源供給されている間保持するデータを格納する。
【0013】
HDD4(第2記憶装置)は、永続的なデータを格納する。
【0014】
SDカードソケット5は、SDカード7を挿入でき、挿入したSDカード7(他の記憶装置)には永続的なデータが格納される。
【0015】
操作部6は表示部と入力部から構成され、画像形成装置1の利用者が、画像形成装置1に対する操作の入出力を行う装置である。
【0016】
図2は、画像形成装置1のソフトウェアとハードウェアとの関連を示す図である。
【0017】
図2に示すように、ソフトウェアは、OS(Operating System)11と、アプリケーション12と、ライブラリ13から構成される。ハードウェアは、上述のCPU2aやメモリ3、HDD4、SDカード7、操作部6などがある。
【0018】
OS11は、ハードウェアを管理してアプリケーション12やライブラリ13がハードウェアを利用できるように機能を提供する。
【0019】
アプリケーション12は、利用者に画像形成装置1を使用するための機能を提供する。本実施形態では、アプリケーション12の例として、画像形成装置管理アプリ14と、ログを管理するログ管理アプリ15(ログ管理部)が存在する。
【0020】
ライブラリ13は、アプリケーション12を作成する時に組み込まれ、複数のアプリケーション12が共通で使用するような機能をAPI(Application Programming Interface)として提供する。本実施形態では、ライブラリ13の例として、ログ出力ライブラリ16が存在する。
【0021】
画像形成装置1は、ログ管理アプリ15によって、各アプリケーション12のログ情報をメモリ3に保持し、HDD4に書き出して蓄積ログ41をHDD4に格納することができる。図3は、画像形成装置1におけるログ蓄積の手順を説明する図である。
【0022】
図3に示すように、画像形成装置管理アプリ14やログ管理アプリ15等のアプリケーション12や、OS11は、出力したいログを引数として、ログ出力ライブラリ16のAPIを呼び出す(「10.API呼び出し」処理)。
【0023】
ログ出力ライブラリ16は、共有メモリ31上の先頭から空いたエリアに、引数で渡されたログ17を格納する(「11.書き出し」処理)。図3の例では、画像形成装置管理アプリ14、ログ管理アプリ15、OS11は、それぞれ共有メモリ31A、31B、31Cにログ17A、17B、17Cを格納するよう構成されている。以下では、共有メモリ31A、31B、31Cを纏めて共有メモリ31と表記し、ログ17A、17B、17Cを纏めてログ17と表記する場合がある。
【0024】
ログ出力ライブラリ16は、共有メモリ31上のログ17のサイズが共有メモリ31のサイズの半分を超えた場合、ログ管理アプリ15にログ17が蓄積されたことを通知する(「12.通知」処理)。
【0025】
ログ管理アプリ15は、通知を受けると、全ての共有メモリ31A、31B、31Cを確認して、ログ17A、17B、17Cのサイズが共有メモリのサイズの半分を超えた場合、そのログを共有メモリのエリア32からメモリ3上の別エリア33に移動する(「13.書き出し」処理)。
【0026】
なお、別エリア33に移動させるのは、共有メモリ31のサイズが有限のため、ログ17が増加した結果、共有メモリ31のエリア32から溢れてしまうことを防ぐためである。また、共有メモリ31のサイズの半分を超えた時に動作する理由は、別エリア33に共有メモリ31のログ17を移動している間に、ログ出力ライブラリ16が共有メモリ31に書き出せないことがないようにするためである。
【0027】
別エリア33に纏めたログ17のサイズが、別エリア33の半分のサイズを超えたら、その纏めたログ17をHDD4に移動する(「14.書き出し」処理)。HDD4では、このログ17が蓄積ログ41として格納される。
【0028】
図4は、共有メモリ31の内部構造について説明する図である。図4に示すように、共有メモリ31は、管理情報34と、ログ17から構成される。
【0029】
管理情報34は、共有メモリ31を管理するのに使用する情報である。管理情報は、例えば、ループ回数や書き込み位置の情報を含む。ログ17は、共有メモリ31の所定領域に書き込まれる。
【0030】
共有メモリ31のサイズは有限で、ログ17を共有メモリ31に書き込んでいくと、書き込み領域がいっぱいになる。その場合、書き込み領域の先頭から上書きされる。管理情報34の「ループ回数」は、先頭から上書きされた回数と一致する。管理情報34の「書き込み位置」は、現在共有メモリ31に書き込んでいるログ17の位置である。
【0031】
図3に示すログ出力ライブラリ16は、アプリケーション12やOS11から、図3中の「10.API呼び出し」処理で受け取ったログ17を共有メモリ31に格納する際、共有メモリ31の管理情報34を参考にする。例えば、受け取ったログ17は、書き込み位置の次の位置から格納していく。また、ログ17を格納した後、共有メモリ31の管理情報34の格納位置とループ回数の値は、最新の情報に更新される。
【0032】
図5は、画像形成装置1におけるログ蓄積のシーケンス図である。図5では、ログ蓄積処理に対するログ出力ライブラリ16とログ管理アプリ15のやり取りをシーケンスとして示したものである。
【0033】
アプリケーション12は、ログを引数として、ログ出力ライブラリ16のAPIを呼び出す(ステップ1)。
【0034】
ログ出力ライブラリ16は、共有メモリ31上の先頭から向かって空いたエリアにログ17を格納する(ステップ1.1:保持ステップ)。
【0035】
ログ出力ライブラリ16は、共有メモリ31上のログ17のサイズが共有メモリ31のサイズの半分を超えた場合、ログ管理アプリ15にログ17が蓄積されたことを通知する(ステップ2)。
【0036】
ログ管理アプリ15は、通知を受けると、全ての共有メモリ31A,31B,31Cを確認して、ログ17A,17B,17Cのサイズが共有メモリ31A,31B,31Cのサイズの半分を超えた場合、そのログ17をメモリ3上の別エリア33に移動する(ステップ2.1)。
【0037】
ログ管理アプリ15は、別エリア33に纏めたログ17のサイズが、別エリア33の半分のサイズを超えたら、その纏めたログ17をHDD4に移動する(ステップ2.2:格納ステップ)。
【0038】
さらに画像形成装置1は、ログ管理アプリ15によって、HDD4に格納された蓄積ログ41をSDカード7にコピーしてバックアップをとることができる。図6は、画像形成装置1における蓄積ログ41のバックアップの手順を説明する図である。
【0039】
利用者がSDカードソケット5にSDカード7を挿入し、操作部6にてログ取得開始の操作を行うと、ログ管理アプリ15は、図6に示すように、SDカード7に出力先フォルダ(蓄積ログフォルダ71)を作成し、HDD4に蓄積された蓄積ログ41(図6の「ログ1」「ログ2」)をそのフォルダ71にコピーする(「21.コピー」処理)。
【0040】
また、画像形成装置管理アプリ14は、アプリの内部情報を元にログ17A(図6の「ログa1」)を作成して、ログ管理アプリ15が作成したフォルダ(画像形成装置管理アプリログフォルダ72)に格納する(「22.生成」処理)。
【0041】
図7は、画像形成装置1におけるログバックアップのシーケンス図である。
【0042】
利用者が画像形成装置1のSDカードソケット5にSDカード7を挿入し、操作部6にてログ取得開始の操作を行うと(ステップ1)、画像形成装置管理アプリ14は、ログ管理アプリ15に蓄積ログ41の取得を要求する(ステップ1.1)。
【0043】
ログ管理アプリ15は、SDカード7に出力先フォルダ(蓄積ログフォルダ71)を作成し、HDD4に蓄積された蓄積ログ41(図6の「ログ1」「ログ2」)をそのフォルダ71にコピーする(ステップ1.1.1:蓄積ログ書き出しステップ)。
【0044】
ログ管理アプリ15は、SDカード7に画像形成装置管理アプリログのフォルダ72を作成して(ステップ1.1.2)、画像形成装置管理アプリ14にログ17Aの取得を要求する(ステップ1.1.3)。
【0045】
画像形成装置管理アプリ14は、アプリの内部情報を元にログ17A(図6の「ログa1」)を作成して、画像形成装置管理アプリログのフォルダ72に格納する(ステップ1.2)。
【0046】
画像形成装置管理アプリ14は、ログ管理アプリ15にログ取得の完了を通知すると(ステップS1.3)、ログ管理アプリ15は、画像形成装置管理アプリ14にログ取得の完了を通知する(ステップ2)。
【0047】
画像形成装置管理アプリ14は、操作部6にログ取得が完了したことを表示して、利用者にログ取得完了を通知する(ステップ2.1)。
【0048】
利用者はSDカード7を回収して、ログ17を障害の解析に使用する。
【0049】
上記の図6図7は、ログバックアップの正常な手順を説明した。これに対して、本実施形態では、ログバックアップの処理中にエラーが発生したときに、エラー種類に応じた解析ログ74(図11参照)をメモリ3からSDカード7に書き出す機能を有する。解析ログ74とは、画像形成装置1のログ取得時にエラーが発生し、そのエラーの解析に使用するため、SDカード7などの外部記憶装置に格納するログのことをいう。以降ではこの解析ログ書き出し処理(エラー解析支援方法)について説明する。
【0050】
図8は、ログバックアップ処理中にエラー発生したときのシーケンス図である。図8の基本シーケンスは、図7の画像形成装置1におけるログバックアップのシーケンス図と同じであるが、以下の点が異なる。
【0051】
(1)ステップ1.1.1 「SDカードに出力先フォルダを作成し、HDDに蓄積されたログをそのフォルダにコピーする」でエラーが発生した場合、例えば、HDD4から蓄積ログ41が読み取れなかった場合、ステップ1.1.2「解析ログをSDにコピーする」が実行される(解析ログ書き出しステップ)。
【0052】
(2)ステップ1.2 「アプリの内部情報を元にログを作成して、画像形成装置管理アプリログのフォルダに格納する」でエラーが発生した場合、画像形成装置管理アプリ14は、ステップ1.3「ログ取得の完了通知」で、エラーであることをログ管理アプリ15に通知する。ログ管理アプリ15は、エラー通知を受けると、ステップ2「解析ログをSDにコピーする」を実行する(解析ログ書き出しステップ)。
【0053】
(3)ログ管理アプリ15は、一度でもエラーが発生したことを検知すると、ステップ3「ログ取得の完了通知」で、エラーが発生したことを画像形成装置管理アプリ14に通知する。画像形成装置管理アプリ14は、エラーが発生したことを受けると、ステップ3.1「操作部にログ取得が完了したことを表示」で、操作部6にログ取得に失敗したことを表示する。
【0054】
図9は、ログバックアップ処理中に画像形成装置アプリログのフォルダ72の作成に失敗した場合のシーケンス図である。図9の基本シーケンスは、図8と同様に図7の画像形成装置1におけるログバックアップのシーケンス図と同じであるが、以下の点が異なる。
【0055】
(1)ステップ1.1.2「SDカードに画像形成装置管理アプリログのフォルダ作成」でエラーが発生した場合、例えば、SDカード7にフォルダ72を作成できなかった場合、ステップ1.1.2「解析ログをSDにコピーする」を実行する(解析ログ書き出しステップ)。
【0056】
(2)ログ管理アプリ15は、ステップ2「ログ取得の完了通知」で、エラーが発生したことを画像形成装置管理アプリ14に通知する。画像形成装置管理アプリ14は、エラーが発生したことを受けると、ステップ2.1「操作部にログ取得が完了したことを表示」で、操作部6にログ取得に失敗したことを表示する。
【0057】
図9のシーケンスでは、ログ管理アプリ15が画像形成装置管理アプリ14に対して「ログの取得を要求」しない点が、図8のシーケンスと異なる。これは、画像形成装置管理アプリ14が作成するログを格納する場所の作成に失敗したので、置き場所がなくなり、処理をスキップしたためである。
【0058】
また、本実施形態では、ログ管理アプリ15は、エラー発生時にはエラーの種類に応じて解析に必要な解析ログ74を適宜選択してSDカード7に書き出すことができる。ログ管理アプリ15は、例えば図10に示すような解析ログ74の管理テーブル15Aを有し、この管理テーブル15Aを参照して解析ログ74として書き出すログの種類を選択する。
【0059】
図10は、解析ログ74の管理テーブル15Aの一例を示す図である。解析ログ74の管理テーブル15Aは、ログ取得中のエラーが発生したタイミングと、そのエラーを解析するのに必要なログ17の種類とを対応付けたものである。図10の例では、図8のシーケンス図の(1)、(2)、図9のシーケンス図の(1)について項目が設けられている。例えば、「SDカードに画像形成装置管理アプリログのフォルダ作成」のステップでエラーが発生した場合、OS11とログ管理アプリ15のログ17C、17Bがあれば解析可能であることを表している。
【0060】
この管理テーブル15Aは、ログ管理アプリ15に固定値として組み込まれており、動的に変更することはできない。
【0061】
図8図9のエラーシーケンスにおいてエラー発生時の処理として挙がった「解析ログをSDにコピーする」について、図11を参照して説明する。図11は、解析ログ74をSDカード7にコピーする手順を説明する図である。
【0062】
解析ログ74をSDカード7にコピーする処理では、ログ管理アプリ15が主となって、以下の処理を行う。
【0063】
(1)SDカード7に解析ログフォルダ73がなければ、フォルダを作成する。解析ログフォルダ73は、ログ取得毎にユニークな番号が付加されている。つまり、利用者が前回、操作部6でログ取得を実行してエラーが発生した時に作成したフォルダと、今回エラーが発生した時に作成されるフォルダ名は異なる。
【0064】
「ユニークな番号」は、ログ管理アプリ15がログ取得を受けた時の時間をYYYY_MM_DD_HH_MM_SS形式に変換した値である。YYYYは年で、MMは月で、DDは日で、HHは時間で、MMは分で、SSは秒である。例えば、2018年10月1日18時50分20秒に要求を受けた場合、2018_10_01_18_50_20という番号が付加される。
【0065】
(2)図10の解析ログ74の管理テーブル15Aを元に、エラーが発生したタイミングから、取得するログ17の種類を決定する。図11の例では、ログ管理アプリ15のログ17Bと、OS11のログ17Cとが選択されている。
【0066】
(3)上記(2)で決定したログ17B、17Cの種類に対応する共有メモリ31B、31Cより、共有メモリ31B、31Cに格納されたログ17B、17CをSDカード7の解析ログフォルダ73にそれぞれ書き出す。各アプリ12がどの共有メモリ31を使用するかは予め設定されているため、ログ管理アプリ15は、解析に必要なログ17に対する共有メモリ31を探すことが出来る。
【0067】
この際、SDカード7の解析ログフォルダ73に、既に、同種のログ76Aが作成されていた場合、上書き保存はせず、差分76Bのみを既存のログに追記するようにする。図12は、共有メモリ31のログ17と解析ログ74の関係について説明する図である。
【0068】
解析ログ74は、管理情報75とログ76から構成されるファイルである。管理情報75は、ループ回数や書き込み位置がある。ログ76は、共有メモリ31にあるログ17をコピーしたものである。
【0069】
画像形成装置1のログ取得中にエラーが発生すると、解析ログ74が作成され、共有メモリ31の管理情報34にある、ループ回数と書き込み位置が、解析ログ74の管理情報75のエリアに記載され、ログ76が追記される。以降、同一操作中のログ取得でエラーが発生した場合、共有メモリ31の管理情報34を元に解析ログ74の管理情報75が更新され、共有メモリ31のログ17は、解析ログ74のファイルに追記されていく。つまり、解析ログ74に既に記録されているログ76Aと、現在の共有メモリ31のログ17との差分76Bのみが解析ログ74に追加され、既存のログ76Aと新たに追加された差分76Bとが最新のログ76となる。
【0070】
なお、共有メモリ31が複数ある場合、それぞれ個別に解析ログ74が作成される。
【0071】
図13を参照して、ログ取得エラー発生時の解析ログ74への書き込みロジックついて説明する。図13は、ログ取得エラー発生時の解析ログ74への書き込み処理のフローチャートである。
【0072】
解析ログ74への書き込みは以下の順に実施される。
【0073】
(1)SDカード7に解析ログフォルダ73がなければ作成する(ステップS101、S102)
【0074】
(2)図10の解析ログ74の管理テーブル15Aを参照して、エラーが発生したタイミングより、解析に必要なログ17を決定する(ステップS103)。
【0075】
(3)解析に必要なログ17それぞれに対して以降の処理を実施する(ステップS104、S105)。
【0076】
(4)解析に必要なログ17に対応する解析ログ74が解析ログフォルダ73に存在しない場合(ステップS106のNO)、解析ログ74のファイルを作成し(S107)、解析に必要なログ17に対応する共有メモリ31の管理情報34を、解析ログ74の先頭に書き込み(S108)、また、共有メモリ31にあるログ17を解析ログ74に追記する(S109)。解析ログ74に書き込む共有メモリ31のログ17のサイズとして、共有メモリ31の管理情報34にある書き込み位置の値を使用する。
【0077】
(5)一方、解析に必要なログ17に対応する解析ログ74が解析ログフォルダ73に存在する場合(ステップS106のYES)、解析ログ74の管理情報75と、共有メモリ31の管理情報34とを比較して(S110)、共有メモリ31のログ17と、解析ログ74のログ76との間の差分の有無を判定する。
【0078】
差分があるかの判断は、共有メモリ31の管理情報34と、解析ログ74の管理情報75に記録されているループ回数及び書き込み位置を使用する。解析ログ74と共有メモリ31のループ回数と書き込み位置が一致するということは、差分がないと考えることが出来る。共有メモリ31のループ回数と書き込み位置が解析ログ74のよりも大きければ、差分が発生していると考えられ、その差分76Bだけ解析ログ74に追記する。
【0079】
(6)解析ログ74の管理情報75と、共有メモリ31の管理情報34のループ回数が一致し(S111のYES)、かつ、共有メモリ31の書き込み位置と解析ログ74の位置が一致する場合(S112のNO)、すなわち、共有メモリ31のログ17と、解析ログ74のログ76との間に差分が無い場合、当該ログ17を解析ログ74にコピーする必要はないので、当該ログ17の処理はスキップして、ステップS104に戻る。
【0080】
(7)一方、解析ログ74の管理情報75と、共有メモリ31の管理情報34のループ回数が一致し(S111のYES)、かつ、共有メモリ31の書き込み位置が解析ログ74の位置より大きい場合(S112のYES)、すなわち、共有メモリ31のログ17と、解析ログ74のログ76との間に差分が有る場合、共有メモリ31の書き込み位置から解析ログ74の書き込み位置を引いた数(差分76B)だけ、共有メモリ31のログ17から、解析ログ74へコピーする(S113)。さらに共有メモリ31の管理情報34で解析ログ74の管理情報75を更新すると(S114)、当該ログ17の処理が完了してステップS104に戻る。
【0081】
(8)また、共有メモリ31のループ回数が解析ログ74のものよりも大きい場合(ステップS111のNO→ステップS115のYES)には、共有メモリ31にあるログ17を、解析ログファイルに追記する(S116)。さらに共有メモリ31の管理情報34で解析ログ74の管理情報75を更新すると(S114)、当該ログ17の処理が完了してステップS104に戻る。
【0082】
共有メモリ31のループ回数が解析ログ74のものよりも小さい場合(ステップS111のNO→ステップS115のNO)には、当該ログ17の処理はスキップして、ステップS104に戻る。
【0083】
なお、ステップS116の処理では、共有メモリ31のループ回数が解析ログ74のものよりも大きい場合、共有メモリ31の書き込み位置以降にあるエリアのログは、有効なログとも、無効なログとも考えられる。このため、ステップS116では、まず共有メモリ31の書き込み位置以降にあるエリアのログの有効、無効を判断し、有効なログと判断した場合は順序性を考えて、先に共有メモリ31の書き込み位置以降の解析ログ74に追記してから、共有メモリ31の書き込み位置のログ17を追記してもよい。そのロジックについて図14を参照してさらに説明する。
【0084】
図14は、共有メモリ31のループ回数が解析ログ74よりも大きい場合の解析ログ74への書き込みロジックのフローチャートである。
【0085】
共有メモリ31の書き込み位置以降にあるエリアのログ17が有効なエリアかの判断は、共有メモリ31と解析ログ74のループ回数と書き込み位置を比較することで判定する。
【0086】
ループ回数の差が1より大きければ(S201のYES)、共有メモリ31の全エリアが有効と考えられる。この場合、順序性を考えて、共有メモリ31の書き込み位置より後ろのエリア、以前のエリアの順で解析ログ74に追記する(S202、S203)。
【0087】
一方、ループ回数の差が1の場合(S201のNO)、共有メモリ31と解析ログ74の書き込み位置を比較して、大きいほうの値以降のエリアが有効だと考えられる。解析ログ74の書き込み位置が共有メモリ31より大きい場合(S204のYES)には、順序性を考えて、解析ログ74の書き込み位置より後の共有メモリ31のエリアを解析ログ74に追記した後、共有メモリの書き込み位置以前のエリアを解析ログ74に追記する(S205、S206)。共有メモリ31の書き込み位置が解析ログ74より大きい場合には(S204のNO)、ステップS202、S203の処理を行う。
【0088】
なお、ループ回数の差が0の場合(S111のYES)や、マイナスの場合(S111のNO→S115のNO)は、図13のフローで判定しているので、本フローでは除外する。
【0089】
上述した画像形成装置管理アプリ14、ログ管理アプリ15、ログ出力ライブラリ16、OS11の各機能は、CPU2a、SOC2、メモリ3等のハードウェア上に所定のコンピュータソフトウェア(エラー解析支援プログラム)を読み込ませることにより、CPU2aの制御のもとでSOC2、操作部6を動作させるとともに、メモリ3やHDD4におけるデータの読み出し及び書き込みを行うことで実現される。すなわち、本実施形態のエラー解析支援プログラムをコンピュータ上で実行させることで、画像形成装置1は、図2の画像形成装置管理アプリ14、ログ管理アプリ15、ログ出力ライブラリ16、OS11として機能する。
【0090】
図15を参照して本実施形態に係る画像形成装置1の効果を説明する。図15は、本実施形態に係る画像形成装置1の解析ログ取得処理の概略構成を説明する図である。本実施形態の画像形成装置1は、アプリケーション12が出力したログ17を保持するメモリ3と、ログ17が所定量以上蓄積したときにメモリ3から出力される蓄積ログ41を格納するHDD4とを備える。蓄積ログ41は、画像形成装置1のログ管理アプリ15によって、メモリ3及びHDD4とは異なる他の記憶装置であるSDカード7に書き出される。そして特に本実施形態では、図15に示すように、蓄積ログ41をSDカード7へ書き出す処理中にエラーが発生した場合には、ログ管理アプリ15は、メモリ3に記憶されているログ17をエラー解析用の解析ログ74としてSDカード7へ書き出す。
【0091】
この構成により、蓄積ログ41のバックアップ中に発生したエラーの原因を調べるための解析ログ74を取得することが可能となるので、ユーザによるエラーの解析作業を好適に支援でき、エラーを解消するための作業効率を向上できる。
【0092】
また、本実施形態の画像形成装置1では、ログ管理アプリ15は、エラーが発生した場合、エラーの種類を特定し、種類に応じてエラー解析に必要なログ17A、17B、17Cの種類を特定し、特定した種類のログ17をメモリ3からSDカード7へ書き出す。この構成により、多種のエラーそれぞれの解析に必要なログ17を個別に取得でき、また、解析に不要なログ17は取得しないので、過不足なく解析ログ74の取得が可能となる。これにより、解析ログ74を書き出すSDカード7の容量も抑えることができる。
【0093】
また、本実施形態の画像形成装置1では、ログ管理アプリ15は、解析ログ74を書き出すときに、SDカード7に既に同種の解析ログ74がある場合、書き込み済みの解析ログ76Aと、現在のメモリ3に保持されるログ17との差分76Bを、SDカード7に書き出す。この構成により、SDカード7に格納する解析ログ74の内容に重複が生じることを抑制できるので、解析ログ74を書き出すSDカード7の容量をより一層抑えることができる。
【0094】
以上、具体例を参照しつつ本実施形態について説明した。しかし、本開示はこれらの具体例に限定されるものではない。これら具体例に、当業者が適宜設計変更を加えたものも、本開示の特徴を備えている限り、本開示の範囲に包含される。前述した各具体例が備える各要素およびその配置、条件、形状などは、例示したものに限定されるわけではなく適宜変更することができる。前述した各具体例が備える各要素は、技術的な矛盾が生じない限り、適宜組み合わせを変えることができる。
【0095】
上記実施形態では、実施形態に係る情報処理装置の一例として画像形成装置1を挙げて説明したが、蓄積ログ41のバックアップ処理中にエラーが発生したときに解析ログ74を取得できる機能を備えていればよく、画像形成装置1以外の装置やシステムでもよい。
【0096】
上記実施形態では、蓄積ログのバックアップ、及び解析ログを格納する「他の記憶装置」として、画像形成装置1に取り付けられるSDカード7を例示したが、画像形成装置1に有線または無線で通信可能に接続されるSDカード7以外の外部記憶媒体や外部記憶装置でも良いし、ネットワークを介してサーバー等の別のコンピュータ装置に搭載される記憶装置でもよいし、画像形成装置1内のメモリ3、HDD4とは異なる別の記憶装置でもよい。
【符号の説明】
【0097】
1 画像形成装置(情報処理装置)
3 メモリ(第1記憶装置)
4 HDD(第2記憶装置)
7 SDカード(他の記憶装置)
15 ログ管理アプリ
17 ログ
41 蓄積ログ
74 解析ログ
【先行技術文献】
【特許文献】
【0098】
【文献】特開2016-066214号公報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15