説明

処理装置及びその制御方法、並びに制御プログラム

【課題】処理装置自身のパフォーマンスを低下させることなく、外部処理装置から効率的にエラーログの受け付けを行うことができる処理装置を提供する。
【解決手段】親機601は、通常のジョブログを定期的に子機602〜605から取得している。そこで、ジョブログから子機の稼動状況を確認してその稼動率を算出し、稼動率の高い子機は頻繁に使われるため子機のログ用メモリがメモリフルになり易いと判断して、このような子機からのエラーログ格納要求を優先的に受け付ける。逆に、稼動率の低い子機は、ログ用メモリがメモリフルになり難いと判断して、エラーログ格納要求の受け付けの優先度を下げる。このように、管理対象の子機が多数あっても、稼動率の高い機器からのエラーログを優先的に受け付けるようにして、稼動率の低い機器からの受け付けを制限する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログを収集する機能を備えた複写機等の処理装置及びその制御方法、並びに前記制御方法を実現するための制御プログラムに関するものである。
【背景技術】
【0002】
オフィス内で、専用のサーバ機器を置かずに、画像形成装置をサーバとして利用して、専用サーバ機器レスで運用できる環境が広まりつつある。このような状況において、CPUの速度が速かったり、メモリを多く搭載しているなど性能が高い画像形成装置(親機)が、サーバの機能を有し、前述した複数のネットワーク上の画像形成装置(子機)を管理するデバイス管理の機能を持つようになってきている。
【0003】
このような親機による子機のデバイス管理においては、子機からのログの収集が行われる。ログには、印刷枚数など通常のログと、エラーが発生したときに障害を特定するためのエラーログがある。特にエラーログは、障害特定のために多くの情報を含むのでデータのサイズが大きい。
【0004】
子機は、ログを記憶する記憶領域のサイズが小さいため、記憶領域がメモリフルになると、ログが古いものから順番に削除され、エラーログを多く格納することができない。そこで、子機は、格納しきれないログが消えてしまうことを回避するために、エラーが発生したときにはエラーログを逐一親機へ送る必要がある。
【0005】
しかし、親機が複数の子機からエラーログのような大きなサイズのログを無条件に受け付けてしまうと、親機自身のパフォーマンスが劣化する可能性がある。この問題に対応するために子機側のメモリ容量を増やすことは、コスト面から難しい。そこで、一定容量のエラーログ用のメモリしかなくても効率よくエラーログの収集を行える技術が求められていた。
【0006】
このようなログ収集を行う従来の技術として、次のようなものがあった(例えば特許文献1参照)。即ち、複数の子機と、ネットワークを介してそれらの子機のログを収集する親機から成る。子機の優先度が定義された優先度定義テーブルがあり、子機に格納されたログの量が所定量に達した場合に、当該子機の優先度が予め設定された優先度より高い場合にのみログを収集する。また、情報に優先度を付けて、子機に格納されたログの量が所定量に達した場合に、情報の優先度が予め設定された優先度より高い場合にのみログを収集する。
【特許文献1】特開2001−147839号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した従来の技術は、個々の子機或いは情報に対して予め設定された固定的な優先度を基にして、指定した優先度以上の場合のみにログ収集を行うものである。そのため、子機の稼動状況に応じて自動的に優先度を設定することができない。また、親機自身がパフォーマンスを落とさずに機能を実行しなければならないような状況において、親機自身の状態に応じて動的にログの受け入れの可否を決定することができない。
【0008】
このように上記従来技術では、未だ十分効率よくエラーログの収集を行うことができなかった。
【0009】
本発明は上記従来の問題点に鑑み、処理装置自身のパフォーマンスを低下させることなく、外部処理装置から効率的にエラーログの受け付けを行うことができる処理装置及びその制御方法、並びに制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の処理装置は、使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置において、前記外部処理装置から送信された前記第1のログを受信する受信手段と、前記受信手段によって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出手段と、前記算出手段によって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定手段とを備えたことを特徴とする。
【0011】
本発明の処理装置の制御方法は、使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置の制御方法であって、前記外部処理装置から送信された前記第1のログを受信する受信工程と、前記受信工程によって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出工程と、前記算出工程によって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定工程とを備えたことを特徴とする。
【0012】
本発明の制御プログラムは、使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置の制御方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、前記外部処理装置から送信された前記第1のログを受信する受信ステップと、前記受信ステップによって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出ステップと、前記算出ステップによって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定ステップとを備えたことを特徴とする。
【発明の効果】
【0013】
本発明によれば、処理装置自身のパフォーマンスを低下させることなく、外部処理装置から効率的にエラーログの受け付けを行うことが可能になる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【0015】
[第1の実施の形態]
<画像形成システムの全体構成>
図1は、本発明の実施の形態に係る処理装置を含む画像形成システムの全体の構成を示すブロック図である。
【0016】
この画像形成システムは、LAN 2011に接続された画像形成装置601を有している。画像形成装置601は処理装置の一例であり、画像入力デバイスであるスキャナ部2070、画像出力デバイスであるプリンタ部2095、コントロールユニット2000、及びユーザインターフェースである操作部2012から構成される。
【0017】
スキャナ部2070、プリンタ部2095、及び操作部2012は、それぞれコントロールユニット2000に接続され、コントロールユニット2000は、LAN 2011などのネットワーク伝送手段、公衆回線等に接続されている。公衆回線からはカラー画像送信を含むG3、G4ファックスによる送受信が可能である。
【0018】
また、LAN 2011には、外部処理装置の一例である他の画像形成装置602〜605のほか、パーソナルコンピュータ(以下、単にPCと記す)140も接続されている。他の画像形成装置602〜605も、画像形成装置601と同様の機器構成を持つ。
【0019】
なお、図1に示す画像形成装置は、プリンタ機能、スキャナ機能の両方を有するように記載しているが、例えば、プリンタ機能だけを持つような画像形成装置やスキャナ機能やファックス機能だけを持つ画像形成装置でも構わない。
【0020】
<画像形成装置の構成>
図2は、図1中の画像形成装置の構成を示すブロック図である。
【0021】
コントロールユニット2000は、画像入力デバイスであるスキャナ2070や画像出力デバイスであるプリンタ2095と接続しこれらの動作を制御する。また、一方ではLAN2011や公衆回線(WAN)2051と接続することで、画像情報やデバイス情報の入出力を行うためのコントローラである。
【0022】
コントロールユニット2000は、システムバス2007上に、CPU2001、RAM2002、ROM2003、及びHDD2004を配置している。
【0023】
CPU2001は、装置全体の動作を制御する。RAM2002は、CPU2001が動作するためのシステムワークメモリであり、画像データを一時記憶するための画像メモリでもある。また、オペレーティングシステムやシステムソフトウェア、アプリケーションソフトウェアなどのプログラムを動作させるために配置されることもある。ROM2003はブートROMであり、システムのブートプログラムが格納されている。また、システムプログラムやアプリケーションプログラムが格納されている場合もある。HDD2004はハードディスクドライブで、システムソフトウェア、アプリケーションソフトウェア、画像データ等を格納する。また、図示していないが、小型の画像形成装置では、HDD2004を搭載せずにシステムソフトウェア、アプリケーションソフトウェア等をROM2003に格納して、ハードディスクレスの構成もある。
【0024】
さらに、コントロールユニット2000は、システムバス2007上に、ログ用メモリ2100、操作部I/F2006、ネットワーク部2010、及びモデム2050を配置している。
【0025】
ログ用メモリ2100は、ログを格納するためのメモリであり、エラーログや稼動状況などの各種ログが格納される。なお、ログの内容については、後述する。また、ログ用メモリ2100を用意せずに、RAM2002の一部をログ用メモリとして利用するような仕組みとしてもよい。操作部I/F2006は、操作部(UI)2012とのインターフェース部であり、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012から操作者が入力した情報をCPU2001に伝える役割をする。ネットワーク部2010は、LAN2011に接続して情報の入出力を行う。モデム2050は、公衆回線2051に接続して画像情報の入出力を行う。
【0026】
イメージバスI/F2005は、システムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。画像バス2008は、PCIバスなどで構成される。
【0027】
画像バス2008上には、ラスターイメージプロセッサ(RIP)2060、デバイスI/F部2020、スキャナ画像処理部2080、及びプリンタ画像処理部2090が配置されている。
【0028】
ラスターイメージプロセッサ(RIP)2060は、PDLコードをビットマップイメージに展開する。デバイスI/F部2020は、スキャナ2070やプリンタ2095とコントローラ2000とを接続し、画像データの同期系/非同期系の変換を行う。スキャナ画像処理部2080は、入力画像データに対し補正、加工、編集を行う。また入力された画像がカラー原稿であるか或いは白黒原稿かを画像の彩度信号から判断しその結果を保持する機能を有する。プリンタ画像処理部2090は、出力画像データに対し補正、加工、編集を行う。
【0029】
また、画像バス2008上には、画像回転部2030、解像度変換部2031、色空間変換部2032、及び階調変換部2033も配置されている。
【0030】
画像回転部2030は、スキャナ画像処理部2080と連携して、スキャナ2070からの画像読み込みを行う。解像度変換部2031は、画像の解像度を変換する処理を行い、色空間変換部2032はマトリクス演算により、画像の色空間を変換する処理を行う。階調変換部2033は、画像の階調を変換する処理を行い、画像圧縮部2040は、画像の圧縮伸長の処理を行う。
【0031】
上記の説明においては、画像回転などの画像処理は、画像バス2008に接続されたデバイスで行っているが、HDD2004やROM2003に画像処理のソフトウェアを格納しておき、RAM2002に読み込んで、CPU2001で実行するようにしてもよい。なお、実行するソフトウェアは、画像処理に限らず、画像形成装置で必要となる他の処理でも構わないのは、いうまでもない。また、ROM2003に格納されたプログラムは、RAM2002に読み込まずに実行してもよい。
【0032】
また、図2のHDD2004において、ハードディスク内には、システムソフトウェアや、アプリケーションソフトウェア、画像データを格納すると記載した。しかし、これらに限らず、画像管理のためのデータなどの画像以外の一般データファイルや画像形成装置で管理するデータを格納することができる。画像形成装置で管理するデータとしては、例えば、どの利用者が、いつ、どのような機能を利用したかを記録するジョブログなどがある。
【0033】
上記構成の画像形成システムにおいて、画像形成装置601が、ログ収集のサーバ機能を有する親機の画像形成装置である。また、画像形成装置602、603、604、605は、画像形成装置601にログが収集される管理対象となる子機の画像形成装置であるものとする。そして、以下、親機である画像形成装置を単に親機と記し、子機である画像形成装置を単に子機と記す。なお、子機602、603、604、605は、HDD2004を搭載していなかったり、メモリ容量が少ない場合がある。
【0034】
<本実施の形態におけるログ>
次に、本実施の形態におけるログについて説明する。
【0035】
ログは2種類あり、1つは、どの利用者が、いつ、どれだけ(使用頻度)、どの機能を利用したかを表すジョブログである。もう一つは、エラーが発生したときに障害を特定するためのエラーログである。エラーログは、エラーが発生したときにそのエラーを解析するために必要となる内部モジュールの呼び出しシーケンス情報や、エラー発生時点でのメモリのダンプ結果情報などを含む。エラーログのサイズは、このような情報を含むため大きいものとなる。ジョブログは第1のログの一例であり、エラーログは第2のログの一例である。
【0036】
(A)ログの一例
(i)ジョブログの一例
ジョブログの一例を図3を参照して説明する。図3は、ジョブログの一例を示す表形式図である。
【0037】
図3に示すように、ジョブログには、ジョブの処理が行われた日付の情報501、時間の情報502、誰が処理を実行したかを表すユーザ識別子503が記録されている。更に、どのような処理を実行したのかを示すタイプ情報504が記載される。タイプ情報504には、例えば、PC140などからアプリケーションの印刷を実行したPrintや、画像形成装置の複写機能(以下、コピー機能と記す)を実行したCopy、スキャンして画像を読み取るScan、ファクシミリ送信を行うFAXなどがある。
【0038】
また、ジョブログには、処理に要したページ数情報505が記録されている。さらに、そのページ数の中で、白黒で処理したページ数情報506、カラーで処理したページ数情報507、及び両面処理されたページ数情報508などが記録されている。
【0039】
例えば、図3における509の事項では、ユーザ「50251」が、「2007年10月5日8時25分41秒」に、コピー機能を実行したことを表している。そのときに54枚コピーを行い、そのうち37枚が白黒、17枚がカラーであり、27枚が両面処理されていることが記録されている。その他も同様である。
【0040】
本実施の形態では、ジョブログに含まれる情報として9種類の項目(501〜509)を挙げているが、この限りでなく他の項目を含んでよいのは勿論のこと、この中のいくつかの項目だけを選択してジョブログとしても構わない。
【0041】
(ii)エラーログの一例
エラーログの一例を図4を参照して説明する。図4は、エラー時の画像形成装置における動作状況を記録したエラーログの一例を示す図である。
【0042】
エラーログのヘッダー部2402は、画像形成装置の機種名「IRXXXX」、システムソフトウェアのバージョン「CONT ver0.42」、及びエラーログ情報取得時の日付などで構成される。
【0043】
動作手順は、図4における2403、2405などに示されるように、時間、ブロックの場所、動作内容、などが読み取れる。これらの情報を基に、エラー発生の原因などを解析することができる。また、エラーレベルによって、例えば、簡易的な情報(2401)や、詳細な情報(2404)など情報量の異なるエラーログの生成が行える。
【0044】
(B)ログの収集
ログ収集について、具体的に図5を参照して説明する。図5は、親機601によって行われるログ収集を示す概念図である。
【0045】
子機602〜605は、ログを親機601へ送付する。なお、このときにログ自体を親機601へ送付するのでなく、ログ送付依頼を先へ送付して、送付が許可されたときにログ本体を送るような仕組みとしてもよい。図5の例では、子機602〜605が、それぞれログ606、607、608、609を親機601へ送付している。この例では、子機を4台としたが、子機が4台に限定されるものでない。
【0046】
また、親機601自体も画像形成装置として機能するため、ログを持っているので、親機601も自身のログ610を収集することになる。
【0047】
なお、図5の例では、各子機602〜605から親機601へログを送信しているが、親機601が、子機602〜605からログを収集するような仕組みとしても構わない。例えば、前述したジョブログの場合には、親機601が定期的に子機602〜605に対してログを収集するようにしてもよい。
【0048】
子機を親機の管理対象にする設定の方法は、例えば、親機601に予め登録しておく方法や、子機が新規にネットワークに接続された場合に、ブロードキャストで自身の存在を親機に通知するなどの公知の方法を用いる。
【0049】
<親機601の動作>
以下、親機601の動作について説明する。
【0050】
親機601は、1台以上の子機を管理するための、管理機能を持ち、ログを収集するサーバとして動作する。なお、本実施の形態では、管理機能として、ログ収集機能のみしか記載していないが、その他の管理機能を有していても構わない。
【0051】
ログとしては、前述したように、ジョブログとエラーログの収集を行う。ジョブログは、定期的に収集されており、定められた時間になると、親機601が、親機601のネットワーク部2010を用いてLAN2011を経由して管理対象の子機602〜605に接続する。
【0052】
子機602〜605では、ログ用メモリ2100に格納されているジョブログをネットワーク部2010を用いてLAN2011を経由して親機601に送信する。親機601は、受信したジョブログをHDD2004の所定の格納場所に書込む。親機601は、管理対象の全ての子機602〜605に対して、同様にしてジョブログの収集を行い、HDD2004に書込む。更には、親機601自身のジョブログも、親機601のログ用メモリ2100から読み出し、HDD2004の所定の格納場所に書込む。
【0053】
このようにして、定期的に収集された全ての管理対象の子機602〜605と親機601自身のジョブログが、親機601のHDD2004に保存されている。
【0054】
(A)ジョブログを収集したときの動作
(i)各子機の稼動状況を求める
子機602〜605からジョブログを収集したときに、親機601は、各子機602〜605の稼動状況を求める。以下、図5及び図6を参照して、収集されたジョブログから稼動状況を求める一例について説明する。4台の子機602〜605のジョブログの一例を示す表形式図である。
【0055】
図6における701、702、703、704に示すものは、それぞれ4台の子機602、603、604、605から取得された親機601のHDD2004に格納されているジョブログである。ここで、本実施の形態では、説明を簡単にするために、1日分のジョブログのみを記載している。当然であるが、親機601のHDD2004に格納されるジョブログは、1日分だけなく、複数日分格納されていても構わない。また、そのような場合は、稼動状況を求めるために、格納される子機のジョブログを1日分(或いは、所定の日数分)だけ用いるようになっていても構わない。
【0056】
子機の稼動状況の求め方は、例えば、ユーザが子機を利用した回数で判断する。701のジョブログから、子機602は、「2007年10月5日の8時25分41秒」、「11時21分43秒」、「14時11分52秒」、「15時12分32秒」、「17時45分53秒」、「19時36分25秒」の合計6回、利用されていることが分かる。同様に、702のジョブログから子機603は2回、703のジョブログから子機604は2回、704のジョブログから子機605は4回の利用がそれぞれあったことが分かる。
【0057】
(ii)稼動状況から優先度を算出
親機は、ジョブログから求められた稼動状況に基づいて、子機の優先度を算出する。優先度の算出として、例えば、各利用回数を最大の利用回数で割って、100を掛けるようなものがある。子機602の場合は、
【0058】
【数1】

【0059】
となり、優先度は100となる。同様に、子機603、604は、利用回数が2であるので、優先度が33.3、子機605は、利用回数が4であるので、優先度が66.7となる。
【0060】
優先度の求め方は、このような算定式だけでなく、他の算定式でも構わないことはいうまでもない。また、利用回数で判定するだけでなく、例えば、合計処理枚数で判定するようにしてもよい。合計処理枚数は、子機602、603、604、605それぞれ215、27,376、148となるので、先の算出式を用いれば、子機602の優先度は、
【0061】
【数2】

【0062】
となる。同様に、子機603、604、605の優先度は、それぞれ7.2、100、39.4となる。
【0063】
また、処理の種別毎に重み付けを変えてもよい。例えば、PC140からアプリケーションの印刷を実行したPrintの重み付けを1、画像形成装置のコピー機能を実行したCopyの重み付けを1.3とする。また、スキャンして画像を読み取るScanの重み付けを0.9、ファクシミリ送信を行うFAXの重み付けを1.1とする。その結果、子機602、603、604、604の重み付け後の枚数は、それぞれ262.5、28.2、421、149.8となるので、先の算出式を用いれば、子機602の優先度は、
【0064】
【数3】

【0065】
となる。同様に、子機603、604、605の優先度は、それぞれ6.7、100、35.6となる。
【0066】
本実施の形態では、ジョブログの情報だけから優先度を求めているが、子機のスペック(例えば、単位時間処理枚数)やログ用メモリ容量などを基準として、優先度に重み付けをするようにしてもよい。例えば、単位時間処理枚数が予め定めた基準より少ない場合や、ログ用メモリ容量が予め定めた基準より少ない場合に、優先度を高くする重み付けを与えるようなことを行ってもよい。
【0067】
(iii)優先度テーブルを更新
このようにして、求めた優先度で優先度テーブルを更新する。ここで、優先度テーブルの一例について、図7を参照して説明する。図7は、優先度テーブルの一例を示す図である。
【0068】
図7に示すように、優先度テーブルは、子機を特定するフィールド801と、子機の優先度を表す優先度フィールド802から成る。
【0069】
図7の例では、フィールド801には、子機を特定する名称が記載されている。なお、子機を特定する情報は、名称に限らず、例えばIPアドレスでなど、子機を一意に特定できる情報であればよい。ここで、図7中の803のデバイス名称Aは、図5中の子機602を表す。同様に、804のデバイス名称Bは子機603、805のデバイス名称Cは子機604、806のデバイス名称Dは子機605をそれぞれ表すものとする。
【0070】
図7の優先度フィールド802には、先に説明した利用回数による優先度がデバイス名称A〜Dに対応してそれぞれ記載されている。
【0071】
なお、優先度テーブル自体の新規作成や、子機のフィールド追加や削除については、本発明の本質的なものでない。しかし、例えば、ジョブログとして親機601のHDD2004に記録があるものを優先度テーブルのフィールド802に追加して、一定期間存在していないものは削除するような仕組みとしてもよい。
【0072】
(iv)処理の流れ
次に、上述した、親機601が子機602〜605からジョブログを収集して優先度テーブルを更新する処理の流れについて、図8のフローチャートを参照して説明する。
【0073】
図8は、ジョブログを収集して優先度テーブルを更新する処理の流れを示すフローチャートである。図8の各ステップは、親機601が備えるCPU2001が、ROM2003に格納されたプログラムをRAM2002に展開して実行される。
【0074】
まずS901において、CPU2001は、各子機602〜605からジョブログを収集する。次のS902では、CPU2001は、S901で収集した各子機602〜605のジョブログから各子機602〜605の稼動状況を求める。稼動状況とは、例えば子機602において利用回数であれば、処理が行われた回数である「6」がジョブログ701から求められる。また、合計処理枚数を稼動状況とするのであれば、ジョブログ701の各処理の処理枚数を合計して、子機602の稼動状況は、「215」とする。
【0075】
S903において、CPU2001は、各子機602〜605の稼動状況から優先度を求める。これは、例えば、先の説明では、各稼動状況の値を全ての子機602〜605の稼動状況の最大値で割ったものに100を掛けることで優先度を求めていた。本実施の形態で説明した、S902、S903での稼動状況、及び優先度の求め方は一例であり、他の算出の仕方でも構わない。
【0076】
S904において、CPU2001は、優先度テーブルの各子機602〜605の優先度をS903で求められた優先度に置き換える。
【0077】
(B)エラーログが送付されたときの動作
次に、子機602〜605から親機601に対してエラーログが送付されたときの親機601の動作について説明する。
【0078】
(i)エラーログ受け付けの可否判定の詳細
以下、子機602〜605からエラーログが送付されたときに、親機601がエラーログを受け付けるかどうかを判定する動作について、図9を参照して具体的に説明する。 図9は、親機601のエラーログ受け付け可否判定動作を説明する概念図であり、図5と共通する要素には同一符号を付与する。
【0079】
・親機601が処理を行っていない場合
まず、親機601が処理を行っていない場合について説明する。この場合、エラーログの格納要求1301が子機602から親機601へ送付されると、親機601は、自身のジョブログ610から、使用の集中が予想される時間であるかどうかを判断する。
【0080】
図10は、親機601自身のジョブログ610の一例を示す表形式図である。
【0081】
このジョブログ610は、1時間毎に8時台(図10の1001)、9時台(1002)、10時台(1003)、11時台(1104)、15時台(1005)、17時台(1006)、及び19時台(1007)と分割されている。
【0082】
この分割された時間の中で、稼動状況を求める。稼動状況の求め方は、先に示した利用回数であったり、合計処理枚数などである。この求めた稼動状況に対して閾値を設けて、それ以上の場合は、使用の集中が予想される時間と判断する。
【0083】
例えば、稼動状況を利用回数として、閾値を3回とすると、図10の例では、8時台、9時台にエラーログの格納要求が子機602からあった場合は、エラーログの書込みを延期する。
【0084】
本実施の形態では、1日のジョブログとしているが、親機601自身のジョブログ610の格納がより多くあった場合には、1日だけに限らず、日にち毎に各時間の稼動状況を求めて、更に各時間の平均の稼動状況を算出して、それを利用するようにしてもよい。
【0085】
また、本実施の形態のように1時間単位とは限らず、例えば、午前、午後で分けるとか、9時以前、9時から12時、12時から13時、13時から17時、17時以降のようにオフィスの勤務状況に合わせたりしてもよい。更には、時間で区切るのでなく、エラーログの格納要求時点から1時間以内などのようにしてもよい。
【0086】
親機601の使用が予想されるときに、子機602からのエラーログ格納要求を延期すると記載した。しかし、エラーログ自体が致命的なエラーであったり、子機602内のエラーログ格納用のログ用メモリ2100がメモリフルの状態になっている(或いは、メモリフルになりかけている)ときなど緊急にエラーログを格納する必要がある。
【0087】
そのような場合には、次の処理を行う。図示しないが、エラーログ格納要求内に設けられた緊急用のフラグが立つことで、親機601は、エラーログの書込みが必要なことであると判断する。親機601は、エラーログの送信を子機602へ要求して、子機602のエラーログを親機601のHDD2004へ書込む。
【0088】
また、例えば、子機602で紙詰まり(ジャム)が頻発する場合などは、エラーログもすぐに埋まってしまうので、次の処理を行う。予め定めた回数以上のジャムが発生すると、子機602で、先の緊急用フラグを立ててエラーログの格納要求を送信する。これにより、エラーログによってログ用メモリ2100のメモリフルが発生する前に親機601にエラーログを書込むことができる。
【0089】
エラーログを親機601602へ書込むことができた子機602は、ログ用メモリ2100をクリアする。なお、ログ用メモリ2100にエラーログ以外のログが格納されている場合は、格納したエラーログだけを削除する。
【0090】
なお、本実施の形態の説明では、エラーログの格納要求をまず親機601に送信しているが、子機602からダイレクトにエラーログを親機601へ送信してもよい。また、親機601において機能が実行されていない状態で使用の集中が予想されるときに、上記の緊急用フラグが立っていない場合であっても、次のような子機からのエラーログの格納要求を受け付けるようにしても構わない。即ち、子機の優先度に基づいて、一定の閾値以上の優先度を持つ子機からのエラーログ格納要求を受け付けるようにしても構わない。
【0091】
・親機601が機能を実行している場合
次に、親機601が機能を実行している場合について具体的に説明する。この場合、先に説明した優先度テーブルから取得した子機の優先度を親機601の状態によって補正し、補正された優先度が予め定めた閾値以上であれば、親機601は、エラーログの書込みを行う。
【0092】
ここで、説明のために、図11の優先度テーブルと、図12の閾値及び各種補正値を用いることにする。図11は、優先度テーブルの一例を示す図であり、図12(a),(b)は、優先度の閾値と各種補正値の一例を示す図である。
【0093】
図11中の1101に示すデバイス名称Aは、図5中の子機602を表す。同様に、1102に示すデバイス名称Bは子機603、1103に示すデバイス名称Cは子機604、1104に示すデバイス名称Dは子機605をそれぞれ表すものとする。
【0094】
図12(a)において、閾値θは、補正された優先度がこの値以上であれば、エラーログの書込みを認めるという境界値である。再送用補正値πについては後で説明する。パネル操作補正値ρは、親機601の操作パネル(操作部2012)を使用しているときに優先度を補正するための値である。即ち、操作パネルが利用されているということは、親機601の前で利用者が使っているため、親機601の処理をより優先させるために優先度を補正する。
【0095】
図12(b)に示すジョブ種類別補正テーブルは、親機601が処理中のジョブの種類によって優先度の補正を行うためのものである。これは、例えば、カラーデータの処理を行うときには白黒データに比べてデータ量が多いため、親機601のCPU2001に負担が大きいなど、ジョブの種類に応じて優先度を変えるためのテーブルである。
【0096】
このジョブ種類別補正テーブルは、ジョブ種類を表すフィールド1205と、その補正値を表すフィールド1206から成る。図12(b)の例では、カラージョブに対する補正値が−15、白黒ジョブの補正値が−5、FAXジョブの補正値が−20、プリントジョブの補正値が−10である。また、1枚の用紙に複数ページを面付けして印刷するNin1のジョブに対する補正値は−5である。
【0097】
なお、図12(b)に示すジョブ種類別補正テーブルは、一例であり、ジョブ種類はこれらに限定されることはないし、これらを含まなくてもよい。
【0098】
以下、JCT(X)は、ジョブ種類Xに対する補正値を表すものとする。例えば、JCT(FAX)は、ジョブ種類別補正テーブルから−20となる。なお、Xの部分は1つに限らず複数併記することができ、その場合は、補正値の合計となる。例えば、JCT(Color,Nin1)は、Colorの補正値−15とNin1の補正値−5の合計−20となる。
【0099】
子機の優先度をαとすると、補正された優先度α’が、閾値θ以上であればエラーログの書込みを親機601は行う。具体的に例を挙げて説明する。
【0100】
子機602(図11中のデバイス名称A)からエラーログの格納要求が親機601に対して送られると、親機601は、優先度テーブルから当該子機602の優先度α602(=100)を取得する。この例では、100である。
【0101】
このとき、親機601で操作パネルを利用してカラーコピーを実行している場合は、パネル操作補正値ρ=−20、カラーのジョブ補正値JCT(Color)=−15であるので、

となり、補正された優先度

は65となり、閾値θ(=70)を下回っているため親機601にエラーログの格納は行われない。
【0102】
なお、先に説明したように、緊急時のエラーログについては、優先的に書込まれる。これは、以下の説明においても明記はしないが同様である。一方、同じく操作パネルを利用していても、白黒コピーを実行している場合は、白黒のジョブ補正値JCT(BW)=−5であるので、

【0103】
であり、閾値θを上回るので、親機601にエラーログは書込まれる。また、親機601の操作パネルを使わずにPC140などからFAX送信されている場合は、FAXのジョブ補正値JCT(FAX)=−20であるので、

【0104】
となり、エラーログの格納要求を親機601は受け付けるが、親機601の操作パネルからFAX送信した場合では、パネル操作補正値ρが追加されるので、

【0105】
となり、エラーログの格納要求を親機601は受け付けない。
【0106】
更には、例えば、子機605(図11中のデバイス名称D)は、優先度が80である。パネル操作補正値が−20であることから、親機601のパネル操作が行われている場合には、それだけで優先度が60となり、エラーログの格納要求が受け付けられない。
【0107】
しかしながら、親機601にPC140などからプリントジョブが送信されてきて、それを処理しているだけであれば、Printのジョブ補正値JCT(Print)=−10であるので、

【0108】
であり、閾値と同じ70でエラーログ格納要求を親機601は受け付ける。
【0109】
なお、これまでの説明で用いた例は、各子機602〜605からの初回のエラーログ格納依頼とする。エラーログ格納依頼が再送された場合の処理については、後述する。
【0110】
このように、各子機602〜605の優先度が異なるので、親機601が同一の状態であっても、エラーログの格納要求の受け付けの可否が動的に変わる。また、同一の子機からのエラーログ格納要求であっても、親機601の状態によって、エラーログの格納要求の受け付けの可否が動的に変わる。
【0111】
・エラーログの格納を受け付けなかった場合
次に、子機602〜605からのエラーログの格納を親機601が受け付けなかった場合について説明する。
【0112】
親機601は、先に図10を参照して例示したように、自身のジョブログ610から使用の集中が予想される時間について算出することができる。親機601が、その時点でのエラーログの格納を受け付けず、延期させる子機に対して、使用の集中が無いと予想される時間での再送を指示する。
【0113】
延期の指示を受けた子機は、指定された時間になると、不図示であるエラーログ格納要求に再送であることを示す再送フラグを立てて、再度、親機601へエラーログ格納要求を送付する。
【0114】
親機601では、エラーログ格納要求を受け取り、再送フラグが立っていることを確認すると、優先度を補正するときに、先の図12(a)の再送用補正値πを補正値として加える。例えば、先の例で、親機601で操作パネルを利用して、カラーコピーを実行している場合の初回のエラーログ格納要求における補正後の優先度は、65であったが、同じ状況で再送の場合は、再送用補正値πが145であるので、

【0115】
となり、エラーログの格納要求は、親機601で受け付けられる。
【0116】
図12の例で、再送用補正値πを145としたのは、どのような場合でも再送されたエラーログ格納要求を受け付けさせるためである。つまり、補正されていない優先度がゼロ以上であるとすると、

【0117】
から、再送用補正値πが145以上であれば、常に閾値θ(70)を上回る。
【0118】
この例では、常にエラーログ格納要求が再送時に受け入れられるようにしたが、その限りでなくてもよい。より低い値で、一定以上の(補正された)優先度を持つものでないと、再送された場合でも受け付けなくしてもよい。或いは、再送用補正値πを固定値でなく、例えば再送回数によって値を変えるような仕組みでもよい。
【0119】
一例として、再送用補正値πを

【0120】
として、子機604(図11中のデバイス名称C)からエラーログの格納要求が、親機601へ送付され、その格納要求が1度目の再送であったとする。このとき、親機601では、PC140などからFAX送信が実行されていると、子機604の優先度が65であるから、

【0121】
となり、エラーログ格納要求は受け付けられず、親機601から再度、子機604に対してエラーログ格納要求の延期が要求される。2回目の再送を子機604が行ったときに、親機601で操作パネル上で白黒コピーが行われていたとすると、

【0122】
となり、エラーログ格納要求は受け入れられて、親機601は、子機605のエラーログを書込む。
【0123】
2回目の親機601は、操作パネルが使われており、再送用補正値を除いた補正値が、1度目の再送時の−20と比べて−25と大きく、エラーログ格納要求を受け入れづらい状態である。それにも関わらず、且つ元々の優先度が閾値を下回るような子機605のエラーログ格納要求であっても、再送回数が多いことで受け入れることが可能となる。なお、この場合は、前述したエラーログ格納要求に再送であることを示す再送フラグを設けるだけでなく、再送回数を示す値をエラーログ格納要求に入れることになる。
【0124】
本実施の形態では、親機601自身のジョブログ610を参照して、使用の集中が予想されない時間の再送を子機に対して行うように説明しているが、そのような時間を指示しないで、予め定められた一定時間後に再送するように指示してもよい。或いは、親機601で時間を指定しないで、子機が一定時間経過したら再送するような仕組みでも構わない。更には、再送用補正値πを無くして(π=0)として、子機の優先度と親機601のエラーログ格納要求時の状態だけで補正された優先度を求めて判定するようにしても構わない。
【0125】
(ii)エラーログ受け付けの可否判定処理の流れ
次に、親機601が子機のエラーログ格納要求を受け付けるか否かの決定を行う際の処理の流れについて、図13を参照して説明する。図13は、第1の実施の形態におけるエラーログ受け付けの可否判定処理の流れを示すフローチャートである。図13の各ステップは、親機601が備えるCPU2001が、ROM2003に格納されたプログラムをRAM2002に展開して実行される。
【0126】
まずS1401において、CPU2001は、優先度テーブルからエラーログ格納要求のあった子機の優先度を取得して、S1402へ進む。S1402では、CPU2001は、エラーログ格納要求を確認して、再送されたエラーログを示すフラグが立っている場合には、S1403へ進み、そうでなければS1404へ進む。
【0127】
S1403では、CPU2001は、子機からのエラーログ格納要求が、再送されたエラーログ格納要求であったので、S1401で取得した優先度を再送用補正値を用いて補正して、S1404へ進む。
【0128】
S1404では、CPU2001は、親機601自身が複合機としての機能を実行しているかを判定する。実行していればS1405へ進み、実行していなければS1413へ進む。S1405において、CPU2001は、親機601が自身の操作パネルから機能を実行しているかどうかを判定する。操作パネルから機能を実行していれば、S1406へ進む。
【0129】
S1406において、CPU2001は、子機の優先度を、操作パネルが操作されているとして補正、つまりパネル操作用に補正を行う。S1405で操作パネルから実行されていなければS1407へ進む。これは、例えば、PC140などからジョブが投入された場合などである。S1407では、CPU2001は、親機601が画像形成装置で実行中のジョブの種類に応じて、子機の優先度の補正を行う。
【0130】
一方、S1413は、S1404で親機601が複合機としての機能を実行していない場合に実行される。S1413では、CPU2001は、親機601が自分自身のジョブログを確認して、現在の時間が親機601の使用が集中する時間であるかどうかを判定する。使用の集中が予想される場合は、S1408へ進み、使用の集中が予想されない場合は、S1414へ進んで、親機601にエラーログを書込んで終了する。
【0131】
S1408において、CPU2001は、エラーログ格納要求がハード的に動作しないなどの致命的なエラーかどうかを判定する。これは、エラーログ格納要求中にフラグなどを準備して判断することができるようにする。致命的なエラーログの場合は、S1414へ進む。致命的なものでない場合は、S1409へ進む。
【0132】
S1409において、CPU2001は、子機のログ用メモリ2100がメモリフルになっているかを判定する。これも、エラーログ格納要求中にフラグなどを準備して判断できるようにする。メモリフルの場合は、S1414へ進み、そうでない場合は、S1410へ進む。
【0133】
S1410において、CPU2001は、エラーログ格納要求が、ジャムが一定回数発生した後のエラーログであるかどうかを判定する。これも、エラーログ格納要求中にフラグなどを準備して判断することができるようにする。一定回数以上のジャム発生のエラーログの場合は、S1414へ進み、そうでなければ、S1411へ進む。
【0134】
S1411において、CPU2001は、補正された優先度が、予め定められた閾値より大きいかどうかを判定し、閾値よりも大きければS1414へ進む。閾値未満であれば、S1412へ進む。
【0135】
S1412において、CPU2001は、エラーログ格納要求を送信した子機に対して、親機601のジョブログを用いて稼動状況を確認する。そして、親機601の稼動状況が低下すると予想される時間での再送を子機に指示して終了する。S1414において、CPU2001は、当該子機のエラーログを書込んで終了する。
【0136】
なお、本実施の形態においては、エラーログとして説明したが、突発的に発生してサイズが大きいことなどが親機601の処理のパフォーマンスを劣化させるようなログであれば、エラーログでなくても構わない。
【0137】
<本実施の形態に係る利点>
第1の実施の形態によれば、次のような利点を有する。
【0138】
親機601は、通常のジョブログを定期的に子機602〜605から取得している。そこで、ジョブログから子機の稼動状況を確認してその稼動率を算出し、稼動率の高い子機は頻繁に使われるため子機のログ用メモリ2100がメモリフルになり易いと判断して、このような子機からのエラーログ格納要求を優先的に受け付ける。逆に、稼動率の低い子機は、ログ用メモリ2100がメモリフルになり難いと判断して、エラーログ格納要求の受け付けの優先度を下げる。このように、管理対象の子機が多数あっても、稼動率の高い機器からのエラーログを優先的に受け付けるようにして、稼動率の低い機器からの受け付けを制限する。これにより、親機自身の画像形成装置としてのパフォーマンスを低下させることなく、効率的にエラーログの受け付けを行うことができる。このとき、単純に子機側の稼動率だけで優先度を決定するのではなく、親機601自身の稼動率や稼動状況(実際にユーザが機器の操作をしているかなど)を基にして優先度を決めるので、子機に対して自動的に動的な優先度の設定を行うことが可能になる。
【0139】
即ち、本実施の形態では、逐次変化するジョブログを用いることにより、子機のジョブログから算出された優先度と、逐次変化する親機601の稼動状態とによって、子機からのエラーログ格納要求の可否を動的に判定することができる。
【0140】
また、親機601のジョブログ610から親機601自身の稼動状況の予測を行って、子機からのエラーログ格納要求の可否を決めたり、エラーログ格納要求が拒否された子機への再送時間を決めたりすることができる。
【0141】
更には、親機601で実行中のジョブの種類や、操作パネル上の実行かどうかによって、子機の優先度の補正を動的に行うことができる。また、エラーログ格納要求で、緊急エラーログを優先的に格納できる仕組みも実現することができる。
【0142】
[第2の実施の形態]
第1の実施の形態では、エラーログ格納要求を延期する場合には、親機601が子機に対して再送を指示して、エラーログ格納要求を再送してもらうようにした形態について説明した。これに対して、第2の実施の形態では、エラーログ格納要求を延期した場合には、親機601の都合が良いときに、子機のエラーログを取得するようにした形態について説明する。
【0143】
<エラーログ格納要求を延期した場合の動作>
第2の実施の形態に係る、親機601がエラーログ格納要求を延期した場合の動作について、図14を参照して説明する。図14は、エラーログ格納要求を延期した場合の動作を説明するための概念図であり、図5と共通の要素には同一符号を付与する。
【0144】
子機602からエラーログ格納要求1601があったが、親機601は、このエラーログ格納要求1601を拒否したとする。このとき、親機601は、エラーログ書込み待ちリストに子機602を追加する。同様に、子機604からエラーログ格納要求1602があったが、親機601がこのエラーログ格納要求1602を拒否すると、親機601はエラーログ書込み待ちリストに子機604を追加する。なお、エラーログ格納要求の受け付けの可否の方法は、第1の実施の形態で示したものとする。
【0145】
エラーログ書込み待ちリストは、例えば、図15に示すようなものである。図15は、エラーログ書込み待ちリストの一例を示す図である。
【0146】
図15において、1701は、エラーログ書込み待ちリストを特定するデバイスの名称であり、1702、1703はそれぞれ、エラーログ格納要求を送付した日付と時間である。なお、第1の実施の形態の図11で示したものと同様に、デバイス名称Aは、図5中の子機602を表す。同様に、デバイス名称Bは子機603、デバイス名称Cは子機604、デバイス名称Dは子機605をそれぞれ表すものとする。
【0147】
図15の1704に示すものは、子機604が「2007年10月5日」の「11時24分55秒」に送ったエラーログ格納要求は、親機601に拒否されたことを示す。1705に示すものは、子機602が「2007年10月5日」の「13時10分00秒」に送ったエラーログ格納要求は、親機601に拒否されたことを示す。
【0148】
親機601では、自身がコピーなど画像形成装置としての機能を実行していないとき、または自身のジョブログ610から機能の集中使用が予想されないときは、次の処理を行う。即ち、エラーログ書込み待ちリストを確認して、エラーログ格納要求があったが、まだエラーログを書込んでない子機からエラーログを取得する。図15の例では、子機604と602がエラーログの書込み待ちになっているが、親機601は、優先度テーブルを参照して優先度が高い子機からエラーログを取得する。
【0149】
例えば、図7の優先度テーブルであったとすると、子機604の優先度は65、子機602の優先度は100である。時間的には子機604よりも後にエラーログ格納要求を行った子機602のエラーログが先に取得される。当然ながら、単純にエラーログ格納要求した時間が早いものから順にエラーログを取得するような仕組みでも構わない。
【0150】
また、複数回のエラーログ格納要求がある場合に、例えば、図16のようなエラーログ書込み待ちリストであったとする。優先度は、子機605(デバイス名称D)が80で、子機603(デバイス名称B)が35である。しかし、エラーログ格納要求の回数が、子機603からの方が多いため、親機601は、子機603のエラーログを先に取得してもよい。
【0151】
また、一定回数以上のエラーログ格納要求が延期された子機がエラーログ書込み待ちリストにある場合には、その子機を優先として親機601が当該子機のエラーログを取得してもよい。
【0152】
<エラーログ取得決定処理の流れ>
次に、親機601が、エラーログ書込み待ちリスト中のどの子機のエラーログを取得するのかを決定する処理の流れについて、図17及び図18を参照して説明する。
【0153】
図17及び図18は、本発明の第2の実施の形態におけるエラーログ取得決定処理の流れを示すフローチャートであり、図13と同一処理の部分については、図13と同一符号を付与して、その説明は割愛する。なお、図17及び図18の各ステップは、親機601が備えるCPU2001が、ROM2003に格納されたプログラムをRAM2002に展開して実行される。
【0154】
まずS1501において、CPU2001は、子機からのエラーログ格納要求を受信したかを判定する。受信した場合は、S1401へ進み、図13のフローチャートで説明した処理を実施する。エラーログ格納要求を延期する場合に、図13のフローチャートでは、S1412で子機へ再送要求を行っていたが、本フローチャートでは、S1502へ進む。S1502において、CPU2001は、エラーログ書込み待ちリストに当該子機の情報を追加する。
【0155】
S1501で、親機601が、エラーログ格納要求を受信していない場合は、S1503へ進む。S1503において、CPU2001は、親機601自身が複合機としての機能を実行しておらず、自身のジョブログ610から使用の集中が予想される時間帯でないかを判定する。Noの場合、即ち親機601が機能を実行しているか、或いは使用の集中が予想される時間帯であれば、終了する。Yesの場合、即ち親機601で機能も実行されていないし、使用が集中されることも予想されないときは、S1504へ進む。
【0156】
S1504において、CPU2001は、エラーリスト書込み待ちリストを確認して、空であれば終了する。空でなければ、S1505へ進む。S1505において、CPU2001は、エラーログ書込み待ちリストに予め定められた一定回数以上延期された子機があるかを判定する。あればS1507へ進み、無ければS1506へ進む。
【0157】
S1506において、CPU2001は、エラーログ書込み待ちリスト中で優先度が一番高い子機を選択して、S1510へ進む。なお、このとき同一優先度の複数の子機があった場合は、1つを選択する。選択の仕方は、例えば、最初に見つかったものであっても構わない。或いは、該当する子機の中で一番最初にエラーログ格納要求があったものでも構わない。或いは、延期回数が一番多いものでも構わないし、ここに挙げた以外の方法でも1つを選択する方法であれば構わない。
【0158】
S1507において、CPU2001は、エラーログ書込みリスト中で、エラーログ格納要求の延期回数が一番多い子機を選択する。次のS1508において、CPU2001は、S1507で選択した子機が複数あるか判定する。1つだけなら、S1510へ進み、複数あれば、S1509へ進む。
【0159】
S1509において、CPU2001は、S1507で選択された複数の子機の優先度が一番高いものを選択する。このとき、優先度が同一のものが複数あった場合は、先にS1506で説明したような方法で1つの子機を選択する。S1510において、CPU2001は、親機601が選択した子機のエラーログを取得して、S1414へ進む。
【0160】
S1414において、CPU2001が、当該子機のエラーログを親機601に書込んだ後、S1511へ進む。S1511において、CPU2001は、エラーログ書込み待ちリストから当該子機の項目を削除して、終了する。なお、S1501でYesの場合は、エラーログ書込み待ちリストでなく、子機から直接要求のあったエラーログを書込む場合となる。このときに、当該子機がエラーログ書込み待ちリストになければ、当然ながらS1511では、何も処理しない。
【0161】
<第2の実施の形態に係る利点>
第2の実施の形態では、エラーログ格納要求を延期した場合には、親機601の都合が良いときに子機のエラーログを取得することができる。即ち、親機601は、エラーログ格納要求が延期された回数の多い子機のエラーログ、或いは高い優先度の子機のエラーログを、親機601自身の処理が行われていない合間に取得しに行くことができ、効率的なエラーログ書込み処理を行うことができる。
【0162】
[第3の実施の形態]
第3の実施の形態においても、エラーログ格納要求を延期した場合には親機601が都合が良いときに子機のエラーログを取得する点において第2の実施の形態と同様であるが、その取得の方法が異なる。
【0163】
即ち、第3の実施の形態では、親機601自身が複合機としての機能を実行しておらず、自身のジョブログ610から使用の集中が予想される時間帯でない場合に、エラーログ書込み待ちリスト中の子機の優先度を補正する。そして、補正された優先度が最も高いの子機のエラーログを取得するような方法を採る。
【0164】
<優先度補正方法>
以下、本実施の形態における優先度補正方法について説明する。
【0165】
例えば、エラーログ格納要求の回数による補正値を

【0166】
とすると、子機603の補正値は、γ=15×3=45となり、補正値を優先度35に加えて、80となる。一方、子機605の補正値は、γ=15×1=15となり、補正値を優先度65に加えて、95となる。子機605の方が、エラーログ格納要求の回数が少ないが、補正された優先度が大きいため、親機601は、子機605のエラーログを取得する。
【0167】
また、待ち時間に応じて優先度を変えるように補正してもよい。例えば、現時点から待ち時間の分単位の経過時間を求めて、それを

【0168】
として、子機602〜605の優先度を補正する。例えば、現在の時刻を14時丁度とすると、図15のエラーログ書込み待ちリストにおいて、子機604は、156分待ち、子機602は、50分待ちとなる。但し、秒単位は切り捨てとする。すると、子機604の補正値は、ε=156×0.5=78、子機602の補正値は、ε=50×0.5=25となる。したがって子機604、602の優先度が65、100であるので、補正後の優先度は、それぞれ143と125となって、親機601は、子機604のエラーログを取得する。
【0169】
また、複数の同一子機のエラーログ書込み待ちがあるときは、例えば、一番長い間待っているものにするなどの方法がある。
【0170】
いくつかの優先度の補正方法の例を説明したが、これらの補正方法を組み合わせて優先度を補正するようにしても構わない。また、ある一定の時間内に特定の子機からのエラーログ格納要求が一定回数以上あったときは、当該子機の優先度を上げるようにしてもよい。
【0171】
<エラーログ取得決定処理の流れ>
次に、親機601が、補正された優先度を用いて、エラーログ書込み待ちリスト中のどの子機のエラーログを取得するのかを決定する処理の流れについて、図19及び図20を参照して説明する。
【0172】
図19及び図20は、本発明の第3の実施の形態におけるエラーログ取得決定処理の流れを示すフローチャートであり、図13、図17及び図18と同一処理の部分については、図13、図17及び図18と同一符号を付与して、その説明は割愛する。図19及び図20の各ステップは、親機601が備えるCPU2001が、ROM2003に格納されたプログラムをRAM2002に展開して実行される。
【0173】
S1901は、親機601が処理を実行しておらず、使用の集中も予想されないときに、子機からエラーログ格納要求がなく、且つエラーログ書込み待ちリストが空で無いときに実行されるステップである。S1901において、CPU2001は、エラーログ書込み待ちリスト中の子機に対して、上述した優先度補正方法を用いて優先度の補正を行い、S1902へ進む。
【0174】
S1902において、CPU2001は、補正された優先度の中で、優先度が最も高い子機を選択して、S1510へ進む。同一の優先度を持つ子機が複数あった場合には、先にS1506で説明したような方法で1つを選択する。
【0175】
<第3の実施の形態に係る利点>
第2の実施の形態によれば、エラーログ格納要求を延期した場合には、親機601の都合が良いときに子機のエラーログを取得することができる。即ち、親機601は、エラーログ格納要求が延期された子機の中で高い優先度の子機のエラーログを、親機601自身の処理が行われていない合間に取得しに行くことができ、効率的なエラーログ書込み処理を行うことができる。
【0176】
[変形例]
本発明は、上記した各実施の形態に限定されず、種々の変形が可能であり、その変形例としては例えば次のようなものがある。
【0177】
(1)上記した第2の実施の形態または第3の実施の形態は、第1の実施の形態で説明した再送指示を行う方式との複合でも構わない。つまり、エラーログ格納要求を延期する場合に、当該子機に対して再送指示をすると同時にエラーログ書込み待ちリストにも当該子機の情報を追加する。子機が再送もしてくるし、再送が行われる前に親機601が処理を実行していない且つ使用の集中が予想されない場合は、親機601が、エラーログ書込み待ちリスト中の子機にエラーログを取りに行くようにする。このような形態は、図13、図17、図18、図19及び図20のフローチャートの組み合わせで実現できることは容易に分かる。
【0178】
(2)子機のエラーログ格納要求が親機601に拒否されたときに、子機側では、ログ用メモリ2100がメモリフルである場合に、緊急用フラグを立てて、親機601に対して、優先的にエラーログを書込むよう依頼することを第1の実施の形態で説明した。このように緊急用フラグを設けずに、子機で、エラーログが取得されるまで、子機の動作できないように操作パネルなどをロックしてしまう仕組みとしてもよい。
【0179】
(3)また、子機側の処理として、次のような処理を行ってもよい。即ち、同一のエラーが発生している場合に、親機601がエラーログ格納要求を何度も拒否していると、同じようなエラーログが何度も子機側のログ用メモリ2100に記録されて、すぐにログ用メモリ2100がフルになってしまう可能性がある。そこで、同じエラーが発生して、既にログ用メモリ2100に記録されている場合には、同一のエラーログとして、エラーログのレベルを下げて、簡略化したエラーログをログ用メモリ2100に書込む。これによって、ログ用メモリ2100がメモリフルになるのをなるべく抑えるようにしてもよい。
【0180】
或いは、同じエラーが発生している場合は、通常よりもエラーログのレベルを上げて、詳細なエラーログを取得し、ログ用メモリ2100に書込んで、エラーの原因を究明し易くする。同時に、ログ用メモリ2100のメモリフルを早期に発生させて、緊急用フラグを立てたエラーログ格納要求を送出し易くして、エラーログをなるべく早く親機601に書込ませるようにしてもよい。
【0181】
(4)本実施の形態において画像形成装置として説明しているが、サービスを提供する機能を有する装置であれば、本発明の適用は画像形成装置に限定されない。例えば、サーバ機器にスキャナ、プリンタ等を接続して、画像形成装置と同等の機能を有するようにした構成を画像形成装置と読み換えても構わない。
【0182】
(5)本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
【0183】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0184】
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【0185】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【0186】
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。
【図面の簡単な説明】
【0187】
【図1】実施の形態に係る処理装置を含む画像形成システムの全体の構成を示すブロック図である。
【図2】図1中の画像形成装置の構成を示すブロック図である。
【図3】ジョブログの一例を示す表形式図である。
【図4】エラー時の画像形成装置における動作状況を記録したエラーログの一例を示す図である。
【図5】親機のログ収集を示す概念図である。
【図6】子機のジョブログの一例を示す表形式図である。
【図7】優先度テーブルの一例を示す図である。
【図8】ジョブログを収集して優先度テーブルを更新する処理の流れを示すフローチャートである。
【図9】親機のエラーログ受け付け可否判定動作を説明する概念図である。
【図10】親機自身のジョブログの一例を示す表形式図である。
【図11】優先度テーブルの一例を示す図である。
【図12】優先度の閾値と各種補正値の一例を示す図である。
【図13】第1の実施の形態におけるエラーログ受け付けの可否判定処理の流れを示すフローチャートである。
【図14】エラーログ格納要求を延期した場合の動作を説明するための概念図である。
【図15】エラーログ書込み待ちリストの一例を示す図である。
【図16】エラーログ書込み待ちリストの一例を示す図である。
【図17】第2の実施の形態におけるエラーログ取得決定処理の流れを示すフローチャートである。
【図18】図17の続きのフローチャートである。
【図19】第3の実施の形態におけるエラーログ取得決定処理の流れを示すフローチャートである。
【図20】図19の続きのフローチャートである。
【符号の説明】
【0188】
601 親機(画像形成装置)
602〜605 子機(画像形成装置)
2001 CPU
2002 RAM
2003 ROM
2004 HDD
2012 操作部
2100 ログ用メモリ

【特許請求の範囲】
【請求項1】
使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置において、
前記外部処理装置から送信された前記第1のログを受信する受信手段と、
前記受信手段によって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出手段と、
前記算出手段によって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定手段とを備えたことを特徴とする処理装置。
【請求項2】
前記処理装置自身の動作状況を判断する判断手段と、
前記判断手段によって判断された動作状況に応じて、前記優先度を補正する補正手段とをさらに備え、
前記決定手段は、前記補正手段によって補正された優先度に基づいて、前記第2のログを格納するか否かを決定することを特徴とする請求項1に記載の処理装置。
【請求項3】
操作者が情報を入力するための操作手段を備え、
前記補正手段は、前記操作手段が操作されている場合に優先度を補正することを特徴とする請求項2に記載の処理装置。
【請求項4】
前記補正手段は、前記処理装置で処理中のジョブの種類に応じて優先度を補正することを特徴とする請求項2に記載の処理装置。
【請求項5】
前記処理装置自身の前記第1のログを格納する格納手段と、
前記格納手段に格納された前記処理装置自身の第1のログを解析して、当該処理装置が使用される時間帯の頻度を算出する演算手段と、
前記演算手段によって算出された現在の時刻における使用頻度が一定の閾値以上の場合に、前記外部処理装置が前記処理装置に対して前記第2のログの格納を要求するためのログ格納要求を拒否する手段とを備えたことを特徴とする請求項1乃至4のいずれか一項に記載の処理装置。
【請求項6】
前記ログ格納要求を拒否した場合に、前記演算手段が求めた前記処理装置の使用頻度が一定の閾値未満の時間帯において当該ログ格納要求を再送するように前記外部処理装置に指示する手段を有することを特徴とする請求項5に記載の処理装置。
【請求項7】
前記ログ格納要求内に、優先して前記第2のログを格納することを指示する緊急用のフラグを有することを特徴とする請求項5または6に記載の処理装置。
【請求項8】
前記ログ格納要求を拒否した場合に、前記第2のログの格納を延期した外部処理装置が記載されたログ書込み待ちリストに、前記ログ格納要求が拒否された外部処理装置を追加する更新手段と、
前記ログ書込み待ちリストから外部処理装置を選択する選択手段と、
前記選択手段で選択された外部処理装置の第2のログを取得する取得手段とを備え、
前記取得手段で取得された第2のログを前記格納手段に格納することを特徴とする請求項5に記載の処理装置。
【請求項9】
前記処理装置の動作状況と前記演算手段によって求められた現在の時刻における使用頻度とに基づいて、前記取得手段の実行の可否を決めることを特徴とする請求項8に記載の処理装置。
【請求項10】
前記選択手段は、前記算出手段で算出された優先度に基づいて外部処理装置を選択することを特徴とする請求項8に記載の処理装置。
【請求項11】
前記選択手段が前記ログ書込み待ちリストから外部処理装置を選択するときに用いる前記優先度を補正する補正手段を備えたことを特徴とする請求項10に記載の処理装置。
【請求項12】
前記補正手段は、前記ログ格納要求の回数に基づいて前記優先度を補正することを特徴とする請求項11に記載の処理装置。
【請求項13】
前記補正手段は、前記ログ格納要求があった時間に基づいて前記優先度を補正することを特徴とする請求項11に記載の処理装置。
【請求項14】
使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置の制御方法であって、
前記外部処理装置から送信された前記第1のログを受信する受信工程と、
前記受信工程によって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出工程と、
前記算出工程によって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定工程とを備えたことを特徴とする処理装置の制御方法。
【請求項15】
使用頻度に関する情報を含む第1のログ、及び、エラーに関する情報を含む第2のログを送信する複数の外部処理装置に接続され、該各外部処理装置から前記第1及び第2のログを収集する処理装置の制御方法を実行するための、コンピュータで読み取り可能な制御プログラムであって、
前記外部処理装置から送信された前記第1のログを受信する受信ステップと、
前記受信ステップによって受信された第1のログから求められた前記外部処理装置の稼動状況に基づいて、当該外部処理装置の優先度を算出する算出ステップと、
前記算出ステップによって算出された優先度に基づいて、前記外部処理装置が送信した前記第2のログを格納するか否かを決定する決定ステップとを備えたことを特徴とする制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate