(58)【調査した分野】(Int.Cl.,DB名)
発生した事象に対応した事象情報と当該事象情報に付随する付随情報とを含む第1の履歴情報を記憶領域に記憶させるに際して、当該第1の履歴情報に含まれる当該事象情報が、既に当該記憶領域に記憶されている第2の履歴情報に含まれる事象情報と重複するときは、当該第1の履歴情報に含まれる当該事象情報を削除し、当該第1の履歴情報に含まれる当該付随情報を、当該事象情報に関連付けて当該記憶領域に記憶させる記憶手段と、
前記記憶領域から前記第1の履歴情報を読み出すに際して、当該第1の履歴情報に含まれる前記付随情報が関連付けられた前記事象情報に基づいて、削除された当該事象情報を復元し、当該事象情報と当該付随情報とを含む当該第1の履歴情報を復元する復元手段と、を備え、
前記記憶領域に、前記事象情報毎に関連付けられたグループ情報領域が設定され、
前記記憶手段は、前記事象情報に付随する前記付随情報を、当該事象情報に関連付けられた前記グループ情報領域に記憶させることにより、当該付随情報を当該事象情報に関連付けることを特徴とする履歴記憶装置。
前記記憶手段は、前記第1の履歴情報に含まれる前記事象情報が、既に前記記憶領域に記憶されている前記第2の履歴情報に含まれる前記事象情報と重複し、重複する当該事象情報の数が予め設定された数を超えたとき、当該第1の履歴情報に含まれる当該事象情報を削除し、当該第1の履歴情報に含まれる前記付随情報を、当該事象情報に関連付けて当該記憶領域に記憶させる請求項1に記載の履歴記憶装置。
前記記憶手段は、前記第1の履歴情報に含まれる前記事象情報が予め設定された条件を満たすとき、当該第1の履歴情報に含まれる当該事象情報を削除し、当該第1の履歴情報に含まれる前記付随情報を、当該事象情報に関連付けて前記記憶領域に記憶させる請求項1又は2に記載の履歴記憶装置。
前記記憶手段は、前記グループ情報領域における空き領域の容量が、前記事象情報に関連付けられた前記付随情報を記憶するのに必要とされる容量に満たなくなったときは、以後の記憶させるべき前記第1の履歴情報を、当該第1の履歴情報に含まれる前記事象情報を削除することなく、当該グループ情報領域とは異なる他の記憶領域に記憶させる請求項1から3のうちいずれか1項に記載の履歴記憶装置。
コンピュータに、発生した事象に対応した事象情報と当該事象情報に付随する付随情報とを含む第1の履歴情報を記憶領域に記憶させるに際して、当該第1の履歴情報に含まれる前記事象情報が、既に当該記憶領域に記憶されている第2の履歴情報に含まれる事象情報と重複するときは、当該第1の履歴情報に含まれる当該事象情報を削除し、当該第1の履歴情報に含まれる前記付随情報を、当該事象情報に関連付けて当該記憶領域に記憶させる機能と、
前記記憶領域から前記第1の履歴情報を読み出すに際して、前記付随情報が関連付けられた前記事象情報に基づいて、削除された当該事象情報を復元し、当該事象情報と当該付随情報とを含む当該第1の履歴情報を復元する機能と、を実現させ、
前記記憶領域に、前記事象情報毎に関連付けられたグループ情報領域が設定され、
前記記憶させる機能は、前記事象情報に付随する前記付随情報を、当該事象情報に関連付けられた前記グループ情報領域に記憶させることにより、当該付随情報を当該事象情報に関連付けることを特徴とするプログラム。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明の実施の形態について説明する。
<<実施形態1>>
<画像形成装置10の構成>
図1は、本発明の実施形態1に係る画像形成装置10のハードウェア構成を例示したブロック図である。実施形態1の画像形成装置10は、記憶部120、操作パネル130、印刷部140(画像形成部の一例)及び画像形成制御部100を備えている。これら記憶部120、操作パネル130及び印刷部140と画像形成制御部100とは、それぞれ互いに接続されていて、互いに文書データ(画像情報を含むデータ。以下、同じ。)及び制御信号の送受信を行う。
また、画像形成制御部100は、利用者クライアント(図示省略)等が接続されたWAN(Wide Area Network:ワイドエリアネットワーク)200に接続されている。
【0009】
記憶部120は、情報を記憶する記憶領域を有する、例えばハードディスクドライブ(Hard disk drive:HDD)によって構成され、例えばWAN200を通じて利用者クライアントから受けた文書データ等や、発生したイベント(事象)に対応したログ情報Lp(履歴情報(第1の履歴情報、第2の履歴情報):pはイベントの発生した数(p=1,2,…))等を記憶領域に記憶する。
イベントとは、画像形成装置10の各構成の動作内容に関する情報、画像形成装置10が受けた指示内容に関する情報、画像形成装置10の各構成の状態(ステータス)に関する情報及びエラーに関する情報などである。
なお、記憶部120に記憶される文書データは、WAN200を通じて入力されるものに限らず、例えば、図示を省略した画像入力部により入力されたものであってもよい。
また、ログ情報Lp(第1の履歴情報)は、記憶領域への記憶の動作の対象となっていたり、記憶領域からの読み出しの動作の対象となっていたりするものを意味している。一方、ログ情報(第2の履歴情報)は、既に記憶領域に記憶されていて、記憶領域への記憶の動作の対象となっているものではなく、又、記憶領域からの読み出しの動作の対象となっているものではないものを意味している。
【0010】
操作パネル130は、例えば、液晶のタッチパネルディスプレイにより構成され、画像形成制御部100により実行されるプログラムによる制御の下、例えば画像形成装置10に関するデータを表示する。また、操作パネル130は、利用者からの操作を受け付けるための表示画面を表示し、この表示画面を介して、利用者からの操作を受け付ける。
印刷部140は、例えば電子写真方式によって、供給された用紙(図示省略:記録媒体の一例)に対して、前述した文書データに応じたトナー像を印刷する。さらに、印刷部140は、記憶部120に記憶されたログ情報Lpを用紙に印刷する。
【0011】
画像形成制御部100は、記憶部120、操作パネル130及び印刷部140の動作の制御を行う。画像形成制御部100は、CPU(Central Processing Unit)102、ROM(Read Only Memory)103、RAM(Random Access Memory)104、NVRAM(Non Volatile RAM:不揮発性RAM)105、画像出力部I/F(画像出力部Interface)106、パネルI/F(Panel Interface)107、ネットワークI/F(Network Interface)108及びローカルI/F(Local Interface)109により構成されている。
ROM103は、CPU102により実行されるプログラムを記憶している。CPU102は、ROM103に記憶されているプログラムを読み出し、RAM104を作業エリアにしてプログラムを実行する。NVRAM105は、電源を供給しなくても記憶している情報を保持することが可能な不揮発性メモリであり、例えば、システム情報(マシン設定情報等)などの機器管理情報、FAXアドレス帳などの利用者情報が記憶されている。
【0012】
画像出力部I/F106は、印刷部140との間で文書データ、制御データ及びログ情報Lpの通信を行う。パネルI/F107は、操作パネル130との間で制御データの通信を行う。ネットワークI/F108は、利用者クライアントが接続されたWAN200に接続されて、文書データ及び制御信号の通信を行う。ローカルI/F109は、記憶部120との間で文書データ、制御信号及びログ情報Lpの通信を行う。
なお、CPU102によって実行されるプログラムは、磁気記憶媒体(磁気テープ、磁気ディスクなど)、光記憶媒体(光ディスクなど)、光磁気記憶媒体、半導体メモリなどのコンピュータが読取可能な記憶媒体に記憶した状態で提供し得る。また、このプログラムは、通信手段を用いて画像形成装置10等にダウンロードさせてもよい。
【0013】
<画像形成装置10の画像形成の動作>
CPU102が、ROM103に記憶されているプログラムを読み出してプログラムを実行すると、画像形成装置10の記憶部120、操作パネル130及び印刷部140が、このプログラムによって制御される。
例えば、利用者クライアントから文書データの印刷要求がWAN200を通じて画像形成制御部100のネットワークI/F108に入力されると、CPU102はプログラムにしたがって、印刷要求とともに入力された文書データを、ローカルI/F109を通じて記憶部120に一時的に記憶させる。
【0014】
ここで、利用者が操作パネル130の表示画面に対して、自己のID(Identification)番号等を入力すると、CPU102が、そのID番号に対応した利用者クライアントから印刷要求されて記憶部120に記憶され、印刷開始の指示待ちとなっている文書データを、パネルI/F107を通じて操作パネル130の表示画面に表示させる。なお、利用者クライアントから複数の文書データの印刷要求が記憶部120に記憶されているときは、印刷開始の指示待ちとなっている複数の文書データがリスト形式で、操作パネル130の表示画面に表示させる。
利用者は、操作パネル130の表示画面において、印刷開始の指示待ちとなっている文書データを1つ又は2つ以上選択して、操作パネル130に印刷開始の指示を入力する。
【0015】
操作パネル130に入力された印刷開始の指示は、パネルI/F107を介してCPU102により解釈され、CPU102は、利用者に選択された文書データを、ローカルI/F109を通じて記憶部120から読み出す。そして、記憶部120から読み出された文書データは、CPU102の実行するプログラムによる、RAM104を作業エリアにした処理が施された後、画像出力部I/F106を通じて印刷部140に入力される。
印刷部140は、画像出力部I/F106を通じた画像形成制御部100からの制御により、入力された文書データに応じたトナー像を用紙に印刷する。
【0016】
<ログ情報Lpに関する動作>
本実施の形態の画像形成装置10は、上述した画像形成機能の他に、正常でない動作等障害が発生した場合に、後にその障害を解析するなどの目的で、障害等のイベント(事象)が発生した際のログ情報Lp(第1の履歴情報)を、記憶部120の記憶領域に記憶する機能と、記憶領域に記憶されたログ情報Lpを読み出して用紙に印刷する機能とを有している。
【0017】
ここで、ログ情報Lpは、イベントの種類iに対応してコード化されたイベント情報Ji(事象情報)と、そのイベント情報Jiに付随し、そのイベントが発生した日時に対応した日時情報Kp(付随情報)とが組み合わされたものとなっている。イベント情報Jiは、イベントの種類i毎に異なる例えば4バイトの情報量を有している。一方、日時情報Kpは、月日の日付と時刻とを組み合わせて例えば6バイトの情報量を有している。
イベント情報Jiとして設定されているイベントとしては、例えば、用紙の供給又は用紙への画像の形成などに関して発生したイベントであり、具体的には、原稿や用紙の情報、電源制御情報、文書データの印刷等ジョブの実行情報、エラー情報(用紙詰まり情報や用紙切れ情報、トナー無し情報、温度異常情報、動作異常情報等)などである。イベントは上記のものに限定されるものではなく、画像形成装置10の内部で生じた状態の変化などであってもよい。
【0018】
ログ情報Lpを記憶部120の記憶領域に記憶させる機能は、CPU102がROM103に記憶されているプログラムを読み出して、そのプログラムに記述されたコマンドにしたがった処理を実行することにより実現される。
具体的には、用紙切れのイベントが発生したとき、CPU102がその用紙切れのイベントの種類iに対応したイベント情報Jiと日時情報Kpとを有するログ情報Lp(第1の履歴情報)を生成し、生成したログ情報Lpを、ローカルI/F109を介して記憶部120の記憶領域に記憶させる。
【0019】
図2は、記憶部120の記憶領域に設定される管理テーブル領域Mとイベント毎領域Ni(i=1,2,…,8:Ni=N1,N2,…,N8)(グループ情報領域)とを示す模式図である。CPU102が、ログ情報Lpを記憶部120の記憶領域に記憶させるに際しては、CPU102は、記憶部120の記憶領域に、管理テーブル領域Mとイベント毎領域Niという2つの記憶領域を設定させる。
イベント毎領域Niは、イベント情報Ji毎、すなわちイベントの種類i毎に対応して設定されている。つまり、実施形態1は、ログ情報Lpとして記憶されるイベントの種類iが8種類設定されている(i=1,2,…,8)ことで、イベント情報JiはJ1,J2,…,J8の8種類が存在する。そして、イベント毎領域Niも、イベント情報J1に対応してイベント毎領域N1、イベント情報J2に対応してイベント毎領域N2、というように、各イベント情報J1,J2,…,J8に対応して1つずつイベント毎領域N1,N2,…,N8が設定される。
なお、各イベント毎領域Niは予め設定されているのではなく、後述するように、新たな種類のイベントが発生したときに設定される。
【0020】
CPU102がログ情報Lpを記憶領域に記憶させるとき、CPU102は、管理テーブル領域Mに、ログ情報Lpに含まれるイベント情報Jiだけを記憶させる。管理テーブル領域Mに記憶されるイベント情報Jiは、そのイベント情報Jiに対応するファイル名で記憶されてもよい。このファイル名は、イベント情報Jiに対応してCPU102が動的に生成する。
CPU102は、記憶部120に、ログ情報Lpに含まれるイベント情報Jiだけを管理テーブル領域Mに記憶させ、イベント情報Jiに対応したイベント毎領域Niを設定させる。CPU102はさらに、そのログ情報Lpからイベント情報Jiを削除して日時情報Kpだけ残し、この残された日時情報Kpを、設定されたイベント毎領域Niに記憶させる。
【0021】
つまり、例えば、記憶されるログ情報Lp(第1の履歴情報)に含まれるイベント情報がJ2のとき、この記憶されるログ情報Lpに含まれるイベント情報J2が管理テーブル領域Mに記憶され、このイベント情報J2に対応するイベント毎領域N2が設定される。さらに、この記憶されるログ情報Lp(第1の履歴情報)に含まれるイベント情報J2が削除されて日時情報Kpだけが残され、その記憶されるログ情報Lp(第1の履歴情報)に含まれる日時情報Kpは、イベント情報J2に対応して設定されたイベント毎領域N2に記憶される。
これにより、記憶されるログ情報Lp(第1の履歴情報)は、このログ情報Lp(第1の履歴情報)に含まれるイベント情報J2に関連付けられた日時情報Kpとして記憶部120の記憶領域に記憶される。
【0022】
CPU102は、イベントが発生する毎に、上述した処理でログ情報Lpを記憶部120の記憶領域に記憶させるが、新たに発生したイベントのログ情報Lp(第1の履歴情報)に含まれるイベント情報Jiが、既に管理テーブル領域Mに記憶されている他のログ情報Lp(第2の履歴情報)として関連付けられたイベント情報Jiと同じとき(重複するとき)は、CPU102は、新たに発生したイベントのログ情報Lp(第1の履歴情報)に含まれるイベント情報Jiを削除するとともに、そのログ情報Lp(第1の履歴情報)に含まれる日時情報Kpを、同じイベント情報Jiに対応したイベント毎領域Niに記憶させる。
このとき、新たに発生したログ情報Lp(第1の履歴情報)に含まれるイベント情報Jiは削除されているため、管理テーブル領域Mには記憶されないが、新たに記憶されたログ情報Lpの日時情報Kpは、そのログ情報Lpに含まれていたイベント情報Jiと同じでかつ既に管理テーブル領域Mに記憶されているイベント情報Jiに対応したイベント毎領域Niに記憶されるため、実質的に、そのログ情報Lpに含まれるイベント情報Jiに関連付けられて記憶部120の記憶領域に記憶される。
【0023】
図3は、CPU102によって実行されるログ情報Lpの記憶の処理を示すフローチャートである。
図3に示すように、イベントが発生する(ステップ1:S1)と、CPU102は、そのイベントに対応したログ情報Lpを作成する(S2)。次いで、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiと同じイベント情報Jiが、管理テーブル領域Mに既に記憶されているか否かを判定する(S3)。
CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在しないと判定したとき(S3においてNO)は、ログ情報Lpに含まれるイベント情報Jiを管理テーブル領域Mに記憶させるとともに、そのイベント情報Jiに対応するイベント毎領域Niを設定する。さらに、CPU102は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、設定したイベント毎領域Niに記憶させて(S4)、処理を終了する。
【0024】
一方、CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在すると判定したとき(S3においてYES)は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、削除したイベント情報Jiに対応するイベント毎領域Niに記憶させて(S5)、処理を終了する。
以上の処理をイベントの発生毎に繰り返すことにより、記憶部120の管理テーブル領域M及びイベント毎領域N1,N2,…,N8には、
図2に示すように、ログ情報Lpが記憶される。
【0025】
ここで、管理テーブル領域Mには上述した処理により、重複するイベント情報Jiは記憶されないため、イベントの発生した数pに拘わらず、管理テーブル領域Mには最大でも、イベント情報Jiとして設定された8つのイベント情報J1〜J8だけが記憶されるに過ぎない。各イベント情報Jiは4バイトに設定されているため、管理テーブル領域Mに記憶される情報量は、最大で32バイト(=4バイト×8)である。
一方、イベント毎領域N1〜N8には、イベントが発生する毎に6バイトの日時情報Kpが記憶されていくため、イベント毎領域N1〜N8に記憶される情報量はイベントの発生した数pに比例して増加し、その情報量は6pバイト(=6バイト×p)となる。
したがって、ログ情報Lpは、記憶部120の記憶領域において、合計(32+6p)バイトの領域を占める。
【0026】
これに対して、イベントが発生する毎のログ情報Lpを処理せずにそのまま記憶部120の記憶領域のうち、例えばログ情報Lpの記憶用に設定された共通領域に記憶させた場合は、1つのログ情報Lpの情報量は10バイト(=イベント情報4バイト+日時情報6バイト)であるため、ログ情報Lpは、記憶部120の共通領域において、合計10pバイトの領域を占める。
ここで、実施形態1の場合と、実施形態1の形式を採用せずにログ情報Lpをそのまま記憶部120の記憶領域に記憶させた場合(以下、「本発明を採用しない場合」という。)とを単純に比較すると、イベントが発生した数pが9回以上のとき、実施形態1は本発明を採用しない場合よりも、記憶部120の記憶領域において占める領域を低減することができる。
【0027】
しかし、この単純な比較は、発生するイベントの種類iが全く重複しないままで8回目のイベントが発生した場合を仮定したものであり、現実には、8回目の発生までの間、全ての種類iのイベントが重複せずに発生する可能性は極めて低い。
これとは反対に、例えば、1回目に発生したイベントと2回目に発生したイベントとが同じ種類のイベントであった場合、実施形態1では、1つ分のイベント情報Jiの情報量4バイトを削減することができるため、ログ情報Lpは、記憶部120の記憶領域において、合計16バイトの領域を占める。一方、本発明を採用しない形態では、ログ情報Lpは、記憶部120の記憶領域において、合計20バイトの領域を占める。
【0028】
実施形態1は、本発明を採用しない場合に比べて、2回目のイベント発生で、記憶させるべきログ情報Lpの情報量を低減することができる。しかも、1回目のイベント発生の時点においても、実施形態1は、本発明を採用しない場合に記憶させるべきログ情報Lpの情報量(10バイト)を上回ることはない。
したがって、実施形態1の画像形成装置10及びプログラムによれば、ログ情報Lpとして記憶部120に記憶させる情報の量を、全体として減らすことができる。
【0029】
実施形態1におけるCPU102及びローカルI/F109は、ログ情報Lpの日時情報Kpをイベント情報Jiに関連付けてイベント毎領域Niに記憶させる記憶手段として機能することで、本発明に係る履歴記憶装置の一例であるログ記憶装置50に相当する。
したがって、実施形態1のログ記憶装置50によっても、ログ情報Lpとして記憶部120に記憶させる情報の量を、全体として減らすことができる。
【0030】
なお、上述したように、実施形態1における管理テーブル領域Mは、最大で32バイトの領域を設定すればよいが、イベント毎領域Niに記憶される日時情報Kpは、イベントが発生する数iに比例して増える。イベント毎領域Niについては、イベントが発生する数iを想定し、設定されるときに、その想定した数iの日時情報Kpを記憶し得る大きさの領域で設定される。
しかし、実際に発生したイベントの数iが想定よりも多くなった場合は、イベント毎領域Niには、新たに発生したイベントに対応するログ情報Lpの日時情報Kpを記憶するのに足りる空き領域が無い。
【0031】
そこで、この場合は、最も新しく発生したログ情報Lpの日時情報Kpは、同じイベント毎領域Niに記憶されている日時情報Kpのうち最も古い日時情報Kpに上書きすることで、新しいイベントに対応するログ情報Lpを優先して記憶させるようにしてもよい。
また、予め設定されているイベント毎領域Niとは異なる他の記憶領域として、イベントの種類に拘わらずログ情報Lpを記憶する共通領域を設定し、最も新しく発生したログ情報Lpの日時情報Kpは、既に空き領域が無くなったイベント毎領域Niに上書きして記憶するのではなく、ログ情報Lpからイベント情報Jiを削除することなく、ログ情報Lpの全体をそのまま共通領域に記憶させるようにしてもよい。
また、最も新しく発生したログ情報Lpについては、既に空き領域が無くなったイベント毎領域Niにそのログ情報Lpの日時情報Kpを上書きしたり、ログ情報Lpの全体を共通領域にて記憶したりせずに、記憶部120への記憶を行わないようにしてもよい。
【0032】
<復元手段>
実施形態1における記憶部120に記憶されたログ情報Lpは、後に読みだされることでメンテナンス等において活用される。
実施形態1のログ記憶装置50及び画像形成装置10は、イベント毎領域Niに記憶された日時情報Kpが関連付けられたイベント情報Jiに基づいて、日時情報Kpが付随し、削除されたイベント情報Jiを復元する復元手段の一例を備えている。この復元手段は、CPU102が、ROM103に記憶されているプログラムを読み出して、そのプログラムに記述されたコマンドにしたがった処理を実行することにより実現される。
【0033】
具体的には、CPU102が、ローカルI/F109を介して記憶部120の管理テーブル領域M(
図2参照)に記憶されているイベント情報Jiを、記憶されている領域の順番で読み出す。このとき、CPU102は、1つのイベント情報Jiを読み出す毎に、そのイベント情報Jiに対応して設定されているイベント毎領域Niを参照し、対応するイベント毎領域Niに記憶されている日時情報Kpを、記憶されている領域の順番で読み出す。CPU102は、さらに、その読み出した日時情報Kpに関連付けられ削除されたイベント情報Jiを、日時情報Kpが記憶されていたイベント毎領域Niに基づいて復元する。
【0034】
そして、CPU102は、復元されたイベント情報Jiと日時情報Kpとを組み合わせてログ情報Lpを復元し、復元されたログ情報Lpを、RAM104又は記憶部120のテンポラリファイルに一旦記憶させる。
CPU102は、全てのログ情報LpをRAM104又は記憶部120のテンポラリファイルに記憶させた後に、全てのログ情報Lpを対象として、日時情報Kpに基づいて、発生日時の古い順序に並べ替えを行う。そして、発生日時の古い順序に並べ替えられたログ情報Lpのリストが、CPU102により、画像出力部I/F106を介して印刷部140に入力される。
【0035】
図4は、発生日時が古い順序でリストにされたログ情報Lp(
図1参照)の出力形態の一例を示す図である。印刷部140は、CPU102の制御により、入力されたログ情報Lpのリストを、
図4に示すように、題名(「XXXプリンタ エラーレポート」)、各項目名(「イベントコード(イベント情報Ji)」、「発生日時(日時情報Kp)」)を付加した上で、用紙に出力する。
このように、実施形態1におけるCPU102は、記憶部120の記憶領域に記憶されたログ情報Lpを読み出すに際して、日時情報Kpが関連付けられたイベント情報Jiに基づいて、日時情報Kpが付随し削除されたイベント情報Jiを復元する復元手段の一例となっている。
そして、このように構成された実施形態1によれば、記憶領域への記憶の際に削除されたイベント情報Jiを印刷の際に復元することができ、印刷されたログ情報Lpとして活用することができる。
【0036】
なお、上記説明は、全てのログ情報Lpを印刷する場合についてであるが、例えば特定のイベント情報Jiのログ情報Lpだけを印刷するときは、操作パネル130からそのイベント情報Jiを選択して印刷の指示を入力することで、CPU102が、操作パネル130に入力された特定のイベント情報Jiに対応するイベント毎領域Niからのみ、記憶されている日時情報Kpを読み出す。そして、CPU102が上記説明と同じ処理により、その特定のイベント情報Jiを復元し、読み出されたそれぞれの日時情報Kpにイベント情報Jiを組み合わせてログ情報Lpを復元し、印刷部140に、復元されたログ情報Lpを印刷させればよい。
【0037】
<<実施形態2>>
実施形態1のログ記憶装置50、画像形成装置10及びプログラムは、新たに発生したイベントに対応したイベント情報Jiが、管理テーブル領域Mに存在しないときは、CPU102がイベント毎領域Niを設定するが、本発明は、実施形態1において、CPU102が、イベント毎領域Niを設定するに際して、予め設定された条件を満たしたときにのみ、イベント毎領域Niを設定するようにしてもよい。
【0038】
図5は、実施形態1において、イベント情報Jiが予め設定された条件を満たしたときにのみ、CPU102がイベント毎領域Niを設定させる、本発明の実施形態2を示すフローチャートである。なお、実施形態2の処理を実行するハードウェア構成は、
図1に示した実施形態1と同じである。
実施形態2におけるCPU102は、
図5に示すように、イベントが発生する(S11)と、そのイベントに対応したログ情報Lpを作成する(S12)。次いで、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiが、予め設定された条件に一致するか否かを判定する(S13)。
【0039】
予め設定された条件は、管理者や利用者によって設定されていて、NVRAM105や記憶部120に記憶されていてもよいし、CPU102が実行するプログラムに予め設定されていてもよい。
また、例えば、その画像形成装置10の使用状況や置かれている環境等により、発生するイベントの種類の間で発生頻度に偏りがあるなどの場合に、発生頻度の多いイベントの種類に対応したイベント情報Jiを有するログ情報Lpだけを、イベント情報Jiに関連付けた形式で記憶させるときは、予め設定された条件として、その発生頻度の高いイベント情報Jiを設定しておけばよい。
【0040】
CPU102は、作成したログ情報Lpにおけるイベント情報Jiが、予め設定された条件に一致する(例えば、発生頻度の高いイベント情報Jiである)と判定したとき(S13においてYES)は、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiと同じイベント情報Jiが、管理テーブル領域Mに既に記憶されているか否かを判定する(S14)。
CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在しないと判定したとき(S14においてNO)は、ログ情報Lpに含まれるイベント情報Jiを管理テーブル領域Mに記憶させるとともに、そのイベント情報Jiに対応するイベント毎領域Niを設定する。さらに、CPU102は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、設定したイベント毎領域Niに記憶させて(S15)、処理を終了する。
【0041】
一方、CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在すると判定したとき(S14においてYES)は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、削除したイベント情報Jiに対応するイベント毎領域Niに記憶させて(S16)、処理を終了する。
また、CPU102は、作成したログ情報Lpにおけるイベント情報Jiが、予め設定された条件に一致しない(例えば、発生頻度の高いイベント情報Jiではない)と判定したとき(S13においてNO)は、ログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、実施形態1で説明した共通領域に記憶させて(S17)、処理を終了する。
【0042】
このように構成された実施形態2のログ記憶装置50、画像形成装置10及びプログラムによると、実施形態1の作用、効果に加えて、予め設定された条件に応じて、ログ情報Lpを、日時情報Kpをイベント情報Jiに関連付けた形式で記憶させることを選択する自由度を得ることができる。
【0043】
<<実施形態3>>
実施形態1のログ記憶装置50、画像形成装置10及びプログラムは、新たに発生したイベントに対応したイベント情報Jiが、2回目以降に生成された場合のみならず、1回目に生成された場合にも、CPU102がイベント毎領域Niを設定するが、本発明は、実施形態1において、同じ種類のイベント情報Jiが特定の回数を超えて発生したときに、イベント毎領域Niを設定するようにしてもよい。
【0044】
図6は、実施形態1において、イベント情報Jiが予め設定された閾値t0を超えた回数発生したときにイベント毎領域Niを設定する、本発明の実施形態3を示すフローチャートである。なお、実施形態3の処理を実行するハードウェア構成は、
図1に示した実施形態1と同じである。
実施形態3におけるCPU102は、
図6に示すように、イベントが発生する(S21)と、そのイベントに対応したログ情報Lpを作成する(S22)。次いで、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiに対応するイベント毎領域Niが設定されているか否かを判定する(S23)。
【0045】
CPU102は、イベント毎領域Niが設定されていないと判定したとき(S23においてNO)は、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiと同じイベント情報Jiが、管理テーブル領域Mに既に記憶されているか否かを判定する(S24)。
CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在しないと判定したとき(S24においてNO)は、カウンタt(図示省略)を1に設定した上で、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S25)、処理を終了する。
【0046】
一方、CPU102は、同じイベント情報Jiが管理テーブル領域Mに存在すると判定したとき(S24においてYES)は、そのイベント情報Jiに設けられているカウンタtを1増加させた上で、カウンタtが予め設定された関連付けのための閾値t0を超えた(t0<t)か否かを判定する(S26)。ここで、閾値t0は、イベント毎領域Niを設定するための条件として、イベント毎領域Niに対応したイベント情報Jiが超えなければならない、そのイベント情報Jiに対応する種類のイベントの発生回数として設定された値である。
例えば、閾値t0として2が設定されているときは、CPU102は、カウンタtが2のとき、カウンタtが閾値t0を超えていない(t≦t0)と判定し(S26においてNO)、カウンタtが3のとき、カウンタtが閾値t0を超えた(t0<t)と判定する(S26においてYES)。
【0047】
そして、CPU102が、カウンタtが閾値t0を超えていないと判定したとき(S26においてNO)は、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S25)、処理を終了する。
一方、CPU102が、カウンタtが閾値t0を超えたと判定したとき(S26においてYES)は、CPU102は、ログ情報Lpに含まれるイベント情報Jiに対応するイベント毎領域Niを設定する(S27)。さらに、CPU102は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、設定したイベント毎領域Niに記憶させる(S28)。加えて、CPU102は、同じイベント情報Jiを有し、既に共通領域に記憶されているログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、設定したイベント毎領域Niに記憶させ、このログ情報Lpを共通領域から削除し(S28)、処理を終了する。
【0048】
なお、日時情報Kpをイベント情報Jiに関連付けた形式での記憶が完了したログ情報Lpを共通領域から削除するのは、画像形成装置10のパフォーマンス等の理由により即時実行が困難な場合、画像形成装置10がアイドリング状態となっているなどのタイミングで行ってもよい。
【0049】
CPU102は、ステップ23(S23)において、イベント毎領域Niが設定されていると判定したとき(S23においてYES)は、CPU102は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、対応するイベント毎領域Niに記憶させて(S29)、処理を終了する。
このように構成された実施形態3のログ記憶装置50、画像形成装置10及びプログラムによると、実施形態1の作用、効果に加えて、各イベントが予め設定された回数(閾値t0)を超えて発生した場合に限って、日時情報Kpをイベント情報Jiに関連付けた形式で記憶させることができる。
【0050】
<<実施形態4>>
実施形態1〜3のログ記憶装置50、画像形成装置10及びプログラムは、イベント情報Jiの発生状況に応じてイベント毎領域Niを記憶領域に動的に設定する例であるが、記憶領域に、ランダムに領域を設定できない場合もある。
すなわち、管理テーブル領域Mやイベント毎領域Niを設定する記憶領域として、NVRAM105などの不揮発性メモリを使用した場合、不揮発性メモリは、基本的には連続した領域が必要であるため、動的にイベント毎領域Niを設定する実施形態1〜3をそのまま適用することができない場合がある。ただし、不揮発性メモリ上に、ファイルシステムなどの、追記が容易な機能を適用した場合は、実施形態1〜3をそのまま適用することもできる。
そこで、共通領域以外に、記憶領域の一部を各イベント毎領域Niとして予め分割して確保しておき、発生頻度の高いイベントに対応したログ情報Lpのみを、イベント情報Jiに関連付けた形式で記憶させるようにしてもよい。
【0051】
図7は、NVRAM105の記憶領域に、管理テーブル領域M及びイベント毎領域Niを設定した場合の模式図を示す図である。
ここで、管理テーブル領域Mは、予め設定された閾値t0の回数を超えて発生したイベントのうち、その閾値t0を超えた順が早い方から3つのイベントに対応するイベント情報Ji(
図7においては、3つのイベント情報J2,J1,J8を例示している。)が記憶される領域と、記憶された3つのイベント情報Jiに対応して設定されるイベント毎領域Ni(
図7においては、3つのイベント毎領域N2,N1,N8を例示している。)のアドレス情報Vi(
図7においては、3つのアドレス情報V2,V1,V8を例示している。)を指定する領域とからなる。
【0052】
各イベント情報J2,J1,J8が記憶される領域はそれぞれ4バイトであり、各アドレス情報V2,V1,V8が記憶される領域も4バイトであり、各イベント情報J2,J1,J8と、各イベント情報J2,J1,J8に対応するアドレス情報V2,V1,V8とは、管理テーブル領域Mにおいて、対になって記憶される。
各イベント毎領域N2,N1,N8は、それぞれアドレス情報V2,V1,V8によって特定される記憶領域に、連続した固定長で予め設定されている。
【0053】
図8は、実施形態1において、イベント情報Jiが予め設定された閾値t0を超えた回数発生したときに、その閾値t0を超えるのが早い方から3つ分だけイベント毎領域Niを設定する、本発明の実施形態4を示すフローチャートである。なお、実施形態4の処理を実行するハードウェア構成は、
図1に示した実施形態1と同じである。
実施形態4におけるCPU102は、
図8に示すように、イベントが発生する(S31)と、そのイベントに対応したログ情報Lpを作成する(S32)。次いで、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiに対応するイベント毎領域Niが設定されているか否かを判定する(S33)。
【0054】
CPU102は、イベント毎領域Niが設定されていないと判定したとき(S33においてNO)は、CPU102は、作成されたログ情報Lpに含まれたイベント情報Jiと同じイベント情報Jiが、NVRAM105の記憶領域に、管理テーブル領域M及びイベント毎領域Niとは別に設定されている共通領域に記憶されているか否かを判定する(S34)。
CPU102は、同じイベント情報Jiが共通領域に存在しないと判定したとき(S34においてNO)は、カウンタt(図示省略)を1に設定した上で、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S35)、処理を終了する。
【0055】
一方、CPU102は、同じイベント情報Jiが共通領域に存在すると判定したとき(S34においてYES)は、そのイベント情報Jiに設けられているカウンタtを1増加させた上で、カウンタtが予め設定された関連付けのための閾値t0を超えた(t0<t)か否かを判定する(S36)。ここで、閾値t0は、イベント毎領域Niを設定するための条件として、イベント毎領域Niに対応したイベント情報Jiが超えなければならない、そのイベント情報Jiに対応する種類のイベントの発生回数として設定された値である。
【0056】
そして、CPU102が、カウンタtが閾値t0を超えていないと判定したとき(S36においてNO)は、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S35)、処理を終了する。
一方、CPU102が、カウンタtが閾値t0を超えたと判定したとき(S36においてYES)は、CPU102は、イベント毎領域Ni用として確保していた領域がまだ残っているか否か、すなわちイベント毎領域Niを取得できるか否かを判定する(S37)。
CPU102は、3つ分のイベント毎領域Niに対応する記憶領域が既に特定のイベント毎領域Niとして3つ分設定されているときは、イベント毎領域Niを取得できないと判定する。一方、CPU102は、3つ分のイベント毎領域Niに対応する記憶領域のうち、少なくとも1つ分の記憶領域が残っているときは、イベント毎領域Niを取得できると判定する。
【0057】
CPU102が、イベント毎領域Niを取得できないと判定したとき(S37においてNO)は、CPU102は、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S35)、処理を終了する。
一方、CPU102が、イベント毎領域Niを取得できると判定したとき(S37においてYES)は、CPU102は、イベント毎領域Niを取得し、取得したイベント毎領域Niのアドレス情報Viとイベント情報Jiとを対にして管理テーブル領域Mに記憶させる(S38)。
さらに、CPU102は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、取得したイベント毎領域Niに記憶させる(S39)。加えて、CPU102は、同じイベント情報Jiを有し、既に共通領域に記憶されているログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、取得したイベント毎領域Niに記憶させ、このログ情報Lpを共通領域から削除し(S39)、処理を終了する。
【0058】
なお、日時情報Kpをイベント情報Jiに関連付けた形式での記憶が完了したログ情報Lpを共通領域から削除するのは、画像形成装置10のパフォーマンス等の理由により即時実行が困難な場合、画像形成装置10がアイドリング状態となっているなどのタイミングで行ってもよい。
【0059】
CPU102は、ステップ33(S33)において、イベント毎領域Niが設定されていると判定したとき(S33においてYES)は、CPU102は、そのイベント毎領域Niに、このログ情報Lpの日時情報Kpを追加して記憶させるのに必要な空き領域があるか否かを判定する(S40)。
CPU102が、空き領域があると判定したとき(S40においてYES)は、ログ情報Lpからイベント情報Jiを削除し、残った日時情報Kpを、対応するイベント毎領域Niに記憶させて(S41)、処理を終了する。
一方、CPU102が、空き領域が無いと判定したとき(S40においてNO)は、そのログ情報Lpを、イベント情報Jiと日時情報Kpとを組み合わせたままで、共通領域に記憶させて(S35)、処理を終了する。
【0060】
このように構成された実施形態4のログ記憶装置50、画像形成装置10及びプログラムによると、実施形態1の作用、効果に加えて、管理テーブル領域Mやイベント毎領域Niを設定する記憶領域として、NVRAM105などの不揮発性メモリを使用した場合であっても、日時情報Kpをイベント情報Jiに関連付けた形式でログ情報Lpを記憶させることができる。
また、実施形態4のログ記憶装置50、画像形成装置10及びプログラムによると、イベント情報Jiに関連付けた形式で日時情報Kpをイベント毎領域Niに記憶させることができなくなった場合にも、ログ情報Lpをそのまま共通領域に記憶させることで、ログ情報Lpが喪失されるのを回避することができる。
上述した各実施形態1〜4は、本発明の付随情報として日時情報Kpを適用したものであるが、本発明の付随情報は日時情報Kpに限定されるものではない。