(57)【要約】【課題】障害診断モデルの情報を記憶するための記憶領域を節減する。【解決手段】障害診断対象の機器の一部の構成要素における障害発生の因果関係が前記機器の動作モードによって変化する場合に、前記機器が第１動作モードのときの各構成要素における障害発生の因果関係(図に実線矢印で示す因果関係)を表す因果ネットワークを、障害診断モデルの本体データとして記憶すると共に、前記一部の構成要素について、前記機器が第２動作モードのときの他ノードとの因果関係(図に破線矢印で示す因果関係)を表す情報を、障害診断モデルのサブデータとして記憶しておき、障害発生時の動作モードが第１動作モードであれば障害診断モデルの本体データをそのまま用いて障害診断を行い、障害発生時の動作モードが第２動作モードであれば障害診断モデルの本体データの一部をサブデータで書替え、書替えたデータを用いて障害診断を行う。【選択図】図２
2008282254.tif 000002
【特許請求の範囲】
【請求項１】
診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数の第１ノードを含み、個々の第１ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶する第１記憶手段と、
前記一部の構成要素における障害発生の有無を表す一部の第１ノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を記憶する第２記憶手段と、
前記診断対象の動作モード又は動作タイミングを検出する検出手段と、
前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部の第１ノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替える書替手段と、
前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段と、
を含む障害診断装置。
【請求項２】
前記因果関係情報は、自ノードと障害発生に直接の因果関係を有する特定の他ノードのうち、障害発生が自ノードの障害発生の原因となる自ノードの親ノードを規定する親ノード情報と、当該親ノードが故障発生有り及び故障発生無しの各条件毎の自ノードの障害発生確率を表す条件付き確率情報を含んで構成されており、
前記第２記憶手段に記憶されている因果関係情報は、前記親ノード情報が規定する親ノードと、前記条件付き確率情報が表す前記各条件毎の自ノードの障害発生確率が、前記第１記憶手段に記憶されている前記障害診断モデルの情報に含まれる、対応する因果関係情報と各々相違していることを特徴とする請求項１記載の障害診断装置。
【請求項３】
前記複数の構成要素は、障害発生が前記診断対象の観測可能な障害発生の原因となる構成要素であり、
前記第１記憶手段は、前記障害診断モデルとして、前記複数の構成要素の各々における障害発生及び前記診断対象の観測可能な障害発生の因果関係を、複数の前記第１ノードに加えて前記診断対象における観測可能な障害発生の有無を表す第２ノードを含み、個々のノードに前記条件付き確率情報を含んで構成された前記因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶し、
前記診断手段は、前記観測された前記診断対象の障害発生に基づき、前記個々のノードに付加されている因果関係情報に含まれる前記条件付き確率情報に従い、個々の第１ノードの障害発生確率を演算し、個々の第１ノードが表す障害発生の有無を判断することで、前記診断対象の障害診断を行うことを特徴とする請求項２記載の障害診断装置。
【請求項４】
前記診断対象の観測可能な障害発生を検知する検知手段を更に備え、
前記書替手段は、前記検知手段によって前記診断対象の障害発生が検知された場合に、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を書替えるか否かを判定することを特徴とする請求項１記載の障害診断装置。
【請求項５】
前記障害診断モデルの情報を前記第１記憶手段から読み込み、読み込んだ前記障害診断モデルの情報を前記障害診断装置が稼働している間中メモリに記憶させる管理手段を更に備え、
前記書替手段は、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときに、前記第２記憶手段から前記因果関係情報を読み込み、前記障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報の書替えを行うことを特徴とする請求項１記載の障害診断装置。
【請求項６】
前記第２記憶手段には、前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングに対応する前記因果関係情報に加えて、前記特定の動作モード又は特定の動作タイミングに対応する前記因果関係情報も記憶されており、
前記書替手段は、前記メモリに記憶されている障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報を、前記第２記憶手段から読み込んだ前記因果関係情報で上書きすることで、前記因果関係情報の書替えを行うと共に、前記因果関係情報の書替えを一旦行った後は、前記検出手段によって検出された前記診断対象の動作モード又は動作タイミングが、前記診断対象の障害診断を前回行った際の動作モード又は動作タイミングと相違しているか否か判定し、相違している場合に、対応する前記因果関係情報を前記第２記憶手段から読み込み、前記メモリに記憶されている障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報を、前記読み込んだ前記因果関係情報で再度上書きすることを特徴とする請求項５記載の障害診断装置。
【請求項７】
前記診断対象は、前記複数の構成要素から成る機器又は回路基板、或いは、前記複数の構成要素としての複数のソフトウェア・コンポーネントから成るプログラムであることを特徴とする請求項１記載の障害診断装置。
【請求項８】
診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を第１記憶手段に記憶させておくと共に、
前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を第２記憶手段に記憶させておき、
前記診断対象の障害発生が観測された場合に、前記診断対象の動作モード又は動作タイミングを検出し、検出した前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、検出した前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替え、
前記因果関係情報の書替えを行わなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記因果関係情報の書替えを行った場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う障害診断方法。
【請求項９】
診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化すると共に、前記診断対象の動作モード又は動作タイミングを検出する検出手段が設けられた前記診断対象に内蔵されるか、又は、前記診断対象と通信回線を介して接続され、
前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報が第１記憶手段に記憶され、
前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報が第２記憶手段に記憶されたコンピュータを、
前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替える書替手段、
及び、前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段
として機能させるための障害診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は障害診断装置、方法及びプログラムに係り、特に、障害診断モデルを用いて診断対象の障害診断を行う障害診断装置、当該障害診断装置に適用可能な障害診断方法、及び、コンピュータを障害診断装置として機能させるための障害診断プログラムに関する。
【背景技術】
【０００２】
複写機やプリンタ等のオフィス機器は、障害発生時に原因特定等の障害診断を速やかに行って障害を解消（修復）することで、障害発生時の生産性の低下を必要最小限に抑制し、高い生産性を実現することが求められているが、この種の機器は部品点数が多く、障害診断・解消には多大な労力を要する。また、自動車や航空、ロボットや半導体設計装置等の他の産業機器についても、同様に部品点数が多いため障害発生の頻度が高い一方、障害発生時の障害診断・解消に多大な労力を要する。このため、従来より、ベイジアンネットワーク(Bayesian Network)等の因果ネットワークから成る障害診断モデルを利用して障害診断を自動化する技術が提案されている（例えば特許文献１を参照）。
【０００３】
また、特許文献１に記載の技術では、診断プログラムの質問に答える形で、プリンタや印刷物を直接観察して得た情報を顧客が入力する方式であるので、観察する顧客が慣れていない場合、入力情報に大きなばらつきが生じ、正確な診断ができず重大な誤診断を招く可能性があると共に、顧客にストレスを与える可能性もある。これらの問題を解決する技術として、特許文献２には、診断対象機器が各々異なる動作条件の元で動作している間の動作状態を示す動作状態信号を自動で取得し、取得した各々の動作状態信号を、装置の障害を引き起こす原因をモデル化して解析することで、障害診断を行う技術が開示されている。特許文献２に記載の技術は、プリンタの状態や印刷物の特徴等を自動取得し、障害診断モデルに入力して障害診断を行うため、正確でユーザストレスを与えることなく障害診断を行うことが可能である。
【特許文献１】特開２００１−７５８０８号公報
【特許文献２】特開２００５−３０９０７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ベイジアンネットワーク等の因果ネットワークから成る障害診断モデルは、診断対象機器を構成する複数の構成要素の各々における障害発生の有無を表す複数のノードを、個々のノード（構成要素）における障害発生の因果関係を表す一定方向のリンクでリンク付けすると共に、個々のノードに、自ノードと他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加することで構成される。しかし、診断対象機器の中には、当該機器の一部の構成要素の間で双方向の通信（信号の送受）行われ、当該構成要素の間の通信の方向が診断対象機器の動作モード又は動作タイミングによって変化する構成のものがある。この場合、双方向の通信が行われる構成要素の対における障害発生の因果関係は、障害発生時点での前記構成要素の対の間での通信の方向、すなわち診断対象機器の動作モード又は動作タイミングによって変化する。
【０００５】
これに対し、ベイジアンネットワーク等の因果ネットワークは双方向の因果関係を表現できないので、上記のように構成要素の一部における障害発生の因果関係が動作モードや動作タイミングによって変化する構成の機器を対象として障害診断を行う場合には、各種の動作モードや動作タイミングに対応する複数の障害診断モデル（一部のノードの因果関係が互いに異なる障害診断モデル）を用意し、障害発生時の動作モードや動作タイミングに対応する障害診断モデルを選択的に読み出して障害診断に用いる必要があり、障害診断モデルを記憶するための記憶領域として膨大な記憶容量の記憶領域が必要になる、という問題があった。
【０００６】
本発明は上記事実を考慮して成されたもので、障害診断モデルの情報を記憶するための記憶領域を節減できる障害診断装置、障害診断方法及び障害診断プログラムを得ることが目的である。
【課題を解決するための手段】
【０００７】
上記目的を達成するために請求項１記載の発明に係る障害診断装置は、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数の第１ノードを含み、個々の第１ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶する第１記憶手段と、前記一部の構成要素における障害発生の有無を表す一部の第１ノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を記憶する第２記憶手段と、前記診断対象の動作モード又は動作タイミングを検出する検出手段と、前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部の第１ノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替える書替手段と、前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段と、を含んで構成されている。
【０００８】
請求項１記載の発明では、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象について、診断対象が特定の動作モード又は特定の動作タイミングのときの複数の構成要素の各々における障害発生の因果関係を、複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数の第１ノードを含み、個々の第１ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報が第１記憶手段に記憶されている。なお、上記のように、一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象としては、前記一部の構成要素が、診断対象の動作モード又は動作タイミングによって通信方向の異なる双方向通信を行う構成の診断対象が挙げられ、具体的には、例えば請求項７に記載したように、複数の構成要素から成る機器又は回路基板、或いは、複数の構成要素としての複数のソフトウェア・コンポーネントから成るプログラムを適用することができる。
【０００９】
また、請求項１記載の発明では、一部の構成要素における障害発生の有無を表す一部の第１ノードの各々について、診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報が第２記憶手段に記憶されている。なお、第２記憶手段には単一の因果関係情報を記憶することに限られるものではなく、特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングが複数種存在している場合、特定の動作モード又は特定の動作タイミングと異なる複数種の動作モード又は動作タイミングの何れかに各々対応する複数種の因果関係情報を第２記憶手段に記憶させることができる。
【００１０】
そして、請求項１記載の発明では、診断対象の動作モード又は動作タイミングを検出手段が検出し、書替手段は、診断対象の障害発生が観測された場合に、検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第１記憶手段から読み出した障害診断モデルの情報のうち、一部の第１ノードに付加されている因果関係情報を、第２記憶手段から読み出した対応する因果関係情報で書替え、診断手段は、書替手段によって因果関係情報の書替えが行われなかった場合は第１記憶手段から読み出した障害診断モデルの情報を用い、書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、診断対象の障害診断（例えば個々の構成要素における障害発生確率の推定や、障害発生確率が閾値以上の構成要素の抽出等）を行う。
【００１１】
このように、請求項１記載の発明では、診断対象の複数の構成要素のうち、障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する一部の構成要素についてのみ、診断対象が特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときの因果関係情報を第２記憶手段に記憶しておき、検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第１記憶手段から読み出した障害診断モデルの情報の一部を第２記憶手段から読み出した因果関係情報で書替えて診断対象の障害診断に用いるので、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する場合にも、診断対象の個々の動作モード又は動作タイミングに対応する複数の障害診断モデルの情報を記憶する必要がなくなる。従って、請求項１記載の発明によれば、障害診断モデルの情報を記憶するための記憶領域（本発明を実施するために必要な第１記憶手段及び第２記憶手段の記憶領域）を節減することができる。
【００１２】
なお、請求項１記載の発明において、因果関係情報は、例えば請求項２にも記載したように、自ノードと障害発生に直接の因果関係を有する特定の他ノードのうち、障害発生が自ノードの障害発生の原因となる自ノードの親ノードを規定する親ノード情報と、当該親ノードが故障発生有り及び故障発生無しの各条件毎の自ノードの障害発生確率を表す条件付き確率情報を含んで構成してもよい。この場合、第２記憶手段に記憶されている因果関係情報が、親ノード情報が規定する親ノードと、条件付き確率情報が表す各条件毎の自ノードの障害発生確率が、第１記憶手段に記憶されている障害診断モデルの情報に含まれる、対応する因果関係情報と各々相違することになる。個々の第１ノードに付加する因果関係情報が上記の親ノード情報及び条件付き確率情報を含んでいる因果ネットワークは、所謂ベイジアンネットワークであり、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を上記の条件付き確率情報で表すことで、診断手段による診断対象の障害診断の精度を向上させることができる。
【００１３】
また、請求項２記載の発明において、複数の構成要素としては、例えば請求項３に記載したように、障害発生が診断対象の観測可能な障害発生の原因となる構成要素を適用することができ、この場合、第１記憶手段には、障害診断モデルとして、複数の構成要素の各々における障害発生及び診断対象の観測可能な障害発生の因果関係を、複数の第１ノードに加えて診断対象における観測可能な障害発生の有無を表す第２ノードを含み、個々のノードに条件付き確率情報を含んで構成された因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を記憶させることができる。そしてこの場合、診断手段を、観測された診断対象の障害発生に基づき、個々のノードに付加されている因果関係情報に含まれる条件付き確率情報に従い、個々の第１ノードの障害発生確率を演算し、個々の第１ノードが表す障害発生の有無を判断することで、診断対象の障害診断を行うように構成することができる。これにより、複数の構成要素の各々における障害発生の因果関係のみならず、各構成要素における障害発生と診断対象の観測可能な障害発生との因果関係も障害診断モデル上で表されるので、観測された診断対象の障害発生から、診断手段による障害診断によって個々の構成要素における障害発生の有無を判断することができる。
【００１４】
また、請求項１記載の発明において、診断対象の障害発生を観測（認識）したオペレータによって診断対象の障害発生を入力させるようにしてもよいが、例えば請求項４に記載したように、診断対象の観測可能な障害発生を検知する検知手段を設け、書替手段を、検知手段によって診断対象の障害発生が検知された場合に、第１記憶手段から読み出した障害診断モデルの情報のうち、一部のノードに付加されている因果関係情報を書替えるか否かを判定するように構成してもよい。この場合、診断対象の障害発生を観測する必要が無くなるので、オペレータの負担を軽減することができる。
【００１５】
また、請求項１記載の発明において、例えば請求項５にも記載したように、障害診断モデルの情報を第１記憶手段から読み込み、読み込んだ障害診断モデルの情報を障害診断装置が稼働している間中メモリに記憶させる管理手段を更に設け、書替手段を、検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているときに、第２記憶手段から因果関係情報を読み込み、障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報の書替えを行うように構成することが好ましい。
【００１６】
従来のように、診断対象の各種の動作モードや動作タイミングに対応して複数の障害診断モデルを用意する場合、全ての障害診断モデルの情報を事前にメモリに記憶させておくことは困難であるので、障害診断を行う都度、対応する障害診断モデルの情報を記憶手段からメモリにロードする必要があり、障害診断に長い時間を要する。これに対して請求項５記載の発明では、障害診断モデルの情報を障害診断装置が稼働している間中メモリに記憶させておき、必要時（検出手段によって検出された診断対象の動作モードが特定の動作モードと相違しているか、又は、検出手段によって検出された診断対象の動作タイミングが特定の動作タイミングと相違しているとき）には、第２記憶手段から因果関係情報を読み込んで書替えを行うので、障害診断を行う際に読み込む必要のある情報の量を大幅に削減することができ、情報読み込みに要する時間、ひいては障害診断に要する時間を短縮することができる。
【００１７】
また、請求項５記載の発明において、本発明に係る障害診断装置が稼働している間に診断対象の障害診断が複数回行われる場合や、その可能性がある場合は、管理手段によって障害診断装置が稼働している間中メモリに記憶されている障害診断モデルの情報を、複数回の障害診断に各々用いる必要がある。これは、例えば各回の障害診断において、診断対象が特定の動作モード又は特定の動作タイミングである場合はメモリに記憶されている障害診断モデルの情報をそのまま用い、診断対象が特定の動作モード以外又は特定の動作タイミング以外である場合は、第２記憶手段からメモリに因果関係情報を一旦読み込んだ後に、メモリ上の新たな記憶領域上に、前記一部の第１ノードに付加されている因果関係情報の書替えを行った障害診断モデルの情報を生成し（この情報は、例えばメモリに記憶されている障害診断モデルの情報を当該記憶領域にコピーした後に、一部の因果関係情報を第２記憶手段から読み込んだ因果関係情報に書替える等によって生成できる）、当該記憶領域上に生成した情報を用いるように構成することで実現できる。しかし、この態様では障害診断モデルの情報を一部書替えて用いる際に比較的大容量のメモリを必要とする。
【００１８】
このため、請求項５記載の発明において、例えば請求項６に記載したように、第２記憶手段に、特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングに対応する因果関係情報に加えて、特定の動作モード又は特定の動作タイミングに対応する因果関係情報も記憶しておき、書替手段を、メモリに記憶されている障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報を、第２記憶手段から読み込んだ因果関係情報で上書きすることで、因果関係情報の書替えを行うと共に、因果関係情報の書替えを一旦行った後は、検出手段によって検出された診断対象の動作モード又は動作タイミングが、診断対象の障害診断を前回行った際の動作モード又は動作タイミングと相違しているか否か判定し、相違している場合に、対応する因果関係情報を第２記憶手段から読み込み、メモリに記憶されている障害診断モデルの情報のうち前記一部の第１ノードに付加されている因果関係情報を、読み込んだ因果関係情報で再度上書きするように構成してもよい。
【００１９】
請求項６記載の発明によれば、メモリに記憶されている障害診断モデルの情報のうち一部の因果関係情報の書替えを一旦行った後は、障害診断を行う際に、前回の障害診断時と動作モード又は動作タイミングと相違している毎に障害診断モデルの情報の書替えを行う必要があるものの、障害診断モデルの情報を一部書替えて用いる際の使用メモリ容量を節減することができる。
【００２０】
請求項８記載の発明に係る障害診断方法は、診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化する前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を第１記憶手段に記憶させておくと共に、前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を第２記憶手段に記憶させておき、前記診断対象の障害発生が観測された場合に、前記診断対象の動作モード又は動作タイミングを検出し、検出した前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、検出した前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替え、前記因果関係情報の書替えを行わなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記因果関係情報の書替えを行った場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行うので、請求項１記載の発明と同様に、障害診断モデルの情報を記憶するための記憶領域を節減できる。
【００２１】
請求項９記載の発明に係る障害診断プログラムは、診断対象の複数の構成要素のうちの一部の構成要素において障害発生の因果関係が前記診断対象の動作モード又は動作タイミングによって変化すると共に、前記診断対象の動作モード又は動作タイミングを検出する検出手段が設けられた前記診断対象に内蔵されるか、又は、前記診断対象と通信回線を介して接続され、前記診断対象について、前記診断対象が特定の動作モード又は特定の動作タイミングのときの前記複数の構成要素の各々における障害発生の因果関係を、前記複数の構成要素のうち互いに異なる構成要素における障害発生の有無を各々表す複数のノードを含み、個々のノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報が第１記憶手段に記憶され、前記一部の構成要素における障害発生の有無を表す一部のノードの各々について、前記診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報が第２記憶手段に記憶されたコンピュータを、前記診断対象の障害発生が観測された場合に、前記検出手段によって検出された前記診断対象の動作モードが前記特定の動作モードと相違しているか、又は、前記検出手段によって検出された前記診断対象の動作タイミングが前記特定の動作タイミングと相違しているときには、前記第１記憶手段から読み出した障害診断モデルの情報のうち、前記一部のノードに付加されている因果関係情報を、前記第２記憶手段から読み出した対応する因果関係情報で書替える書替手段、及び、前記書替手段によって因果関係情報の書替えが行われなかった場合は前記第１記憶手段から読み出した障害診断モデルの情報を用い、前記書替手段によって因果関係情報の書替えが行われた場合は書替え後の障害診断モデルの情報を用いて、前記診断対象の障害診断を行う診断手段として機能させる。
【００２２】
請求項９記載の発明に係る障害診断プログラムは、第１記憶手段及び第２記憶手段に各々上記の情報が記憶されたコンピュータを、上記の書替手段及び診断手段機能させるためのプログラムであるので、コンピュータが請求項９記載の発明に係る障害診断プログラムを実行することで、コンピュータが請求項１に記載の障害診断装置として機能することになり、請求項１記載の発明と同様に、障害診断モデルの情報を記憶するための記憶領域を節減できる。
【発明の効果】
【００２３】
以上説明したように本発明は、一部の構成要素における障害発生の因果関係が診断対象の動作モード又は動作タイミングによって変化する診断対象について、特定の動作モード又は特定の動作タイミングのときの複数の構成要素の各々における障害発生の因果関係を、互いに異なる構成要素における障害発生の有無を各々表す複数の第１ノードを含み、個々の第１ノードに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を各々付加した因果ネットワークによって表した障害診断モデルの情報を第１記憶手段に記憶すると共に、一部の構成要素における障害発生の有無を表す一部の第１ノードの各々について、診断対象が前記特定の動作モードと異なる動作モード又は特定の動作タイミングと異なる動作タイミングのときに、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を障害発生確率で規定する因果関係情報を第の記憶手段に記憶し、診断対象の障害発生が観測された場合に、診断対象の動作モードが特定の動作モードと相違しているか、又は、診断対象の動作タイミングが特定の動作タイミングと相違しているときには、第１記憶手段から読み出した障害診断モデルの情報のうち、一部の第１ノードに付加されている因果関係情報を、第２記憶手段から読み出した対応する因果関係情報で書替え、因果関係情報の書替えを行わなかった場合は第１記憶手段から読み出した障害診断モデルの情報を用い、因果関係情報の書替えを行った場合は書替え後の障害診断モデルの情報を用いて、診断対象の障害診断を行うようにしたので、障害診断モデルの情報を記憶するための記憶領域を節減できる、という優れた効果を有する。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して本発明の実施形態の一例を詳細に説明する。図１には本実施形態に係る画像形成装置１０が示されている。本実施形態に係る画像形成装置は、ＰＣ(Personal Computer)等から送信された印刷データをネットワーク（図示省略）を介して受信し、受信した印刷データが表す画像を記録用紙等へ印刷するプリンタとしての機能と、セットされた原稿の画像を読み取り、読み取った画像を記録用紙等へ印刷する複写機としての機能を兼ね備えた複合機であり、入力された印刷データが表す画像を記録用紙等へ印刷する画像形成部１２と、セットされた原稿の画像を読み取る画像読取部１８と、ネットワーク経由でのＰＣ等との情報の送受を行う通信Ｉ／Ｆ（インタフェース）部２２を備えている。
【００２５】
画像形成部１２はプリンタＩ／Ｆ部１４と共に画像形成処理部１６を構成しており、画像形成部１２はプリンタＩ／Ｆ部１４を介してバス２４に接続されている。また、画像読取部１８はスキャナＩ／Ｆ部２０を介してバス２４に接続されており、通信Ｉ／Ｆ部２２はバス２４に直接接続されている。またバス２４には、コントローラ部２６と記憶部２８が接続されている。コントローラ部２６は、ＣＰＵ２６Ａと、ＲＯＭ及びＲＡＭを含むメモリ２６Ｂを備えている。記憶部２８はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等の不揮発性の記憶手段から成り、記憶部２８にはＣＰＵ２６Ａが実行するための各種プログラムが記憶されている。コントローラ部２６は、ＣＰＵ２６Ａが記憶部２８に記憶されている各種プログラムを実行することで、画像形成装置１０の各部の動作を制御するコントローラとして機能する。
【００２６】
また記憶部２８には、ＣＰＵ２６Ａによって後述する障害診断処理を行わせるための障害診断プログラムが記憶されており、更に、上記の障害診断処理で用いる画像形成装置１０の障害診断モデルの本体データ及び障害診断モデルのサブデータが各々記憶されている（詳細は後述）。上記の障害診断プログラムは請求項９記載の発明に係る障害診断プログラムに対応していると共に、コントローラ部２６は請求項９に記載のコンピュータに対応しており、ＣＰＵ２６Ａが上記の障害診断プログラムを実行することで、コントローラ部２６は本発明に係る障害診断装置として機能する。また、記憶部２８は本発明に係る第１記憶部及び第２記憶部に各々対応しており、画像形成装置１０は本発明に係る診断対象に対応している。
【００２７】
また画像形成装置１０には、ＬＣＤ(Liquid Crystal Display)等から成り各種の情報を表示するためのディスプレイ３０と、テンキー等を含みオペレータが各種の情報を入力するための指示入力部３４が設けられている。ディスプレイ３０は表示制御部３２を介してバス２４に接続されており、指示入力部３４はバス２４に直接接続されている。更に、画像形成装置１０の画像形成部１２や画像読取部１８は、各部の状態を検出したり所定の障害（例えば後述する「読み取り画像エラー」や「画像読取制御部とコントローラ部２６の間の通信エラー」等）の発生を検出する各種のセンサを含んで構成されている。図１では、これらのセンサをセンサ群３８として示しており、画像形成装置１０には、センサ群３８の個々のセンサからセンサデータ（個々のセンサの検出結果）を取得するセンサデータ取得部３６が設けられている。センサデータ取得部３６はバス２４に接続されている。なお、センサ群３８を構成する各センサのうち、所定の障害の発生を検出するセンサは請求項４に記載の検知手段に対応している。
【００２８】
次に本実施形態の作用として、まず記憶部２８に記憶されている障害診断モデルの本体データ及び障害診断モデルのサブデータについて説明する。本実施形態に係る障害診断モデルは、画像形成装置１０の障害診断を行うことを目的として、画像形成装置１０の複数の構成要素の各々における障害発生の因果関係を、因果ネットワーク、より詳しくはベイジアンネットワークによって表したものであり、図２には、障害診断モデルの本体データが表す画像形成装置１０の障害診断モデルの一例として、画像形成装置１０のプリント基板（ＰＷＢＡ：Printed Wiring Board Assembly）群を対象として障害診断を行うための障害診断モデルが示されている。
【００２９】
図２において、"CCD"は画像読取部１８を、"IIT"は画像読取部１８に内蔵され画像読取部１８の動作を制御する制御部（画像読取制御部）を、"ESS"はコントローラ部２６を、"IOT"は画像形成部１２を、"NIC"は通信Ｉ／Ｆ部２２を各々表している。なお、これら画像読取部１８、画像読取制御部、コントローラ部２６、画像形成部１２及び通信Ｉ／Ｆ部２２は、本発明に係る「診断対象の複数の構成要素」に対応している。また、図２では画像形成装置１０の個々の構成要素における障害発生の有無を各々表す個々のノードを各々矩形状の実線のブロックで示しているが、個々のノードに表記されている先頭の文字"p","n","f"は、"p"がプリント基板の障害を、"n"がケーブルの障害を、"f"が機能障害を各々表しており、例えばノード"pCCD"は画像読取部１８におけるプリント基板の障害発生の有無を表し、ノード"nCCD"は画像読取部１８におけるケーブルの障害発生の有無を表し、ノード"fCCD"は画像読取部１８の機能障害発生の有無を表している。これらのノードは本発明に係る第１ノードに対応している。
【００３０】
また、図２において矩形状の破線のブロックで示すノードは、画像形成装置１０における観測可能な障害発生の有無を表す証拠ノードであり、証拠ノード"Ev001"は画像形成装置１０で「読み取り画像エラー」を示すフェイルコードが検出されたか否かを表し、証拠ノード"Ev002"は画像形成装置１０で「画像読取制御部(IIT)とコントローラ部２６(ESS)の間の通信エラー」を示すフェイルコードが検出されたか否かを表すノードである。なお、これらの証拠ノードは請求項３に記載の第２ノードに対応している。
【００３１】
また、図２に示す障害診断モデルにおいて、個々のノードを結ぶ矢印（因果関係を表すリンク）は、矢印によって結ばれたノード対の障害発生に直接の因果関係が有ることを表しており、或る矢印によって結ばれたノード対のうち、矢印の元に接続されたノードは障害発生の因果関係における親（原因）となる親ノードを、矢印の先に接続されたノードは障害発生の因果関係における子（親ノードの障害発生の影響を受ける）となる子ノードを表している。例えば画像形成装置１０で「読み取り画像エラー」を示すフェイルコードが検出された場合、その原因としては、画像読取部１８の機能障害や画像読取制御部の機能障害（例えば画像処理のエラー等）が考えられる。このため、図２に示す障害診断モデルではノード"fCCD"及びノード"fIIT"を証拠ノード"Ev001"の親ノードとしている。また、例えば画像形成装置１０で「画像読取制御部(IIT)とコントローラ部２６(ESS)の間の通信エラー」を示すフェイルコードが検出された場合、その原因としては、画像読取制御部とコントローラ部２６の間のケーブル不良が考えられるため、図２に示す障害診断モデルではノード"nIIT"及びノード"nESS"を証拠ノード"Ev002"の親ノードとしている。
【００３２】
また、図２に示す障害診断モデルには、例として図３(Ａ)にも示すように、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を規定する因果関係情報が、個々のノードに各々付加されている。なお、図３では因果関係情報を、ベイジアンネットワークにおける標準的なファイル形式であるＸＭＬＢＩＦ形式で記述した例を示している。図３(Ａ)はノード"fCCD"に付加されている因果関係情報を示しており、図３(Ａ)に示す因果関係情報のうちタグ"<FOR>"とタグ"</FOR>"に挟まれた文字列"fCCD"は、自ノードがノード"fCCD"であることを表している。また、図３(Ａ)に示す因果関係情報のうち、タグ"<GIVEN>"とタグ"</GIVEN>"に挟まれた文字列"fIIT","pCCD","nCCD"は、自ノードの親ノードがノード"fIIT"、ノード"pCCD"及びノード"nCCD"であることを表している。なお、この情報は請求項２に記載の親ノード情報に対応している。また、図３(Ａ)に示す因果関係情報のうち、タグ"<TABLE>"とタグ"</TABLE>"に挟まれた数値群は、図３(Ａ)に別表で示すように、自ノードの親ノードであるノード"fIIT"、ノード"pCCD"及びノード"nCCD"の状態（正常／障害発生）が各組み合わせのときに、自ノードに障害が発生する確率（別表に"ＮＧ"として示す数値）及び自ノードの状態が正常となっている確率（別表に"ＯＫ"として示す数値）を表している。なお、この情報は請求項２に記載の条件付き確率情報に対応している。
【００３３】
上記の障害診断モデルは、画像形成装置１０に設けられた個々の構成要素（プリント基板）の間の接続関係や信号の流れを考慮し、更に、障害発生に直接の因果関係がある構成要素同士の因果関係の強さ（親ノードの障害発生が子ノードの障害発生を引き起こす確率等）を、実験等によって求めたり経験から導き出した結果も加味して構築される。そして構築された障害診断モデルのデータが本体データとして記憶部２８に記憶される。
【００３４】
ところで、本実施形態に係る画像形成装置１０には動作モードとして複数のモードが設けられており、或る動作モード（動作モードＡと称する）では、コントローラ部２６からバス２４を介して画像読取部１８へ読取指示信号が送出され、別の動作モード（動作モードＢと称する）では、コントローラ部２６から受け取った読取指示信号に基づき、画像読取部１８が画像読取処理を行った後に、画像読取処理によって得られた画像信号がバス２４を介してコントローラ部２６へ送出される。このため、図２に示す障害診断モデルにおいて、ノード"fESS"、ノード"fIIT"及びノード"fCCD"の間における障害発生の因果関係（因果の方向）が、画像形成装置１０が動作モードＡのときには図２に実線の矢印で示す因果関係となる一方、画像形成装置１０が動作モードＢのときには図２に破線の矢印で示す因果関係となり、これらのノードにおける障害発生の因果関係が画像形成装置１０の動作モードによって変化する。
【００３５】
ベイジアンネットワークを含む因果ネットワークでは、上記のような双方向の因果関係（図２におけるノード"fESS"、ノード"fIIT"及びノード"fCCD"の間の実線の矢印で示す因果の方向と破線の矢印で示す因果の方向）を同時に表現することはできない。このため、本実施形態に係る画像形成装置１０のように、一部の構成要素における障害発生の因果関係が動作モード等によって変化する機器等を対象として障害診断モデルを構築して障害診断を行う場合には、従来、前記一部の構成要素に対応する一部のノードの因果関係のみが相違する障害診断モデルを複数設ける（本体データを複数記憶する）必要があり、診断対象の機器における構成要素の数（単一の障害診断モデルの規模）に比して障害診断モデルの総データ量が肥大化するという問題があった。
【００３６】
このため、本実施形態では、画像形成装置１０の障害診断モデルとしては、画像形成装置１０が特定の動作モード（本実施形態では動作モードＡ）のときの各構成要素における障害発生の因果関係を表す単一の障害診断モデルのみを記憶部２８に記憶させる（単一の本体データを記憶させる）と共に、障害発生の因果関係が動作モード等によって変化する一部の構成要素に対応する一部のノードについて、画像形成装置１０が特定の動作モードと異なる動作モード（本実施形態では動作モードＢ）のときの、自ノードと障害発生に直接の因果関係を有する特定の他ノードとの因果関係を規定する因果関係情報が、障害診断モデルのサブデータとして記憶部２８に記憶させておき、障害発生時に画像形成装置１０が特定の動作モードと異なる動作モードであった場合には、記憶部２８に記憶されている障害診断モデルの本体データのうち前記一部のノードに付加している因果関係情報を、記憶部２８に障害診断モデルのサブデータとして記憶されている因果関係情報に書替えて障害診断に用いることで、障害診断モデルの総データ量を節減している。
【００３７】
上記のサブデータの一例として、サブデータに含まれる動作モードＢのでのノード"fCCD"の因果関係情報を図３(Ｂ)に示す。図２からも明らかなように、ノード"fCCD"については、画像形成装置１０が動作モードＡの場合はノード"fIIT"、ノード"pCCD"及びノード"nCCD"が親ノードとなるが、画像形成装置１０が動作モードＢの場合、ノード"pCCD"及びノード"nCCD"のみが親ノードとなり、ノード"fIIT"は子ノードとなる。これに対応して図３(Ｂ)に示す因果関係情報では、親ノード（タグ"<GIVEN>"とタグ"</GIVEN>"に挟まれた文字列）としてノード"pCCD"及びノード"nCCD"のみが記述されている。また、親ノードの数の減少に伴って親ノードの各々の状態の組み合わせ数も少なくなる（図３(Ｂ)に示す別表も参照）ので、図３(Ａ)に示す因果関係情報と比較して、各組み合わせにおいて自ノードに障害が発生する確率及び自ノードの状態が正常となっている確率を表す数値の数（タグ"<TABLE>"とタグ"</TABLE>"に挟まれた数値の数）も少なくなっている。上記の情報により、画像形成装置１０が動作モードＢのときの、ノード"fCCD"と当該ノード"fCCD"の親ノードであるノード"pCCD"及びノード"nCCD"との障害発生の因果関係が規定される。
【００３８】
また図示は省略するが、ノード"fIIT"については、画像形成装置１０が動作モードＡの場合はノード"pIIT"、ノード"nIIT"及びノード"fESS"が親ノードとなる一方、画像形成装置１０が動作モードＢの場合はノード"pIIT"、ノード"nIIT"及びノード"fCCD"が親ノードとなるので、ノード"fESS"に代えてノード"fCCD"が親ノードとなる。また、ノード"fESS"については、画像形成装置１０が動作モードＡの場合はノード"pESS"、ノード"nESS"及びノード"fNIC"が親ノードとなる一方、画像形成装置１０が動作モードＢの場合はノード"pESS"、ノード"nESS"及びノード"fNIC"に加えてノード"fIIT"も親ノードとなる。従って、障害診断モデルのサブデータの一部として記憶部２８に記憶されているノード"fIIT"及びノード"fESS"の因果関係情報についても、ノード"fCCD"と同様、動作モードＡと動作モードＢでの他のノードとの障害発生の因果関係の変化、すなわち親ノードの変化に応じて、障害診断モデルの本体データに含まれる対応する因果関係情報と内容が相違されている。
【００３９】
また、図４(Ａ)には証拠ノード"Ev001"の因果関係情報を示す。証拠ノード"Ev001"は、画像形成装置１０が動作モードＡであるか動作モードＢであるかに拘わらず親ノードがノード"fCCD"及びノード"fIIT"であり、また証拠ノード"Ev001"は「読み取り画像エラー」を示すフェイルコードが検出されたか否かを表すノードであり、「読み取り画像エラー」に関しては画像形成装置１０が動作モードＡであっても動作モードＢであっても障害（エラー）発生の因果関係が変化しない。このため、証拠ノード"Ev001"に対しては、画像形成装置１０が動作モードＡであるか動作モードＢであるかに拘わらず図４(Ａ)に示す因果関係情報が用いられる（証拠ノード"Ev001"の因果関係情報は障害診断モデルの本体データにのみ設定され、サブデータには設定されない）。
【００４０】
一方、証拠ノード"Ev002"については、画像形成装置１０が動作モードＡであるか動作モードＢであるかに拘わらず親ノードがノード"nIIT"及びノード"nESS"となっているものの、証拠ノード"Ev002"は「画像読取制御部(IIT)とコントローラ部２６(ESS)の間の通信エラー」を示すフェイルコードが検出されたか否かを表すノードであり、画像読取制御部(IIT)とコントローラ部２６(ESS)の間の信号の流れは画像形成装置１０が動作モードＡの場合と動作モードＢの場合とで相違しているので、親ノードであるノード"nIIT"及びノード"nESS"の状態の各組み合わせにおいて、上記の「通信エラー」が検出される確率（又は検出されない確率）についても、画像形成装置１０が動作モードＡの場合と動作モードＢの場合とで相違する（なお、上記の確率の変化も本発明における「障害発生の因果関係の変化」に相当する）。
【００４１】
このため、本実施形態では、証拠ノード"Ev002"については、画像形成装置１０が動作モードＡのときの因果関係情報（図４(Ｂ)参照）と、画像形成装置１０が動作モードＢであるときの因果関係情報（図４(Ｃ)参照）が用意されており（図４(Ｂ),(Ｃ)に示すように、これらの因果関係情報は親ノードの状態の各組み合わせにおける自ノードの障害発生確率及び自ノードの正常状態が維持される確率を表す数値の一部が相違している）、画像形成装置１０が動作モードＡのときの証拠ノード"Ev002"の因果関係情報は障害診断モデルの本体データに設定され、画像形成装置１０が動作モードＢのときの証拠ノード"Ev002"の因果関係情報は障害診断モデルのサブデータに設定されている。
【００４２】
上述した障害診断モデルのサブデータは、障害診断モデルの全ノードのうち、画像形成装置１０の動作モードの変化に伴って他のノードとの障害発生の因果関係が変化する一部のノードについての因果関係情報のみから成るデータであるので、障害診断モデルの本体データと比較してデータ量が非常に小さい。このため、画像形成装置１０の個々の動作モードに対応して障害診断モデルの本体データを複数設ける場合と比較して、障害診断モデルの総データ量を節減することができ、障害診断モデルのデータを記憶する記憶部２８の記憶領域を節減することができる。
【００４３】
次に、コントローラ部２６のＣＰＵ２６Ａが障害診断プログラムを実行することで実現される障害診断処理について、図５を参照して説明する。なお、この障害診断処理は、センサ群３８を構成する各種センサのうち、所定の障害を検出するセンサによって画像形成装置１０に所定の障害（例えば「読み取り画像エラー」や「画像読取制御部とコントローラ部２６の間の通信エラー」等）が発生したことが検出（観測）されるか、或いは、画像形成装置１０に障害が発生したことがオペレータによって観測され、観測された障害がオペレータにより指示入力部３４を介して入力されたことを契機として実行される。
【００４４】
ステップ５０では、センサ群３８を構成する各種センサからセンサデータ取得部３６によってセンサデータを各々取得する。またステップ５２では、コントローラ部２６に設けられた状態レジスタ（図示省略）に保持されているデータを取得する。次のステップ５４では、ステップ５０で取得されたセンサデータ及びステップ５２で取得されたデータに基づき、障害の発生が検出（観測）された際の画像形成装置１０の動作モードを判定する。なお、上記のステップ５０〜ステップ５４は本発明に係る検出手段に対応しており、上記処理により障害の発生が検出（観測）された際の画像形成装置１０の動作モードが動作モードＡであったか動作モードＢであったかが判別される。
【００４５】
次のステップ５６では、障害診断モデルの本体データを記憶部２８からメモリ２６Ｂに読み込む。またステップ５８では、先のステップ５４で判定した障害発生の検出（観測）時の画像形成装置１０の動作モードが、ステップ５６で読み込んだ障害診断モデルの本体データに対応する所定の動作モード、すなわち動作モードＡか否か判定する。この判定が肯定された場合はステップ６４へ移行する。
【００４６】
一方、ステップ５８の判定が否定された場合はステップ６０へ移行し、先のステップ５４で判定した画像形成装置１０の動作モードに対応する障害診断モデルのサブデータを記憶部２８からメモリ２６Ｂに読み込む。そしてステップ６２では、先のステップ５６で読み込んだ障害診断モデルの本体データのうち、ステップ６０で読み込んだサブデータと重複している一部のデータ、すなわち画像形成装置１０の動作モードによって他のノードとの障害発生の因果関係が変化する一部のノード（読み込んだサブデータ中に対応する別の因果関係情報が存在しているノード）の因果関係情報を、読み込んだサブデータに含まれる対応する因果関係情報に書替え、ステップ６４へ移行する。これにより、画像形成装置１０が動作モードＢのときの障害診断モデルを表すデータが得られる。なお、上記のステップ５８〜ステップ６２は本発明に係る書替手段に対応している。
【００４７】
ステップ６４では、上述した処理を経て得られた障害診断モデルのデータ（ステップ５８の判定が肯定された場合は記憶部２８から読み出した障害診断モデルの本体データ、判定が否定された場合はステップ６２で一部のノードの因果関係情報が書替えられた障害診断モデルのデータ）を用いて画像形成装置１０の障害診断（推論）を行う。この障害診断は、具体的には、例えば証拠ノードに関しては、障害診断を行う時点で対応する障害が画像形成装置１０に発生しているか否かが確定しているので、これに基づき、自ノードの因果関係情報と、自ノードと障害発生に直接の因果関係を有する他ノードの障害発生確率の確定値又は推定値から、自ノードの障害発生確率を推定演算することを、個々のノード同士の因果関係を表す障害診断モデル上のリンクに沿って順に行い、障害発生確率を各ノードへ伝播させていくことによって行うことができる。これにより、個々のノード毎（個々の構成要素毎）の障害発生確率を推定することができる。なお、ステップ６４は本発明に係る診断手段に対応している。
【００４８】
そしてステップ６６では、例えば算出された障害発生確率が閾値以上のノード（構成要素）をユニット交換の対象としてディスプレイ３０に表示させる等により、ステップ６４の障害診断の結果を出力し、障害診断処理を終了する。これにより、出力された障害診断の結果を参照することで、オペレータが、画像形成装置１０に発生した障害の原因となった構成要素（ユニット）を認識し、認識した構成要素を交換する、等の対処を早期にとることができ、画像形成装置１０に発生した障害を早期に解消させることができる。
【００４９】
なお、上記では本発明に係る診断対象としての画像形成装置１０に、動作モードとして動作モードＡ及び動作モードＢが設けられている態様を例に説明したが、動作モードは３種類以上設けられていてもよく、障害診断モデルの本体データに対応する単一の動作モード以外の複数の動作モードについてサブデータ（書替用の因果関係情報）を各々設け、障害発生時の画像形成装置１０の動作モードが障害診断モデルの本体データに対応する単一の動作モード以外の動作モードであった場合には、複数のサブデータのうち障害発生時の画像形成装置１０の動作モードに対応するサブデータを読み込み、障害診断モデルの本体データの一部を読み込んだサブデータに書替えるようにすればよい。
【００５０】
また、上記では障害診断モデルの一部のノードにおける障害発生の因果関係が画像形成装置１０の動作モードによって変化する態様を例に説明したが、これに限定されるものではなく、本発明は、障害診断モデルの一部のノードにおける障害発生の因果関係が画像形成装置１０の動作タイミングによって変化する場合にも適用可能であり、この場合、障害発生時の画像形成装置１０の動作タイミングを検出し、障害診断モデルの本体データをそのまま障害診断に用いるか、障害診断モデルの本体データの一部をサブデータに書替えて障害診断に用いるかを、検出した動作タイミングに応じて選択するようにすればよい。
【００５１】
また、上記では本発明に係る診断対象として画像形成装置１０を例に説明したが、本発明に係る診断対象は、診断対象の複数の構成要素のうちの一部の構成要素における障害発生の因果関係が、診断対象の動作モード又は動作タイミングによって変化するものであればよく、例えば自動車や航空、ロボットや半導体設計装置等の機器、或いは回路基板等であってもよい。また、本発明に係る診断対象は各種の機器や回路基板に限られるものでもなく、複数の構成要素としての複数のソフトウェア・コンポーネントから成るプログラムであってもよい。本発明に係る診断対象として適用可能なプログラムの構成の一例を図６(Ａ)に示す。
【００５２】
図６(Ａ)に示すプログラムは複写機等の画像形成装置に搭載されるプログラムであり、複数のソフトウェア・コンポーネントとして、複写処理全体を制御する「コピー」コンポーネントと、画像読取処理を制御する「スキャン」コンポーネントと、印刷処理を制御する「プリント」コンポーネントと、から構成されている。このプログラムは以下のように動作する。
【００５３】
すなわち、利用者が画像形成装置に設けられたコピーボタンを押すと「コピー」コンピーネントが起動し、「コピー」コンピーネントは「スキャン」コンポーネントを起動してスキャン指示を出力する。スキャン指示が入力されると、「スキャン」コンポーネントはスキャナドライバに画像の読み取り（スキャン実行）を指示する。スキャナドライバは画像の読み取りを行い、当該読み取りによって得られた画像データをドキュメントとしてメモリ又はＨＤＤのファイルシステムに保持させ、そのポインタと共にスキャン終了フラグを「スキャン」コンポーネントへ渡す。次に「スキャン」コンポーネントは「コピー」コンポーネントへスキャン終了を通知し、「コピー」コンポーネントは受け取ったドキュメントのポインタと共に「プリント」コンポーネントへプリント指示を出力する。「プリント」コンポーネントはドキュメントのポインタを基にメモリ又はＨＤＤから画像データを読み出してラスタデータに変換しＲＯＳドライバに渡して画像を印刷させる。画像の印刷が終了すると「プリント」コンポーネントはプリント終了フラグを「コピー」コンポーネントに渡す。これにより複写処理が完了する。
【００５４】
上記のように動作するプログラムにおいて、「コピー」コンピーネントと「プリント」コンポーネントとの関係に注目すると、両コンポーネントの間では双方向の通信が行われるので、上記のプログラムに対して障害診断を行うための障害診断モデルの一部（「コピー」コンピーネント及び「プリント」コンポーネントに対応する部分）は図６(Ｂ),(Ｃ)に示す２つの状態をとり得る。そして、この２つの状態において、「コピー」コンピーネント及び「プリント」コンポーネントにおける障害発生の因果関係は相違している。なお、図６(Ｂ)に示すモデルは「コピー」コンポーネントが「プリント」コンポーネントからのプリント終了フラグを待っている状態に対応し、図６(Ｃ)に示すモデルは「コピー」コンポーネントが「プリント」コンポーネントへプリント指示を出力する状態に対応している。また、図６(Ｂ)における証拠ノード"Ev003"は「プリント実行タイムアウト」が検出されたか否かを表し、図６(Ｃ)における証拠ノード"Ev004"は「コピーコンポーネントのデッドロック」が検出されたか否かを表している。
【００５５】
ここで、図６(Ｂ)に示す障害診断モデルに対応する状態において、「プリント」コンポーネントから指定時間以内に応答が無いことで、証拠ノード"Ev003"が「プリント実行タイムアウト」が検出有りの状態になった場合には、図６(Ｂ)に示す障害診断モデルに基づいて「プリント」コンポーネントの異常と診断することができる。また、図６(Ｃ)に示す障害診断モデルに対応する状態において、「コピー」コンポーネントのデッドロックが検出されることで、証拠ノード"Ev004"が「コピーコンポーネントのデッドロック」が検出有りの状態になった場合には、図６(Ｃ)に示す障害診断モデルに基づいて「コピー」コンポーネントの異常と診断することができる。
【００５６】
この態様においても、図６(Ｂ),(Ｃ)に示す２つの状態のうちの一方の状態に対応する情報（「コピー」コンピーネントに対応するノード及び「プリント」コンポーネントに対応するノードの因果関係情報）を障害診断モデルの本体データとして保持すると共に、２つの状態のうちの他方の状態に対応する情報を障害診断モデルのサブデータとして保持しておき、前記一方の状態で発生した障害を診断する場合は、障害診断モデルの本体データを障害診断にそのまま用い前記他方の状態で発生した障害を診断する場合は、障害診断モデルの本体データの一部を前記他方の状態に対応するサブデータで書替えて障害診断に用いることで、障害診断モデルの本体データを複数保持することなく、図６(Ｂ),(Ｃ)に示す２つの状態における障害診断を各々行うことができる。
【００５７】
また、上記では画像形成装置１０に障害が発生したことが観測される毎に、障害診断モデルの本体データを記憶部２８からメモリ２６Ｂに読み込む態様を説明したが、本発明はこれに限定されるものではなく、障害診断処理として図７に示す処理を行うようにしてもよい。なお、図７に示す障害診断処理を行う態様では、障害診断モデルのサブデータとして、記憶部２８に記憶されている障害診断モデルの本体データに対応する動作モード（例えば動作モードＡ）を含む、画像形成装置１０に設けられた個々の動作モードに対応する複数の因果関係情報が画像形成装置１０の記憶部２８に各々記憶されている。
【００５８】
図７に示す障害診断処理は、画像形成装置１０の電源が投入され、画像形成装置１０が稼働を開始すると実行され、まずステップ７０において、障害診断モデルの本体データを記憶部２８から読み込み、読み込んだ本体データをメモリ２６Ｂの所定の記憶領域に記憶させる。なお、メモリ２６Ｂの所定の記憶領域に記憶された本体データは、画像形成装置１０が稼働している間中、同記憶領域にメモリ２６Ｂに継続的に記憶されるので、ステップ７０は請求項５に記載の管理手段に対応している。またステップ７２では、前回の動作モードの初期値として、障害診断モデルの本体データに対応する所定の動作モード（動作モードＡ）を設定する。
【００５９】
ステップ７４では画像形成装置１０の稼働が終了されるか否か判定する。判定が否定された場合はステップ７６へ移行し、画像形成装置１０に障害が発生したことが観測されたか否か判定する。この判定も否定された場合はステップ７４に戻り、何れかの判定が肯定される迄ステップ７４，７６を繰り返す。画像形成装置１０に障害が発生したことが観測されると、ステップ７６の判定が肯定されてステップ５０へ移行し、先に説明した障害診断処理（図５）と同様、センサデータの取得（ステップ５０）、状態レジスタに保持されているデータの取得（ステップ５２）、画像形成装置１０の動作モードの判定（ステップ５４）を行った後に、次のステップ７８において、ステップ５４で判定した障害発生の検出（観測）時の画像形成装置１０の動作モード（今回の動作モード）が、前回の動作モードとして設定されている動作モード（初期値は動作モードＡ）と一致しているか否か判定する。この判定が肯定された場合、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータは、画像形成装置１０が今回の動作モードのときの障害診断モデルを表すデータであると判断できるので、ステップ８０〜ステップ８４をスキップしてステップ６４へ移行する。
【００６０】
また、ステップ７８の判定が否定された場合、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータは、画像形成装置１０が今回の動作モードと別の動作モードのときの障害診断モデルを表すデータであるので、ステップ８０へ移行し、ステップ８０で画像形成装置１０の今回の動作モードに対応する障害診断モデルのサブデータを記憶部２８から読み込み、次のステップ８２において、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータのうち、ステップ８０で読み込んだサブデータと重複している一部の因果関係情報を、読み込んだサブデータに含まれる対応する因果関係情報に上書きする。これにより、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータが、画像形成装置１０が今回の動作モードのときの障害診断モデルを表すデータに書替わることになる。そしてステップ８４では、前回の動作モードとして今回の動作モードを設定し、ステップ６４へ移行する。なお、上述したステップ８０〜ステップ８４は請求項５（詳しくは請求項６）に記載の書替手段に対応している。
【００６１】
ステップ６４では、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータ（画像形成装置１０が今回の動作モードのときの障害診断モデルを表すデータ）を用いて画像形成装置１０の障害診断（推論）を行う。また、次のステップ６６では障害診断の結果を出力してステップ７４に戻り、ステップ７４以降の処理を繰り返す。上述したように、図７に示す障害診断処理では、画像形成装置１０が稼働している間中、メモリ２６Ｂの所定の記憶領域に障害診断モデルのデータを継続的に記憶させておくので、障害診断時に障害診断モデルの本体データを記憶部２８から読み込んでメモリ２６Ｂにロードする必要が無くなり、障害診断に要する時間を短縮することができる。また、障害診断時には、今回の動作モードが前回の動作モード（初期値は記憶部２８に記憶されている障害診断モデルの本体データに対応する動作モードＡ）と一致しているか否か判定し、不一致の場合は、今回の動作モードに対応するサブデータを記憶部２８から読み込み、メモリ２６Ｂの所定の記憶領域に記憶されている障害診断モデルのデータの一部を上書きすることで障害診断モデルのデータの書替えを行うので、障害診断モデルのデータを書替える際の使用メモリ容量を節減することができる。
【００６２】
また、上記では本発明に係る障害診断プログラムが記憶部２８に予め記憶（インストール）されている態様を説明したが、本発明に係る障害診断プログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。また、上記では本発明に係る障害診断プログラムが、診断対象としての画像形成装置１０に内蔵されたコンピュータ（コントローラ部２６のＣＰＵ２６Ａ）によって実行される態様を説明したが、本発明に係る障害診断プログラムは、診断対象と別に設けられたコンピュータで実行することも可能であることは言うまでもない。
【図面の簡単な説明】
【００６３】
【図１】本実施形態に係る画像形成装置の概略構成を示すブロック図である。
【図２】障害診断モデルの一例の概要を示す概念図である。
【図３】或るノードの、(Ａ)は障害診断モデルの本体データにおける因果関係情報、(Ｂ)は障害診断モデルのサブデータにおける因果関係情報の一例を各々示す概略図である。
【図４】(Ａ)は証拠ノードEv001の障害診断モデルの本体データにおける因果関係情報を示す概略図であり、 (Ｂ)は障害診断モデルの本体データにおける証拠ノードEv002の因果関係情報、(Ｃ)は障害診断モデルのサブデータにおける証拠ノードEv002の因果関係情報の一例を各々示す概略図である。
【図５】障害診断処理の内容を示すフローチャートである。
【図６】複数のソフトウェア・コンポーネントから成るプログラムを診断対象とした態様を説明するための概念図である。
【図７】障害診断処理の他の例の内容を示すフローチャートである。
【符号の説明】
【００６４】
１０  画像形成装置
１２  画像形成部
１８  画像読取部
２６  コントローラ部
２６Ｂ  ＣＰＵ
２６Ｂ  メモリ
２８  記憶部
３６  センサデータ取得部
３８  センサ群
【図１】
2008282254.tif 000003
【図２】
2008282254.tif 000004
【図３】
2008282254.tif 000005
【図４】
2008282254.tif 000006
【図５】
2008282254.tif 000007
【図６】
2008282254.tif 000008
【図７】
2008282254.tif 000009