(57)【要約】【課題】精度良く障害の予兆を診断できる画像形成装置、予兆診断装置、予兆診断システム、及び予兆診断プログラム【解決手段】  電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、電子回路装置が有する機能を提供するために１又は複数の部品制御プログラムの実行手順を記述した機能プログラムとの実行状態を特徴付ける情報に基づいて電子回路装置に障害が生じる予兆の発生を監視する監視手段と、部品制御プログラムの異常な実行状態と、機能プログラムの異常な実行状態と異常な実行状態により生じる予兆とを因果関係により関連づけたモデルを用いて、監視手段が発生を監視する予兆を診断する診断手段とを備える。この構成によれば、監視対象とする予兆を生じさせる原因が、部品制御プログラムの異常な実行状態であるか、又は機能プログラムの異常な実行状態であるかを精度良く診断できる。【選択図】図５
2008160323.tif 000002
【特許請求の範囲】
【請求項１】
電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、前記電子回路装置が有する機能を提供するために１又は複数の前記部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて前記電子回路装置に障害が生じる予兆の発生を監視する監視手段と、
前記部品制御プログラムの異常な実行状態と、前記部品制御プログラムの異常な実行状態により生じる前記機能プログラムの異常な実行状態と前記異常な実行状態により生じる前記予兆とを因果関係により関連づけたモデルを用いて、前記監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴とする予兆診断装置。
【請求項２】
前記プログラムの実行状態を特徴付ける情報は、１又は複数の前記機能プログラムが記述した手順で実行され、かつ前記機能の提供のために１又は複数の前記部品制御プログラムの実行手順を記述した中間制御プログラムの実行状態を特徴付ける情報を含み、
前記モデルは、前記部品制御プログラムの異常な実行状態と、前記部品制御プログラムの異常な実行状態により生じる前記中間制御プログラムの異常な実行状態と、前記中間制御プログラムの異常な実行状態により生じる前記機能プログラムの異常な実行状態とを関連づけたモデルであることを特徴とする請求項１に記載の予兆診断装置。
【請求項３】
前記プログラムの実行状態を特徴付ける情報を収集する収集手段を更に備え、
前記監視手段は、前記収集手段が収集した情報に基づいて前記予兆が発生したか否かを判断し、
前記診断手段は、予兆が発生しないと前記監視手段が判断する場合には診断をせず、かつ予兆が発生したと判断する場合には前記予兆を診断することを特徴とする請求項１又は２に記載の予兆診断装置。
【請求項４】
前記プログラムの実行状態を特徴付ける情報は記憶部に記憶され、
前記収集手段は、前記予兆診断装置が実行する処理の量が所定の閾値を下回る場合に、前記記憶部に記憶された情報を収集することを特徴とする請求項３に記載の予兆診断装置。
【請求項５】
予兆が発生したと前記監視手段が判断する場合には、障害が生じる予兆を検出した旨の表示を行う表示手段を更に備えることを特徴とする請求項１から４のいずれかに記載の予兆監視装置。
【請求項６】
画像形成装置を構成する部品の制御手順を記述した部品制御プログラムと、前記画像形成装置が有する機能を提供するために１又は複数の前記部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて前記画像形成装置に障害が生じる予兆の発生を監視する監視手段と、
前記部品制御プログラムの異常な実行状態と、前記部品制御プログラムの異常な実行状態により生じる前記機能プログラムの異常な実行状態と前記異常な実行状態により生じる前記予兆とを因果関係により関連づけたモデルを用いて、前記監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴とする画像形成装置。
【請求項７】
電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、前記電子回路装置が有する機能を提供するために１又は複数の前記部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて前記電子回路装置に障害が生じる予兆の発生を監視する監視手段と、
前記部品制御プログラムの異常な実行状態と、前記部品制御プログラムの異常な実行状態により生じる前記機能プログラムの異常な実行状態と前記異常な実行状態により生じる前記予兆とを因果関係により関連づけたモデルを用いて、前記監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴とする予兆診断システム。
【請求項８】
コンピュータを、電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、前記電子回路装置が有する機能を提供するために１又は複数の前記部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて障害が生じる予兆の発生を監視する監視手段と、
前記部品制御プログラムの異常な実行状態と、前記部品制御プログラムの異常な実行状態により生じる前記機能プログラムの異常な実行状態と前記異常な実行状態により生じる前記予兆とを因果関係により関連づけたモデルを用いて、前記監視手段が発生を監視する予兆を診断する診断手段として機能させることを特徴とする予兆診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、予兆診断装置、予兆診断システム、及び予兆診断プログラムに関する。
【背景技術】
【０００２】
従来から、プログラムの実行制御のみならず、実行状態を診断できる電子制御装置が知られている。特に、所定の機能を実現するための機能実現プログラムと、機能実現プログラムの実行状態を診断する自己診断プログラムと、自己診断プログラムの診断結果に基づいて全体診断を行うプログラムとを実行することで、機能実現プログラムの実行処理において生じた不具合に影響を受けずに全体診断できる電子制御装置が知られている（例えば、特許文献１）。
【０００３】
この電子制御装置は、機能実現プログラムの実行時に、全体診断を行うプログラムの実行処理を割込み処理することで、機能実現プログラムの処理において生じた不具合に影響を受けずに診断できる。
【０００４】
また、複数のオブジェクトの状態を監視することで、オブジェクトにおける障害の発生、及び障害が発生したオブジェクトを判断できるオブジェクト監視方法が知られている（例えば、特許文献２）。
【０００５】
この方法は、監視対象とするオブジェクトの状態を通知する通知ステップと、通知ステップで通知されたオブジェクトの状態に基づいてオブジェクトにおける障害が発生したか否か、及び障害が発生したオブジェクトを判断する判断ステップとを有する方法である。
【特許文献１】特開２００２‐２２９７９２
【特許文献２】特開２００３‐２９６１４０
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的とするところは、精度良く障害の予兆を診断できる画像形成装置、予兆診断装置、予兆診断システム、及び予兆診断プログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明に係る予兆診断装置は、電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、電子回路装置が有する機能を提供するために１又は複数の部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて電子回路装置に障害が生じる予兆の発生を監視する監視手段と、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態と異常な実行状態により生じる予兆とを因果関係により関連づけたモデルを用いて、監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴としている。
【０００８】
上記構成において、プログラムの実行状態を特徴付ける情報は、１又は複数の機能プログラムが記述した手順で実行され、かつ機能の提供のために１又は複数の部品制御プログラムの実行手順を記述した中間制御プログラムの実行状態を特徴付ける情報を含み、モデルは、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる中間制御プログラムの異常な実行状態と、中間制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態とを関連づけたモデルである構成を採用できる。
【０００９】
上記構成において、プログラムの実行状態を特徴付ける情報を収集する収集手段を更に備え、監視手段は、収集手段が収集した情報に基づいて予兆が発生したか否かを判断し、診断手段は、予兆が発生しないと監視手段が判断する場合には診断をせず、かつ予兆が発生したと判断する場合には予兆を診断する構成を採用できる。
【００１０】
上記構成において、プログラムの実行状態を特徴付ける情報は記憶部に記憶され、収集手段は、予兆診断装置が実行する処理の量が所定の閾値を下回る場合に、記憶部に記憶された情報を収集する構成を採用できる。
【００１１】
上記構成において、予兆が発生したと監視手段が判断する場合には、障害が生じる予兆を検出した旨の表示を行う表示手段を更に備える構成を採用できる。
【００１２】
本発明に係る画像形成装置は、画像形成装置を構成する部品の制御手順を記述した部品制御プログラムと、画像形成装置が有する機能を提供するために１又は複数の部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて画像形成装置に障害が生じる予兆の発生を監視する監視手段と、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態と異常な実行状態により生じる予兆とを因果関係により関連づけたモデルを用いて、監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴としている。
【００１３】
本発明に係る予兆診断システムは、電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、電子回路装置が有する機能を提供するために１又は複数の部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて電子回路装置に障害が生じる予兆の発生を監視する監視手段と、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態と異常な実行状態により生じる予兆とを因果関係により関連づけたモデルを用いて、監視手段が発生を監視する予兆を診断する診断手段とを備えることを特徴としている。
【００１４】
本発明に係る予兆診断プログラムは、コンピュータを、電子回路装置を構成する部品の制御手順を記述した部品制御プログラムと、電子回路装置が有する機能を提供するために１又は複数の部品制御プログラムの実行手順を記述した機能プログラムとを含むプログラムの実行状態を特徴付ける情報に基づいて障害が生じる予兆の発生を監視する監視手段と、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態と異常な実行状態により生じる予兆とを因果関係により関連づけたモデルを用いて、監視手段が発生を監視する予兆を診断する診断手段として機能させることを特徴としている。
【発明の効果】
【００１５】
請求項１の構成によれば、監視対象とする予兆を生じさせる原因が、部品制御プログラムの異常な実行状態であるか、又は部品制御プログラムの実行手順を記述することで制御プログラムの実行状態に影響を受ける機能プログラムの異常な実行状態であるかを精度良く診断できる。
【００１６】
請求項２の構成によれば、機能プログラムが直接に部品プログラムの実行手順を記述しない場合であっても、監視対象とする予兆を生じさせる原因がどのプログラムの異常な実行状態であるかを精度良く診断できる。
【００１７】
請求項３の構成によれば、より少ない計算量で障害が生じる予兆を診断できる。
【００１８】
請求項４の構成によれば、予兆診断装置が実行する処理の量が所定の閾値を下回る場合に、障害の予兆の監視及び診断をすることができる。
【００１９】
請求項５の構成によれば、障害が生じる予兆が発生したことを容易に知ることができる。
【００２０】
請求項６の構成によれば、監視対象とする予兆を生じさせる原因が、部品制御プログラムの異常な実行状態であるか、又は部品制御プログラムの実行手順を記述することで制御プログラムの実行状態に影響を受ける機能プログラムの異常な実行状態であるかを精度良く診断できる。
【００２１】
請求項７の構成によれば、監視対象とする予兆を生じさせる原因が、部品制御プログラムの異常な実行状態であるか、又は部品制御プログラムの実行手順を記述することで制御プログラムの実行状態に影響を受ける機能プログラムの異常な実行状態であるかを精度良く診断できる。
【００２２】
請求項８の構成によれば、監視対象とする予兆を生じさせる原因が、部品制御プログラムの異常な実行状態であるか、又は部品制御プログラムの実行手順を記述することで制御プログラムの実行状態に影響を受ける機能プログラムの異常な実行状態であるかを精度良く診断できる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の最良の実施形態について、添付図面を参照しつつ説明する。
【実施例１】
【００２４】
図１は本発明に係る画像形成装置装置の一実施形態を示す構成図である。
本発明に係る画像形成装置１０００は、例えば、画像入力機能（スキャン機能）、印刷機能（プリント機能）、ファクシミリ機能（ＦＡＸ機能）、電子メール送信機能、及び複写機能（コピー機能）を有する電子回路装置で構成される。また、画像形成装置１０００は、障害の予兆を診断する予兆診断機能を有している。
【００２５】
画像形成装置１０００は、通信網１００に接続している。通信網１００は、例えば、ＬＡＮ（Local Area Network ）、ＷＡＮ（Wide Area Network）、ＭＡＮ（Metropolitan Area Network）、又は公衆回線網で構成される。
【００２６】
画像形成装置１０００は、画像読取部１０１０、画像処理部１０２０、ＦＡＸ通信部１０３０、制御部１０４０、画像形成制御部１０５０、画像形成部１０６０、通信部１０７０、記憶部１０８０、Ｕ／Ｉ制御部１０９０、入力部１１００、及び表示部１１１０で構成される。
【００２７】
画像読取部１０１０、画像処理部１０２０、ＦＡＸ通信部１０３０、制御部１０４０、画像形成制御部１０５０、画像形成部１０６０、及びＵ／Ｉ制御部１０９０の有する各機能は、画像形成装置１０００が実行するソフトウェア制御により実現される。
【００２８】
ここで図２を参照して、ソフトウェア制御を実行するための画像形成装置１０００のハードウェア構成について説明する。図２は、このソフトウェア制御を実現するための画像形成装置１０００のハードウェアの一構成例を表す図である。
【００２９】
画像形成装置１０００は、例えば、ＣＰＵ（Central Processing Unit）等の演算部１００１、ＥＰＲＯＭ（Erasable Programmable Read-Only Memory）又はＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の読み出し専用メモリであるＲＯＭ１００２（Read-Only Memory ）、ＤＲＡＭ（Dynamic  RAM）又はＳＲＡＭ（Static  RAM）等の揮発性メモリ及びＮＶＲＡＭ（Non Volatile RAM）等の不揮発性メモリで構成されるＲＡＭ１００３（Random Access Memory）、並びにハードディスク等で構成される外部記憶部１０８０４で構成され、演算部１００１、ＲＯＭ１００２、ＲＡＭ１００３、及び外部記憶部１０８０４は互いにバス１００５によって接続している。
【００３０】
ソフトウェア制御は、ＲＯＭ１００２又は外部記憶部１０８０４に格納したプログラムを演算部１００１が読み、読込んだプログラムに従って演算部１００１が演算を行うことにより上記各部の機能を実現する。なお、ＲＡＭ１００３には、演算結果のデータが書き込まれ、特にＮＶＲＡＭには、電源オフ時にバックアップが必要なデータが保存される。
【００３１】
ここで、図１に戻り、画像形成装置１０００の構成について引き続き説明する。
画像読取部１０１０は、例えば、スキャナ等で構成され、画像処理部１０２０及び制御部１０４０に接続している。画像読取部１０１０は、制御部１０４０に制御されて、読取対象とするシート状の原稿から、その原稿上に描かれた画像を光学的に読み取って原稿情報を取得し、取得した原稿情報をディジタル化した電子情報へ変換する。
【００３２】
画像読取部１０１０は、図示を省略するが、光源制御部、受光センサ部、及び画像信号補正処理部で構成されている。光源制御部は、原稿へ光を照射する光源を制御する。
【００３３】
受光センサ部は、例えば、ＣＭＯＳ（Complementary Metal-Oxide Semiconductor）イメージセンサ、又はＣＣＤ（Charge Coupled Device）イメージセンサで構成され、光源制御部により制御された光源が照射した光であって、原稿に照射した光の反射光を受光する。次に、受光センサ部は、受光した反射光に基づいて電気信号を出力することで原稿情報をディジタル化する。
【００３４】
画像信号補正処理部は、受光センサ部の出力した信号を補正し、補正した信号を電子原稿として画像処理部１０２０へ送信する。
【００３５】
尚、画像読取部１０１０及び後述する画像処理部１０２０は、画像読取部１０１０及び画像処理部１０２０が実行する処理をリアルタイム処理として実現するために、ＡＳＩＣ（Application Specific Integrated Circuit）により構成される。
【００３６】
画像処理部１０２０は、画像読取部１０１０及び制御部１０４０に接続しており、画像読取部１０１０から電子原稿を取得する。画像処理部１０２０は、取得した電子原稿を画像形成部１０６０の出力特性に合わせるための処理を行なう。
【００３７】
具体的には、画像処理部１０２０の実行する処理は、色を補正する処理、絵と文字とを分離する処理、下地を除去する処理、若しくは拡大又は縮小出力を実現するための拡大又は縮小処理を含む。
【００３８】
ＦＡＸ通信部１０３０は、例えば、ＦＡＸモデムとＦＡＸモデムを制御する制御回路とで構成され、通信網１００及び制御部１０４０に接続している。
【００３９】
ＦＡＸ通信部１０３０は、後述する画像読取部１０１０で読取られた画像を画像処理部１０２０及び制御部１０４０を介して取得する。次に、ＦＡＸ通信部１０３０は、取得した画像を圧縮し、圧縮したデータをＧ３又はＧ４等のプロトコルに従って通信網１００に送信する。
【００４０】
また、ＦＡＸ通信部１０３０は、同様に、データをＧ３又はＧ４等のプロトコルに従って受信し、受信したデータを伸長する。尚、ＦＡＸ通信部１０３０が伸長した情報は、制御部１０４０を介して画像形成制御部１０５０に送信され、画像形成制御部１０５０が制御する画像形成部１０６０により出力画像として印刷出力される。
【００４１】
制御部１０４０については後述する。
画像形成制御部１０５０は、制御部１０４０及び画像形成部１０６０に接続している。画像形成制御部１０５０は、制御部１０４０に制御されて画像形成部１０６０を制御する。特に、画像形成制御部１０５０は、画像形成部１０６０の画像形成動作をリアルタイムに制御処理するために設けられた画像形成部１０６０専用の制御部である。
【００４２】
画像形成部１０６０は、図示を省略するが、レーザ走査部、感光体ドラム、現像機、中間転写部、定着部、及び紙送り部で構成される。レーザ走査部は印刷出力する画像情報に基づいて電荷を有する感光体ドラムにレーザを照射し、レーザを照射された感光体ドラムの部分は電荷を失い、現像機は電荷を失うことが無かった感光体ドラムの部分にトナーを乗せ、中間転写部は感光体ドラム上のトナーを紙送り部が用紙トレイから送り出した印刷用紙へ転写し、定着部は転写したトナーを印刷用紙に定着させる。
【００４３】
通信部１０７０は、例えば、ネットワークカードで構成され、通信網１００及び制御部１０４０に接続している。通信部１０７０は、制御部１０４０から情報を取得し、取得した情報を通信網１００に対して送信する。また逆に、通信部１０７０は、通信網１００から、例えば、印刷出力する画像情報等の情報を受信し、受信した情報を制御部１０４０に出力する。
【００４４】
尚、通信部１０７０が受信した画像情報は、制御部１０４０を介して画像形成制御部１０５０に出力され、画像形成制御部１０５０が制御する画像形成部１０６０により出力画像として印刷出力される。
【００４５】
記憶部１０８０は、ＲＯＭ１００２、ＲＡＭ１００３、又は外部記憶部１００４で構成され、制御部１０４０に接続している。
【００４６】
ＲＯＭ１００２は、画像形成装置１０００の有する機能を提供するために演算部１００１が実行するファームフェアを格納する。尚、画像形成装置１０００の有する機能は、スキャン機能、複写機能、印刷（プリント）機能、ＦＡＸ機能、データ転送機能、待機機能、省電力機能、起動機能、又は予兆診断機能を含む。
【００４７】
ＲＡＭ１００３は、演算部１００１がファームフェアを実行する際に使用するワーク領域を提供する。外部記憶部１００４は、複写機能、プリント機能、及びＦＡＸ機能等の提供機能を提供する際に使用される画像情報、特に、電子ソートされて複写、又はプリントされる、若しくはＦＡＸ送受信される電子原稿等の画像情報を記憶する。
【００４８】
ここで図３を参照して、演算部１００１が実行するファームフェアについて説明する。図３は、ファームフェアの実行関係を説明するための図である。
【００４９】
演算部１００１が実行するファームフェアは、ソフトウェア・コンポーネントである部品制御プログラムと機能プログラムと中間制御プログラムとを含む。
【００５０】
部品制御プログラムは、画像形成装置（電子回路装置）１０００を構成する部品の制御手順（以下単に、部品制御手順と言う）を記述したプログラムである。
【００５１】
具体的には、部品制御プログラムは、画像形成部１０６０の制御手順を記述した画像形成制御プログラムＣＣ０１、画像読取部１０１０（スキャナ）の制御手順を記述したスキャナ制御プログラムＣＣ０２、画像処理部１０２０の制御手順を記述した画像処理制御プログラムＣＣ０３、通信部１０７０の制御手順を記述したネットワーク制御プログラムＣＣ０４、記憶部１０８０の制御手順を記述した記憶部制御プログラムＣＣ０５、及び演算部１００１を構成するＣＰＵ等に代わり処理を実行するアクセラレータの制御手順を記述したアクセラレータ制御プログラムＣＣ０６を含む。
【００５２】
機能プログラムは、画像形成装置（電子回路装置）１０００が有する機能の提供手順（以下単に、機能提供手順と言う）を記述したプログラムである。
【００５３】
具体的には、印刷機能（プリント機能）の提供手順を記述したプログラムであるプリントアプリケーションプログラムＣＡ０１、複写機能の提供手順を記述したプログラムである複写アプリケーションプログラムＣＡ０２、及び図示を省略するが予兆診断機能の提供手順を記述したプログラムである予兆診断アプリケーションプログラムＣＡ０３を含む。
【００５４】
尚、予兆管理装置１０００を使用するユーザの権限を管理するユーザ管理共通機能と、例えば、圧縮された画像情報等を通信網１００を通じて通信部１０７０が受信するネットワーク共通機能と、圧縮された画像情報をアクセラレータが伸長するデコンポーズ共通機能と、記憶部１０８０が記憶する画像情報を画像形成制御部１０５０が印刷出力するプリント共通機能とを提供することで、印刷機能は提供される。
【００５５】
また、ユーザ管理機能と、画像読取部１０１０を制御して画像情報を読取り、画像情報を記憶部１０８０に記憶させ、かつ記憶部１０８０が記憶した画像情報を画像形成制御部１０５０が印刷出力する複写共通機能と、画像情報に対して画像処理部１０２０が有するアクセラレータが画像処理を行う画像処理共通機能とを提供することで、複写機能は提供される。
【００５６】
中間制御プログラムは、１又は複数の機能プログラムが記述した手順で実行され、かつ機能の提供のために１又は複数の部品制御プログラムの実行手順（以下単に、中間制御手順と言う）を記述したライブラリプログラムである。
【００５７】
具体的には、中間制御プログラムは、ネットワークユーティリティプログラムＣＵ０１、プリントユーティリティプログラムＣＵ０２、デコンポーザユーティリティプログラムＣＵ０３、ユーザ管理ユーティリティプログラムＣＵ０４、複写ユーティリティプログラムＣＵ０５、及び画像処理ユーティリティプログラムＣＵ０６を含む。
【００５８】
ネットワークユーティリティプログラムＣＵ０１はネットワーク共通機能を、プリントユーティリティプログラムＣＵ０２はプリント出力共通機能を、デコンポーザユーティリティプログラムＣＵ０３はデコンポーズ共通機能を、ユーザ管理ユーティリティプログラムＣＵ０４はユーザ管理共通機能を、複写ユーティリティプログラムＣＵ０５は複写共通機能を、画像処理ユーティリティプログラムＣＵ０６は画像処理共通機能を提供する手順を記述する。
【００５９】
つまり、プリントユーティリティプログラムＣＵ０２は、プリントアプリケーションプログラムＣＡ０１が記述した手順で実行され、かつ印刷機能の提供のために画像形成制御プログラムＣＣ０１、及び記憶部制御プログラムＣＣ０５を実行する手順を記述する。
【００６０】
同様に、ネットワークユーティリティプログラムＣＵ０１、デコンポーザユーティリティプログラムＣＵ０３、及びユーザ管理ユーティリティプログラムＣＵ０４は、プリントアプリケーションプログラムＣＡ０１が記述した手順で実行される中間制御プログラムである。
【００６１】
また、ユーザ管理ユーティリティプログラムＣＵ０４、複写ユーティリティプログラムＣＵ０５、及び画像処理ユーティリティプログラムＣＵ０６は、複写アプリケーションプログラムＣＡ０２が記述した手順で実行される中間制御プログラムである。
【００６２】
更に同様に、ネットワークユーティリティプログラムＣＵ０１はネットワーク制御プログラムを、デコンポーザユーティリティプログラムＣＵ０３はアクセラレータ制御プログラムを、複写ユーティリティプログラムＣＵ０５は画像形成制御プログラム、スキャナ制御プログラム、及び記憶部制御プログラムを、並びに画像処理ユーティリティプログラムＣＵ０６は画像処理制御プログラム及びアクセラレータ制御プログラムを実行する手順を記述する。尚、ユーザ管理ユーティリティプログラムＣＵ０４については、部品制御プログラムの実行手順を記述しない。
【００６３】
尚、画像形成装置１０００が実行するプログラムは、機能プログラムが属するアプリケーション層ＬＡ、中間制御プログラムが属する中間層ＬＣ、及び部品制御プログラムが属する下位層ＬＳで構成される階層毎に分類できる。
【００６４】
ここで図４を参照して、機能プログラム、中間制御プログラム、及び部品制御プログラムが記述する手順について説明する。図４は、機能プログラム、中間制御プログラム、及び部品制御プログラムが記述する手順の一例を表す図である。
【００６５】
予兆診断アプリケーションプログラムＣＡ０３を除く機能プログラム、中間制御プログラム、及び部品制御プログラムは、所定のタイミングでそれぞれのプログラム（つまり自己）の実行状態を特徴付ける情報（以下単に、状態情報と言う）を、例えば、それぞれの電子ファイル毎に異なるファイル名のログファイルとして記憶部１０８０に出力する手順（以下単に、状態情報出力手順と言う）を記述する。
【００６６】
つまり、状態情報は、特定のソフトウェア・コンポーネントであるプログラムの実行状態を特徴付ける対象（つまり、オブジェクト）とする。
【００６７】
尚、所定のタイミングは、所定の時刻を経過したタイミング、所定の時間を経過したタイミング、並びに機能プログラムについては機能提供手順の、中間制御プログラムについては中間制御手順の、及び部品制御プログラムについては部品制御手順の実行が終了したタイミングを含む。
【００６８】
更に、部品制御プログラムが記述する状態情報出力手順において状態情報を収集するタイミングは、部品制御プログラムを実行する手順を記述する（つまり、直近上位の階層に属する）中間制御プログラムが記述する中間制御手順の実行が終了したタイミングを含む。
【００６９】
同様に、中間制御プログラムが記述する状態情報出力手順において状態情報を収集するタイミングは、中間制御プログラムを実行する手順を記述する（つまり、直近上位の階層に属する）機能プログラムが記述する機能提供手順の実行が終了したタイミングを含む。
【００７０】
また状態情報は、メモリリークに関する情報、スタック状態に関する情報、及び処理対象とする電子ファイルに関する情報を含む。
【００７１】
メモリリークに関する情報は、メモリリークの有無を含む。尚、メモリリークは、それぞれのプログラムを実行するために動的に割り当てた記憶部１０８０の領域が開放されずに残存することを言う。
【００７２】
上記実施例では、メモリリークに関する情報は、メモリリークの数を含むとして説明したが、これに限定される訳ではなく例えば、リークしたメモリのサイズを含む構成を採用できる。
【００７３】
具体例として、言語Ｃ＋＋で記述したソースプログラムをコンパイルして生成したオブジェクトプログラムを例に挙げると、コンピュータが new 演算を実行した回数から delete 演算を実行した回数を減算することでメモリリークの有無が得られる。
【００７４】
尚、アプリケーション層ＬＡに属する機能プログラムが記述する手順であって、より下位の階層である中間層ＬＣに属する中間制御プログラムを実行する手順は、new 演算 を用いて記述される。また、delete 演算 は、new 演算により動的に確保した領域を開放する手順を記述するために用いられる。
【００７５】
尚、中間層ＬＣに属する中間制御プログラムが下位層ＬＳに属する部品制御プログラムを実行する手順については同様に記述されるので説明を省略する
【００７６】
同様に、言語Ｃで記述したソースプログラムをコンパイルして生成したオブジェクトプログラムを例に挙げると、コンピュータが calloc、malloc、又は realloc 関数を呼び出す際の引数及び返値と、free 関数を呼び出す際の引数とに基づいて開放されずに残存する領域のサイズが得られる。
【００７７】
スタック状態に関する情報は、スタック領域使用量、イベント数、イベントフル時間、及びイベントフル率を含む。尚、スタック領域使用量は、例えば、所定のプログラムを実行するプロセス、又はスレッド等が使用するスタック領域の使用量である。
【００７８】
また、イベント数はそれぞれのプログラムの実行に用いられるイベントキューに積まれたイベントの数であり、イベントフル時間はイベントキューが格納可能なイベントの上限に継続的に達している時間であり、イベントフル率は所定の時間区間におけるイベントフル時間の割合である。
【００７９】
処理対象とする電子ファイルに関する情報は、処理対象とする電子ファイルの処理待ちファイル数を含む。例えば、機能プログラムの実行状態が正常であり、かつ機能プログラムが実行手順を記述する中間制御プログラムの実行状態が異常である場合には、中間制御プログラムの実行による処理を待つ電子ファイル数が減らないことにより、機能プログラムの実行による処理を待つ電子ファイル数も減らないと言う状況が生じ得る。
【００８０】
また例えば、機能プログラムの実行状態が異常であり、かつ機能プログラムが実行手順を記述する中間制御プログラムの実行状態が正常である場合には、中間制御プログラムの実行による処理を待つ電子ファイル数が減るが、機能プログラムの実行による処理を待つ電子ファイル数が減らないと言う状況が生じ得る。
【００８１】
また、機能プログラムは機能提供手順を、中間制御プログラムは中間制御手順を、及び部品制御プログラムは部品制御手順を記述する。特に、予兆診断アプリケーションプログラムＣＡ０３は、機能提供手順として予兆診断機能を提供する手順を記述する。
【００８２】
予兆診断機能を提供する手順は、状態情報を収集するための手順である収集手順、収集手順で収集した状態情報に基づいて電子回路装置１０００に障害が生じる予兆の発生を監視するための監視手順、監視手順で予兆を検出した旨を表示部１１１０に表示するための手順である警告手順、監視手順を実行することで検出した予兆を診断する診断手順を含む。
【００８３】
ここで、図１に戻り、画像形成装置１０００の構成について引き続き説明する。
Ｕ／Ｉ制御部１０９０は、制御部１０４０、入力部１１００、及び表示部１１１０に接続している。Ｕ／Ｉ制御部１０９０は、表示部１１１０の表示を制御し、入力部１１００により入力された信号に基づいて制御部１０４０へ各種命令を出力する。
【００８４】
入力部１１００は、例えば、タッチパネル、キーボード、又はマウスで構成され、Ｕ／Ｉ制御部１０９０に接続している。入力部１１００は、ユーザに操作されて複写機能、プリント機能、ＦＡＸ機能、及び予兆診断機能等の機能を選択し、選択した機能の提供を指示する信号等を入力する。
【００８５】
表示部１１１０は、例えば、液晶ディスプレイ又はＣＲＴ（Cathode Ray Tube）ディスプレイで構成され、Ｕ／Ｉ制御部１０９０に接続している。表示部１１１０は、Ｕ／Ｉ制御部１０９０に制御されて、各種の情報を表示する。尚、表示部１１１０が表示する情報については後述する。
【００８６】
制御部１０４０は、画像読取部１０１０、画像処理部１０２０、ＦＡＸ通信部１０３０、画像形成制御部１０５０、通信部１０７０、記憶部１０８０、及びＵ／Ｉ制御部１０９０に接続し、接続する各部を制御して、予兆診断機能を含む各種の機能を提供する。
【００８７】
ここで図５を参照して制御部１０４０の構成について説明する。図５は、制御部１０４０の一実施形態を表した図である。
【００８８】
制御部１０４０は、収集部１０４１、監視部１０４２、警告部１０４３、及び診断部１０４４で構成される。
【００８９】
収集部１０４１は、監視部１０４２、及び記憶部１０８０に接続している。収集部１０４１は、収集手順に従って、所定のタイミングで記憶部１０８０に出力された状態情報を収集する。収集部１０４１は、収集した状態情報を監視部１０４２に出力する。
【００９０】
尚、収集部１０４１は、予兆診断機能以外の機能を提供するための処理の実行速度に影響を及ぼさないような（つまり、リアルタイム性を損なわない）タイミングで、状態情報を収集する。
【００９１】
ここで、リアルタイム性を損なわないタイミングは、演算部１００１のＣＰＵ負荷が所定量よりも低い状態が所定期間を超えて継続したタイミングを含む。尚、収集部１０４１は、ＣＰＵ負荷を、処理を実行していないプロセス（アイドルプロセス）が全プロセスに占める割合に基づいて判断する。
【００９２】
リアルタイム性を損なわないタイミングの具体例としては、例えば、省電力機能の提供時刻を知らせる節電タイマの起動直後のタイミング、又は節電タイマの起動後に画像形成装置１０００が節電状態に移行する所定時間前のタイミングを挙げる。
【００９３】
ここで図６を参照して、収集部１０４１が収集手順に従って実行する収集処理について説明する。図６は、収集部１０４１が実行する収集処理の一例を表すフローチャートである。
【００９４】
先ず、収集部１０４１は、画像形成装置１０００が実行する全てのプログラムについてステップＳＴ００２及び００３の処理を実行したか否かを判断する（ステップＳＴ００１）。収集部１０４１は、全てのプログラムについて処理を実行したと判断する場合には収集処理を終了し、そうでない場合にはステップＳＴ００２の処理を実行する。
【００９５】
ステップＳＴ００１において、収集部１０４１は、全てのプログラムについて処理を実行していないと判断した場合には、処理対象としていないプログラムの内の１つ（以下の図６において単に、処理対象プログラムと言う）を処理対象とする（ステップＳＴ００２）。
【００９６】
次に、収集部１０４１は、処理対象プログラムの状態情報を記憶部１０８０から収集する（ステップＳＴ００３）。その後、収集部１０４１は、ステップＳＴ００１に戻り上記処理を繰り返す。
【００９７】
ここで図５に戻り、制御部１０４０の構成について引き続き説明する。
監視部１０４２は、収集部１０４１、警告部１０４３、及び記憶部１０８０に接続している。監視部１０４２は、収集部１０４１から状態情報を取得し、取得した状態情報に基づいて電子回路装置１０００に障害が生じる予兆が発生したか否かを判断し、予兆の発生を監視する。
【００９８】
尚、監視部１０４２は、予兆が検出されたか否か表す情報、及び予兆が生じたプログラムを識別する情報（以下単に、検出結果情報と言う）を警告部１０４３へ出力する。
【００９９】
具体例としては、監視部１０４２は、状態情報に含まれるメモリリークの有無を表す情報に基づいて、メモリリークが有ると判断する場合に障害が生じる予兆が発生したと判断する。
【０１００】
上記実施例では、メモリリークの有無に基づいて予兆の発生を判断する場合について説明したが、これに限定される訳ではなく、例えば、予めプログラム毎に設定された閾値を、状態情報に含まれるメモリリークの数又はサイズが上回った場合に予兆が発生したと判断する構成を採用できる。
【０１０１】
また、例えば、予めプログラム毎に設定された閾値を、状態情報に含まれるスタック領域使用量、イベント数、イベントフル時間、及びイベントフル率が上回った場合に予兆が発生したと判断する構成を採用できる。
【０１０２】
更に、例えば、予めプログラム毎に設定された閾値を、状態情報に含まれる処理待ちファイル数が上回った場合に予兆が発生したと判断する構成を採用できる。
【０１０３】
上記実施例では、状態情報に含まれる１つの情報にのみ基づいて予兆の発生を判断する場合について説明したが、これに限定される訳ではなく、例えば、状態情報に含まれる２つ以上の情報に基づいて予兆の発生を判断する構成を採用できる。
【０１０４】
具体的には、所定のある閾値を状態情報に含まれるメモリリークの数が超え、かつ所定の他の閾値を状態情報に含まれる処理待ちファイル数を超える場合に予兆が発生したと判断する構成を採用できる。
【０１０５】
ここで図７を参照して、監視部１０４２が監視手順に従って実行する監視処理について説明する。図７は、監視部１０４２が実行する監視処理の一例を表すフローチャートである。
【０１０６】
先ず、監視部１０４２は、全ての実行中のプログラムについてステップＳＴ１０２及び１０３の処理を実行したか否かを判断する（ステップＳＴ１０１）。監視部１０４２は、全ての実行中のプログラムについて処理を実行したと判断する場合にはステップＳＴ１０５の処理を、そうでない場合にはステップＳＴ１０２の処理を実行する。
【０１０７】
ステップＳＴ１０１において、監視部１０４２は、全ての実行中のプログラムについて処理を実行していないと判断した場合には、処理対象としていないプログラムの内の１つ（以下図７において、処理対象プログラムと言う）を処理対象とする（ステップＳＴ１０２）。
【０１０８】
次に、監視部１０４２は、処理対象プログラムの実行により生じたメモリリークの数が処理対象プログラムについて定められた閾値を超えるか否かを判断する（ステップＳＴ１０３）。監視部１０４２は、メモリリークの数が所定の閾値を超えると判断する場合にはステップＳＴ１０４の処理を、そうでない場合にはステップＳＴ１０１に戻り上記処理を繰り返す。
【０１０９】
ステップＳＴ１０３において、監視部１０４２は、メモリリークの数が所定の閾値を超えたと判断した場合には、障害が生じる予兆が発生したと判断する（ステップＳＴ１０４）。その後、監視部１０４２は、監視処理の実行を終了する。
【０１１０】
ステップＳＴ１０１において、監視部１０４２は、全ての実行中のプログラムについて処理を実行したと判断した場合には、予兆が発生していないと判断する（ステップＳＴ１０５）。その後、監視部１０４２は、監視処理の実行を終了する。
【０１１１】
ここで図５に戻り、制御部１０４０の構成について引き続き説明する。
警告部１０４３は、監視部１０４２、診断部１０４４、及びＵ／Ｉ制御部１０９０に接続している。警告部１０４３は、監視部１０４２から検出結果情報を取得する。
【０１１２】
警告部１０４３は、取得した情報が予兆発生を表すと判断する場合には、障害が生じる予兆を検出した旨の表示を表示するようＵ／Ｉ制御部１０９０を介して表示部１１１０を制御する。その後、警告部１０４３は、検出結果情報を診断部１０４４へ取得する。
【０１１３】
診断部１０４４は、警告部１０４３、記憶部１０８０、及びＵ／Ｉ制御部１０９０に接続している。診断部１０４４は、警告部１０４３から、検出結果情報を取得する。
【０１１４】
診断部１０４４は、取得した情報が予兆発生を表す情報である場合には発生した予兆を診断し、そうでない場合には予兆を診断しない。
【０１１５】
診断部１０４４は、部品制御プログラムの異常な実行状態と、部品制御プログラムの異常な実行状態により生じる中間制御プログラムの異常な実行状態と、中間制御プログラムの異常な実行状態により生じる機能プログラムの異常な実行状態と、プログラムの異常な実行状態により引起される予兆とを関連づけた因果関係により関連付けてモデル化した診断モデルを用いて、予兆を発生させる原因となったプログラムの異常状態を推定することで予兆を診断する。
【０１１６】
ここで、図８を参照して診断モデルについて説明する。図８は、診断モデルの構成例を概念的に表す図である。
【０１１７】
診断モデルは、実行状態ノードＮＡ０１及び０２、ＮＵ０２及び０５、並びにＮＣ０１及び０５と、状態情報ノードＮＡＥ１１から１３及び２１から２３、ＮＵＥ２１から２３及びＮＵＥ５１から５３、並びにＮＣＥ１１から１３及びＮＣＥ５１から５３（以下単に、状態情報ノードＮＡＥ１１等という）とで構成されるベイジアン・ネットワークモデルである。
【０１１８】
尚、ベイジアン・ネットワークモデルは、ノード間の定性的な依存関係である因果関係をグラフ構造によって表し、変数間の定量的な因果関係をその変数の間に定義される条件付き確率によって表すモデルである。
【０１１９】
状態情報ノードＮＡＥ１１等は、状態情報に基づく状態変数が対応し、収集部１０４１が収集した状態情報を、診断部１０４４が診断モデルに入力することで定まる。
【０１２０】
実行状態ノードＮＡ０１及び０２、ＮＵ０２及び０５、並びにＮＣ０１及び０５は、プリントアプリケーションプログラムＣＡ０１及び複写アプリケーションプログラムＣＡ０２、プリントユーティリティプログラムＣＵ０２及び複写ユーティリティプログラムＣＵ０５、画像形成制御プログラムＣＣ０１及び記憶部制御プログラムＣＣ０５の実行状態の正常異常を表す確率変数に対応する。
【０１２１】
特に、状態情報ノードＮＡＥ１１はプリントアプリケーションプログラムＣＡ０１の、状態情報ノードＮＡＥ２１は複写アプリケーションプログラムＣＡ０２の、状態情報ノードＮＵＥ２１はプリントユーティリティプログラムＣＵ０２の、状態情報ノードＮＵＥ５１は複写ユーティリティプログラムＣＵ０５の、状態情報ノードＮＣＥ１１は画像形成制御プログラムＣＣ０１の、及び状態情報ノードＮＣＥ５１は記憶部制御プログラムＣＣ０５の実行状態を特徴付ける状態情報に含まれる処理ファイル残数に基づく状態変数に対応する。
【０１２２】
同様に、状態情報ノードＮＡＥ１２及び２２、ＮＵＥ２２及び５２、ＮＣＥ１２及び５２は、それぞれのプログラムの実行状態を表すスタックキューイベントフル時間に基づく状態変数に対応する。
【０１２３】
更に同様に、状態情報ノードＮＡＥ１３及び２３、ＮＵＥ２３及び５３、ＮＣＥ１３及び５３は、それぞれのプログラムの実行状態を表すスタックキューイベントフル率に基づく状態変数に対応する。
【０１２４】
尚、図示を省略するが、診断モデルは、上記以外のプログラムの実行状態を表す状態ノード、及び上記以外のプログラムの状態情報に基づく状態変数を表す状態情報ノードを更に含む。
【０１２５】
ここで、下位層ＬＳに属する部品制御プログラムは中間層ＬＣに属する中間制御プログラムによって実行手順を記述されるので、部品制御プログラムの異常な実行状態が中間制御プログラムの実行状態に影響を与える。
【０１２６】
また同様に、中間層ＬＣに属する中間制御プログラムはアプリケーション層ＬＡに属する機能プログラムによって実行手順を記述されるので、中間制御プログラムの異常な実行状態は機能プログラムの実行状態に影響を与える。
【０１２７】
よって、診断モデルは、下位層ＬＳに属するプログラムに関するノード、中間層ＬＣに属するプログラムに関するノード、及びアプリケーション層ＬＡに属するプログラムに関するノードを関連付けた階層構造を有するモデルである。
【０１２８】
尚、下位層ＬＳに属するプログラムに関するノードは実行状態ノードＮＣ０１及び０５、並びに状態情報ノードＮＣＥ１１から１３、及び５１から５３を含み、中間層ＬＣに属するプログラムに関するノードは実行状態ノードＮＵ０２及び０５、並びに状態情報ノードＮＵＥ２１から２３、及び５１から５３を含み、アプリケーション層ＬＡに属するノードはプログラムに関する実行状態ノードＮＡ０１及び０２、並びに状態情報ノードＮＡＥ１１から１３、及び２１から２３を含む。
【０１２９】
本実施例においては、診断部１０４４が、これらの実行状態ノードに対応した確率を計算することで診断を行う。つまり、各ノードには、診断部１０４４が診断を行うために用いる確率テーブルを対応させる。
【０１３０】
障害診断を行うために用いる確率テーブルは、状態情報を診断モデルに入力する前の時点における（つまり事前の）、モデル化する対象としたプログラムの実行状態が異常又は正常である確率（つまり、事前確率）を保存する。
【０１３１】
また、確率テーブルが保存する確率は、ノード間の因果関係の強さを定量化して表す。具体的には、確率テーブルが保存する確率は、部品制御プログラム（又は中間制御プログラム）の実行状態が正常又は異常であることを条件として、中間制御プログラム（又は機能プログラム）の実行状態が正常又は異常となる条件付確率を含む。
【０１３２】
診断部１０４４は、診断モデルと事前確率とに基づいて状態情報を入力した後に、各ノードに対応した事後確率を確率伝播に基づいて算出することで診断を行う。尚、診断部１０４４は、事後確率を算出するために、診断モデルを解析するベイジアンネットワーク推論エンジンというソフトウェアを実行する。
【０１３３】
また、診断部１０４４が診断を行うために実行する処理を診断処理という。診断処理は、診断部１０４４が診断手順に従って実行する処理である。
【０１３４】
ここで図９を参照して、診断部１０４４が実行する診断処理の一例について説明する。図９は、診断部１０４４が実行する診断処理の一例を表すフローチャートである。
【０１３５】
先ず、診断部１０４４は、警告部１０４２から検出結果情報を取得する（ステップＳＴ２０１）。次に、診断部１０４４は、記憶部１０８０から状態情報を収集する（ステップＳＴ２０２）。
【０１３６】
上記実施例では、診断部１０４４は、記憶部１０８０から状態情報を収集する場合について説明したが、これに限定される訳ではなく、例えば、収集部１０４１が収集した状態情報を取得する構成を採用できる。
【０１３７】
また上記実施例では、診断部１０４４は、全てのプログラムの実行状態を特徴付ける状態情報を収集する構成を採用するがこれに限定される訳ではない。診断部１０４４は、少なくとも予兆が生じたプログラムの実行状態を特徴付ける状態情報を収集する構成であれば採用できる。尚、診断部１０４４は、ステップＳＴ２０１で取得した検出結果情報に含まれる識別情報に基づいて予兆が生じたプログラムを特定する。
【０１３８】
ステップＳＴ２０２を実行した後、診断部１０４４は、記憶部１０８０から予兆を診断するのに適した診断モデルを選択する（ステップＳＴ２０３）。次に、診断部１０４４は、記憶部１０８０からステップＳＴ２０３で選択した診断モデルを解析するために用いる事前確率を取得する（ステップＳＴ２０４）。
【０１３９】
診断部１０４４は、ステップＳＴ２０３で選択した診断モデルに、ステップＳＴ２０２で収集した状態情報と、ステップＳＴ２０４で取得した事前確率とを入力する（ステップＳＴ２０５）。
【０１４０】
次に、診断部１０４４は、診断モデルを解析することで、プログラムの実行状態が異常である事後確率を算出する（ステップＳＴ２０６）。その後、診断部１０４４は、事後確率に基づいて予兆の原因の候補を抽出する（ステップＳＴ２０７）。具体例としては、事後確率が高い順番に所定の個数だけ、予兆を引起す原因であると考えられる異常な実行状態にあるプログラムを抽出する。
【０１４１】
その後、診断部１０４４は、ステップＳＴ２０７で抽出した予兆の原因候補と、予兆の原因を解消するために取るべき措置とを表示するようＵ／Ｉ制御部１０９０を介して表示部１１１０を制御する（ステップＳＴ２０８）。その後、診断部１０４４は、診断処理を終了する。
【０１４２】
尚、予兆の原因を解消するために取るべき措置は、機能プログラムの動作のためのリソース配分、障害予兆の原因となる機能プログラムの停止及び退避等、障害が発生しないようにするための
自動最適化を実施する措置、及び機能を提供する優先順位の設定をする措置を含む。
【０１４３】
図５に戻り引き続き制御部１０４０について説明する。
制御部１０４０は、収集部１０４１、監視部１０４２、警告部１０４３、及び診断部１０４４を用いて、予兆診断機能を提供する。尚、制御部１０４０は、予兆診断アプリケーションプログラムＣＡ０３が記述する機能の提供手順に従って処理（以下単に、予兆診断処理と言う）を実行することで予兆診断機能を提供する。
【０１４４】
ここで、図１０を参照して、制御部１０４０が実行する予兆診断処理について説明する。図１０を参照して、制御部１０４０が実行する予兆診断処理の一例を表すフローチャートの一例である。
【０１４５】
先ず、制御部１０４０は、ユーザが入力部１１００を操作するなどして入力した終了通知を取得したか否かを判断する（ステップＳＴ３０１）。制御部１０４０は、終了通知を取得したと判断する場合には予兆診断処理の実行を終了し、そうでない場合にはステップＳＴ３０２の処理を実行する。
【０１４６】
ステップＳＴ３０１において、制御部１０４０は、終了通知を取得していないと判断した場合には、画像形成装置の処理量が所定の閾値を下回るか否かを判断する（ステップＳＴ３０２）。つまり、制御部１０４０は、リアルタイム性を損なわないタイミングであるか否かを判断する。
【０１４７】
制御部１０４０は、処理量が所定の閾値を下回ると判断する場合にはステップＳＴ３０３の処理を、そうでない場合にはステップＳＴ３０８の処理を実行する。
【０１４８】
ステップＳＴ３０２において、制御部１０４０は、処理量が所定の閾値を下回ると判断した場合には、制御部１０４０を構成する収集部１０４１が収集処理を実行する（ステップＳＴ３０３）。尚、収集処理については既に図６を用いて示したために説明を省略する。
【０１４９】
次に、制御部１０４０を構成する監視部１０４２は、監視処理を実行する（ステップＳＴ３０４）。尚、監視処理については既に図７を用いて示したために説明を省略する。
【０１５０】
その後、制御部１０４０は、監視部１０４２が予兆を検出したか否かを判断する（ステップＳＴ３０５）。制御部１０４０は、監視部１０４２が予兆を検出したと判断する場合にはステップＳＴ３０６の処理を実行し、そうでない場合にはステップＳＴ３０３に戻り上記処理を繰り返す。
【０１５１】
ステップＳＴ３０５において、制御部１０４０は、監視部１０４２が予兆を検出したと判断した場合には、制御部１０４０を構成する警告部１０４３が表示部１１１０に警告を表示するよう制御する（ステップＳＴ３０６）。
【０１５２】
次に、制御部１０４０を構成する診断部１０４４が診断処理を実行する（ステップＳＴ３０７）。その後、制御部１０４０は、ステップＳＴ３０８の処理を実行する。尚、診断処理については既に図９を用いて示したために説明を省略する。
【０１５３】
ステップＳＴ３０２において、制御部１０４０は、処理量が所定の閾値を下回らないと判断した場合には、又はステップＳＴ３０７の処理を実行した後には、所定時間スリープする（ステップＳＴ３０８）。その後、制御部１０４０は、ステップＳＴ３０１に戻り上記処理を繰り返す。
【０１５４】
本実施例においては、収集部１０４１が収集手段に相当し、監視部１０４２が監視手段に相当し、診断部１０４４が診断手段に相当し、表示部１１１０が表示手段に相当する。
【０１５５】
以下、本発明の第２の実施形態について説明する。
第２の実施例においては、本発明に係る予兆診断装置及び予兆診断システムの実施形態について説明する。
【実施例２】
【０１５６】
図１１は本発明に係る予兆診断装置及び予兆診断システムの一実施形態を示す構成図である。
本発明に係る予兆診断システム１０は、通信網１００、予兆診断装置５０００、１又は複数の画像形成装置９０００から９００ｎで構成される。
【０１５７】
通信網１００の構成、接続、及び機能は、実施例１で説明した通信網１００の構成、接続、及び機能と同様であるので説明を省略する。
【０１５８】
また、予兆診断装置５０００について説明する前に、画像形成装置９０００から９００ｎについて説明する。尚、画像形成装置９０００から９００ｎの構成は、それぞれほぼ同一の構成であるために画像形成装置９０００についてのみ説明する。
【０１５９】
画像形成装置９０００の構成及び機能は、実施例１で説明した画像形成装置１０００の構成及び機能とほぼ同一であるため、主に相違点について説明する。
【０１６０】
画像形成装置９０００は、通信網１００を介して予兆診断装置５０００と通信可能に接続している。画像形成装置９０００は、実施例１で説明した画像形成装置１０００と同様に、例えば、画像入力機能（スキャン機能）、印刷機能（プリント機能）、ファクシミリ機能（ＦＡＸ機能）、及び複製機能（コピー機能）を有するが、予兆診断機能を有しない電子回路装置で構成される。
【０１６１】
ここで、図１２を参照して、画像形成装置９０００の構成について説明する。図１２は、画像形成装置９０００の一実施形態を示す構成図である。
【０１６２】
画像形成装置９０００は、画像読取部９０１０、画像処理部９０２０、ＦＡＸ通信部９０３０、制御部９０４０、画像形成制御部９０５０、画像形成部９０６０、通信部９０７０、記憶部９０８０、Ｕ／Ｉ制御部９０９０、入力部９１００、及び表示部９１１０で構成される。
【０１６３】
画像読取部９０１０、画像処理部９０２０、ＦＡＸ通信部９０３０、画像形成制御部９０５０、画像形成部９０６０、通信部９０７０、記憶部９０８０、Ｕ／Ｉ制御部９０９０、入力部９１００、及び表示部９１１０の構成、接続、及び機能は、実施例１で説明した画像読取部１０１０、画像処理部１０２０、ＦＡＸ通信部１０３０、画像形成制御部１０５０、画像形成部１０６０、通信部１０７０、記憶部１０８０、Ｕ／Ｉ制御部１０９０、入力部１１００、及び表示部１１１０の構成、接続、及び機能と同様であるので、以下主に相違点について説明する。
【０１６４】
制御部９０４１の構成は、画像形成装置９０００は、予兆診断機能を有しないために、実施例１で示した制御部１０４０の構成と異なる。
【０１６５】
ここで、図１３を参照して制御部９０４０の構成について説明する。図１３は、実施例２における画像形成装置９０００が有する制御部９０４０の一実施形態を示す構成図である。
【０１６６】
制御部９０４０は、収集部９１０５で構成されている。収集部９１０５は、記憶部９０８０のみならず通信部９０７０にも接続する点で実施例１で示した制御部１０４０と異なる。収集部９１０５は、通信部９０７０から状態情報を収集することを命じる命令（以下単に、収集命令と言う）を取得したタイミングで、記憶部９０８０から状態情報を収集し、収集した状態情報を通信部９０７０へ出力する。
【０１６７】
ここで図１２に戻り画像形成装置９０００の構成について引き続き説明する。
通信部９０７０は、通信網１００を介して予兆診断装置５０００から収集命令を受信し、受信した命令を収集部９１０５へ出力する。
【０１６８】
次に、通信部９０７０は、収集部９１０５から状態情報を取得し、制御部９０４０に制御されて取得した状態情報を予兆診断装置５０００へ送信する。
【０１６９】
記憶部９０８０を構成するＲＯＭ１００２は、実施例１で説明した記憶部１０８０と異なり、予兆診断機能を提供するために使用されるモデル及びファームウェアを格納しない。
【０１７０】
次に、図１４を参照して、予兆診断装置５０００の構成について説明する。図１４は、実施例２における予兆診断装置の一実施形態を示す構成図である。
【０１７１】
予兆診断装置５０００は、制御部５０４０、通信部５０７０、記憶部５０８０、Ｕ／Ｉ制御部５０９０、入力部５１００、及び表示部５１１０で構成されている。
【０１７２】
制御部５０４０、通信部５０７０、記憶部５０８０、Ｕ／Ｉ制御部５０９０、入力部５１００、及び表示部５１１０の構成及び機能は、実施例１で説明した制御部１０４０、通信部１０７０、記憶部１０８０、Ｕ／Ｉ制御部１０９０、入力部１１００、及び表示部１１１０の接続、構成、及び機能とほぼ同一であるため、以下主に相違点について説明する。
【０１７３】
予兆診断装置５０００は、実施例１で説明した画像形成装置１０００と異なり、例えば、画像入力機能（スキャン機能）、印刷機能（プリント機能）、ファクシミリ機能（ＦＡＸ機能）、及び複製機能（コピー機能）を有しない。
【０１７４】
しかし、予兆診断装置５０００は、実施例１で説明した画像形成装置１０００と同様に、電子回路装置である画像形成装置９０００に障害が生じる予兆の監視、及び予兆の診断を行う予兆診断機能を有する。
【０１７５】
制御部５０４０、及びＵ／Ｉ制御部５０９０の有する各機能は、予兆診断装置５０００が実行するソフトウェア制御により実現できる。尚、ソフトウェア制御を実行するための予兆診断装置５０００の構成は、実施例１で説明した画像形成装置１０００の構成と同様であるので説明を省略する。
【０１７６】
通信部５０７０は、通信網１００及び制御部５０４０に接続している。通信部５０７０は、制御部５０４０に制御されて画像形成装置９０００へ収集命令を出力する。
【０１７７】
次に、通信部５０７０は、通信網１００から画像形成装置９０００が送信した状態情報を取得し、取得した状態情報を制御部５０４０へ出力する。
【０１７８】
制御部５０４０について説明する前に、記憶部５０８０、Ｕ／Ｉ制御部５０９０、入力部５１００、及び表示部５１１０について説明する。
【０１７９】
記憶部５０８０は制御部５０４０に接続し、Ｕ／Ｉ制御部５０９０は制御部５０４０、入力部５１００、及び表示部５１１０に接続し、入力部５１００はＵ／Ｉ制御部５０９０に接続し、表示部５１１０はＵ／Ｉ制御部５０９０に接続している。
【０１８０】
記憶部５０８０を構成するＲＯＭ１００２が格納するファームフェアは、予兆診断機能を提供する手順を記載したプログラムを含む。
【０１８１】
制御部５０４０は、通信部５０７０、記憶部５０８０、及びＵ／Ｉ制御部５０９０に接続している。制御部５０４０は、予兆診断機能を提供する。
【０１８２】
ここで、図１５を参照して、制御部５０４０の構成について説明する。図１５は、制御部５０４０の一実施形態を示す構成図である。
【０１８３】
制御部５０４０は、収集部５０４１、監視部５０４２、警告部５０４３、及び診断部５０４４で構成される。収集部５０４１、監視部５０４２、警告部５０４３、及び診断部５０４４の構成、接続、及び機能は、実施例１で説明した監視部１０４２、警告部１０４３、及び診断部１０４４の構成、接続、及び機能と同様であるので、以下主に、相違点について説明する。
【０１８４】
また、収集部５０４１及び監視部５０４２は、更に通信部５０７０に接続する点で実施例１と異なる。
【０１８５】
収集部５０４１は、リアルタイム性を損なわないタイミングで、収集命令を通信部５０７０へ出力する。その後、収集部５０４１は、通信部５０７０が受信した状態情報を取得する。これにより、収集部５０４１は、画像形成装置９０００が有する記憶部に記憶された状態情報を収集する。
【０１８６】
監視部５０４２は、通信部５０７０から画像形成装置９０００の状態情報を取得し、取得した状態情報に基づいて画像形成装置９０００に障害が生じる予兆の発生を監視する。
【０１８７】
また、診断部２１０６も同様に、更に通信部５０７０に接続する点で実施例１と異なる。診断部２１０６は、通信部５０７０から状態情報を取得し、取得した状態情報を障害診断モデルに入力することで予兆診断を行う。
【０１８８】
本実施例においては、収集部５０４１が収集手段に相当し、監視部５０４２が監視手段に相当し、診断部５０４４が診断手段に相当し、表示部５１１０が表示手段に相当する。
【０１８９】
障害予兆装置１０００は、機能的には、演算部１００１がＲＯＭ１００２、ＲＡＭ１００３、外部記憶部１００４の少なくともひとつに格納されたプログラムを実行することにより実現できる。また、このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供できる。
【０１９０】
上記実施形態では、電子回路装置が実行するプログラムは、機能プログラムが属するアプリケーション層ＬＡ、中間制御プログラムが属する中間層ＬＣ、及び部品制御プログラムが属する下位層ＬＳで構成される３階層毎に分類されるとして説明したが、これに限定される訳ではない。
【０１９１】
電子回路装置が実行するプログラムは、例えば、４階層以上の階層に分類され、それぞれの階層に属するプログラムは、より下位の階層に属するプログラムを実行する手順を記述し、かつより上位の階層に属するプログラムにより実行手順が記述される構成を採用できる。
【０１９２】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【０１９３】
上記実施形態では、外部記憶装置はハードディスク（Hard Disk）で構成されるとして説明したが、これに限定されるわけではなく、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）、ＤＶＤ−ＲＡＭ（Digital Versatile Disk Random Access Memory）、ＭＯ（magneto-optic）、及び、フラッシュメモリ（flash memory）で構成される実施形式を採用できる。
【図面の簡単な説明】
【０１９４】
【図１】本発明に係る画像形成装置の一実施形態を示す構成図である。
【図２】ソフトウェア制御を実現するための画像形成装置のハードウェアの一構成例を表す図である。
【図３】ファームフェアの実行関係を説明するための図である。
【図４】機能プログラム等が記述する手順の一例を表す図である
【図５】制御部の一実施形態を表した図である。
【図６】収集部が実行する収集処理の一例を表すフローチャートである。
【図７】監視部が実行する監視処理の一例を表すフローチャートである。
【図８】診断モデルの構成例を概念的に表す図である。
【図９】診断部が実行する診断処理の一例を表すフローチャートである。
【図１０】制御部が実行する予兆診断処理の一例を表すフローチャートの一例である。
【図１１】本発明に係る予兆診断装置及び予兆診断システムの一実施形態を示す構成図である。
【図１２】実施例２における画像形成装置の一実施形態を示す構成図である。
【図１３】実施例２における画像形成装置を構成する制御部の一実施形態を示す構成図である。
【図１４】実施例２における予兆診断装置の一実施形態を示す構成図である。
【図１５】実施例２における予兆診断装置を構成する制御部５０４０の一実施形態を示す構成図である。
【符号の説明】
【０１９５】
１０…予兆診断システム
１００…通信網
１０００…画像形成装置（電子回路装置）
１００１…演算部
１００２…ＲＯＭ
１００３…ＲＡＭ
１００４…外部記憶部
１００５…バス
１０１０…画像読取部
１０２０…画像処理部
１０３０…ＦＡＸ制御部
１０４０…制御部
１０４１…収集部（収集手段）
１０４２…監視部（監視手段）
１０４３…警告部
１０４４…診断部（診断手段）
１０５０…画像形成制御部
１０６０…画像形成部
１０７０…通信部
１０８０…記憶部
１０９０…Ｕ／Ｉ制御部
１１００…入力部
１１１０…表示部（表示手段）
５０００…予兆診断装置
５０４０…制御部
５０４１…収集部（収集手段）
５０４２…監視部（監視手段）
５０４３…警告部
５０４４…診断部（診断手段）
５０７０…通信部
５０８０…記憶部
５０９０…Ｕ／Ｉ制御部
５１００…入力部
５１１０…表示部（表示手段）
９０００〜ｎ…画像形成装置（電子回路装置）
９０１０…画像読取部
９０２０…画像処理部
９０３０…ＦＡＸ制御部
９０４０…制御部
９０４１…収集部
９０５０…画像形成制御部
９０６０…画像形成部
９０７０…通信部
９０８０…記憶部
９０９０…Ｕ／Ｉ制御部
９１００…入力部
９１１０…表示部
ＣＡ０１…プリントアプリケーションコンポーネント
ＣＡ０２…複写アプリケーション
ＣＡ０３…予兆診断アプリケーション
ＣＣ０１…画像制御コンポーネント
ＣＣ０２…スキャナ制御コンポーネント
ＣＣ０３…画像処理制御コンポーネント
ＣＣ０４…ネットワーク制御コンポーネント
ＣＣ０５…ストレージ制御コンポーネント
ＣＣ０６…アクセラレータ制御コンポーネント
ＣＵ０１…ネットワークユーティリティコンポーネント
ＣＵ０２…プリントユーティリティコンポーネント
ＣＵ０３…デコンポーザユーティリティコンポーネント
ＣＵ０４…ユーザ管理ユーティリティコンポーネント
ＣＵ０５…複写ユーティリティコンポーネント
ＣＵ０６…画像処理ユーティリティコンポーネント
【図１】
2008160323.tif 000003
【図２】
2008160323.tif 000004
【図３】
2008160323.tif 000005
【図４】
2008160323.tif 000006
【図５】
2008160323.tif 000007
【図６】
2008160323.tif 000008
【図７】
2008160323.tif 000009
【図８】
2008160323.tif 000010
【図９】
2008160323.tif 000011
【図１０】
2008160323.tif 000012
【図１１】
2008160323.tif 000013
【図１２】
2008160323.tif 000014
【図１３】
2008160323.tif 000015
【図１４】
2008160323.tif 000016
【図１５】
2008160323.tif 000017