(57)【要約】【課題】装置の故障箇所を的確に特定することのできる故障箇所診断システムを提供する。【解決手段】装置１０は、木構造で機能が分類・表現された複数のユニットで構成されており、各ユニットの機能はソフトウェアでエミュレーション可能になっている。故障検出手段１２が装置１０の故障を検出すると、代行動作制御部１３は装置１０側の任意のユニットを切り離し、このユニットと同一の機能を果たすエミュレーションサーバ４０側のエミュレータ４１を該ユニットの代わりに接続した状態で装置１０を動作させる、正常動作しないときはエミュレーションの対象ユニットを切り替える。正常動作したときは、今回エミュレーションしたユニットが故障の原因ユニットであると特定する。【選択図】図１
2007052669.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段により故障が検出されたとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段で選択されたユニットと同じ機能を果たすソフトウェア機能を外部端末から入手する入手手段と、
前記選択手段で選択されたユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
を有する
ことを特徴とする装置。
【請求項２】
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、該故障の発生を外部端末に通知する通知手段と、
前記通知の後、前記複数個の中の少なくとも１つのユニットを示す指定情報を前記外部端末から受信する指定受信手段と、
前記指定受信手段が受信した前記指定情報が示すユニットと同じ機能を果たすソフトウェア機能を前記外部端末から入手する入手手段と、
前記指定情報が示すユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
前記実行手段による実行結果を前記外部端末に送信する結果連絡手段と
を有する
ことを特徴とする装置。
【請求項３】
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段が選択したユニットと同じ機能を果たすソフトウェア機能を外部端末から入手する入手手段と、
前記選択手段で選択されたユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と、
前記実行手段による実行結果に基づいて、故障の原因箇所を特定する判定手段と
を有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする装置。
【請求項４】
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
前記各ユニットと同じ機能を果たすソフトウェア機能を提供可能な機能代行手段と、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記機能代行手段から前記選択手段が選択したユニットと同じ機能を果たすソフトウェア機能の提供を受けて該ソフトウェア機能に前記ユニットの機能を機能代行させて当該装置を動作させる実行手段と、
前記実行手段による実行結果に基づいて、故障の原因箇所を特定する判定手段とを有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする装置。
【請求項５】
前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つ、または、各々の複数個の集合体である
ことを特徴とする請求項１乃至４のいずれか１つに記載の装置。
【請求項６】
前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする請求項１乃至４のいずれか１つに記載の装置。
【請求項７】
前記故障検出手段により故障が検出されたとき、その旨は装置から外部端末へ送信される
ことを特徴とする請求項１または３に記載の装置。
【請求項８】
前記実行手段に対する動作開始の指示は、前記装置側と前記外部端末側のいずれか一方より、自動または手動で行なわれる
ことを特徴とする請求項１乃至３のいずれか１つに記載の装置。
【請求項９】
前記実行手段に対する動作開始の指示は、自動または手動で行なわれる
ことを特徴とする請求項４に記載の装置。
【請求項１０】
前記装置と前記外部端末との通信形態は有線およびまたは無線である
ことを特徴とする請求項１乃至３のいずれか１つに記載の装置。
【請求項１１】
前記外部端末に故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする請求項１または２に記載の装置。
【請求項１２】
当該装置に、故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする請求項１、３または４のいずれか１つに記載の装置。
【請求項１３】
前記装置は画像形成装置であり、外部端末はサーバである
ことを特徴とする請求項１乃至３のいずれか１つに記載の装置。
【請求項１４】
前記装置は画像形成装置である
ことを特徴とする請求項４に記載の装置。
【請求項１５】
前記実行手段は、ソフトウェア機能で機能代行されるユニットに対する情報の入出力を、前記外部端末のソフトウェア機能に対して行なうように切り替える
ことを特徴とする請求項１乃至３のいずれか１つに記載の装置。
【請求項１６】
前記入手手段は、ソフトウェア機能で機能代行されるユニットと同じ機能を果たすソフトウェアを前記外部端末から入手し、
前記実行手段は、前記ソフトウェアを実行する
ことを特徴とする請求項１乃至３のいずれか１つに記載の装置。
【請求項１７】
外部端末と、診断対象の装置とを有する故障箇所診断システムであって、
前記装置は、
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有すると共に、当該装置の故障を検出する故障検出手段と、前記故障検出手段が検出した故障の発生を前記外部端末に通知する通知手段とを有し、
前記外部端末は、
前記装置が有する各ユニットと同じ機能を果たすソフトウェア機能を前記装置に提供可能な機能代行手段と、
前記通知を前記装置から受信する通知受信手段と、
前記通知受信手段が前記通知を受信したとき、前記装置が有する前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段で選択されたユニットを示す指定情報を前記装置に送信する送信手段とを有し、
前記装置はさらに、
前記外部端末から前記指定情報を受信する指定受信手段と、
前記指定受信手段が受信した前記指定情報が示すユニットの機能を機能代行するソフトウェア機能を前記外部端末から入手する入手手段と、
前記指定情報が示すユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
前記実行手段による実行結果を前記外部端末に送信する結果連絡手段とを有し、
前記外部端末はさらに、
前記装置から前記実行結果を受信する結果受信手段と、
前記結果受信手段が前記装置から受信した前記実行結果に基づいて、故障の原因箇所を特定する判定手段とを有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする故障箇所診断システム。
【請求項１８】
前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つ、または、各々の複数個の集合体である
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項１９】
前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２０】
前記実行手段に対する動作開始の指示は、前記装置側と前記外部端末側のいずれか一方より、自動または手動で行なわれる
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２１】
前記装置と前記外部端末との通信形態は有線およびまたは無線である
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２２】
前記外部端末に故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２３】
前記装置は画像形成装置であり、外部端末はサーバである
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２４】
前記実行手段は、ソフトウェア機能で機能代行されるユニットに対する情報の入出力を、前記外部端末のソフトウェア機能に対して行なうように切り替える
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２５】
前記入手手段は、ソフトウェア機能で機能代行されるユニットと同じ機能を果たすソフトウェアを前記外部端末から入手し、
前記実行手段は、前記ソフトウェアを実行する
ことを特徴とする請求項１７に記載の故障箇所診断システム。
【請求項２６】
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置が故障したとき、前記複数個のユニットの中の少なくとも１つの任意のユニットを選択する選択ステップと、
前記選択ステップで選択したユニットの機能を該ユニットと同じ機能を果たすソフトウェア機能に機能代行させて前記装置を動作させる実行ステップと、
前記実行ステップの動作結果から、故障の原因箇所を判定する判定ステップと、
前記判定ステップで故障の原因箇所を特定できない場合に、前記選択ステップに戻ってユニットの選択をやり直させるステップと
を有する
ことを特徴とする故障箇所特定方法。
【請求項２７】
前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つ、または、各々の複数個の集合体である
ことを特徴とする請求項２６に記載の故障箇所特定方法。
【請求項２８】
前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする請求項２６に記載の故障箇所特定方法。
【請求項２９】
前記実行ステップは、自動または手動で行なわれる事象の発生を契機に開始する
ことを特徴とする請求項２６に記載の故障箇所特定方法。
【請求項３０】
前記選択ステップでの選択は、故障箇所特定の算出アルゴリズムに基づいて行なう
ことを特徴とする請求項２６に記載の故障箇所特定方法。
【請求項３１】
前記装置は画像形成装置である
ことを特徴とする請求項２６に記載の故障箇所特定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユニットから構成される装置が故障したとき、その故障箇所を特定するための技術に関する。
【背景技術】
【０００２】
電子回路基板、機械ユニット、電子部品、集積回路、センサなどの部品やユニットを複数組み合わせて構成される装置では、故障が生じたとき、その故障箇所を、予め実装された自己診断プログラムで検出したり、トラブル発生時のエラーコードで故障の種類を判定したりすることが行なわれる。
【０００３】
ところで、アプリケーションプログラムの開発時には、該アプリケーションプログラムを動作テストするためのハードウェアユニットが未だ完成していない場合やテストに必要なハードウェアユニットをすべて揃えるのが大変な場合が多い。そこで、ハードウェアユニットの動作をソフトウェアで仮想的に実現するエミュレータ上でアプリケーションプログラムを動作テストすることが一般に行なわれる。
【０００４】
たとえば、エミュレータとして機能する様々な仮想ユニットをインターネット上の配布サーバに登録しておき、システム開発者が自分の開発環境に必要な仮想ユニットを配布サーバからダウンロードすることで、システムに必要なハードウェアユニットなしで連動テストの実行を可能にする技術がある（たとえば、特許文献１参照。）。
【０００５】
【特許文献１】特開２００３−２３３５１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ハードウェアユニットの動作をソフトウェアで仮想的に実現する技術は、プログラムやシステムの開発時に、現物を用意できない特定のハードウェアユニットを代用するための技術であり、故障箇所の判定に使用されるものではなく、故障箇所の判定には、上述の自己診断プログラムなどが主として利用されてきた。
【０００７】
しかしながら、自己診断プログラムなどによる故障箇所の検出は、たとえば、特定のユニットから応答がないとか、特定のセンサから反応がないなどの否定的な事象を元に故障箇所を判定するので、その箇所を修理・交換すれば装置が正常に動作するという保証はない。このため、故障箇所と判定されたユニットを交換しても装置が正常動作に復帰しない場合があり、特に、遠隔診断で故障箇所を判定し、該当するユニットをサービスマンが現場に持参して交換したが、結局、直らなかったような場合には、時間と労力が無駄になってしまう。また、自己診断プログラムで判定した故障箇所が間違っていた場合には、本当の故障箇所を特定することが極めて困難になっていた。また、一旦故障が発生すると、故障箇所を修理しなければ、暫定的な使用すらできなかった。
【０００８】
本発明は、上記の問題を解決しようとするものであり、故障箇所を的確に特定することのできる装置、故障箇所診断システム、故障箇所特定方法を提供することを目的としている。また、故障を実際に修理しなくても暫定的な使用を可能にすることを目的としている。
【課題を解決するための手段】
【０００９】
以上の目的は以下のいずれかの構成によって達成される。
【００１０】
（１）ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段により故障が検出されたとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段で選択されたユニットと同じ機能を果たすソフトウェア機能を外部端末から入手する入手手段と、
前記選択手段で選択されたユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
を有する
ことを特徴とする装置。
【００１１】
上記の発明では、故障が検出されたとき、任意のユニットを選択し、該選択したユニットの機能を外部端末から入手したソフトウェア機能で置き換えて装置の動作を実行する。ソフトウェア機能に機能代行させたことで装置の動作が正常になれば、該ソフトウェア機能で置き換えたユニットを故障の原因箇所として特定することができる。故障の原因箇所を特定できない場合は、ソフトウェア機能で機能代行するユニットを変更して上記の動作を繰り返し行なうようにすればよい。また、ソフトウェア機能による機能代行によって正常に動作したときは、その状態で装置の暫定的な使用が可能になる。
【００１２】
「ソフトウェアで機能代行可能」とは、そのユニットに対する情報の入出力をソフトウェアで仮想的に実現できることをいい、内部構成は問わず、ソフトウェア機能から見ればブラックボックスでよい。各ユニットは、電子回路や電子部品などのほか、機械部品を含むユニットであっても該ユニットに対する情報の入出力をソフトウェア機能で代行できればよい。ユニットは、物理的に１つである必要はなく、物理的に複数のユニットの集合体を１つのユニットとして扱ってもよいし、物理的に１つのユニットを論理的（機能的）に複数ユニットとして扱ってもよい。
【００１３】
（２）ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、該故障の発生を外部端末に通知する通知手段と、
前記通知の後、前記複数個の中の少なくとも１つのユニットを示す指定情報を前記外部端末から受信する指定受信手段と、
前記指定受信手段が受信した前記指定情報が示すユニットと同じ機能を果たすソフトウェア機能を前記外部端末から入手する入手手段と、
前記指定情報が示すユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
前記実行手段による実行結果を前記外部端末に送信する結果連絡手段と、
を有する
ことを特徴とする装置。
【００１４】
上記の発明では、装置が故障の発生を外部端末に通知すると、ソフトウェア機能で置き換えるべきユニットの指定情報が外部端末から送られてくる。装置は、この指定情報が示すユニットに対応するソフトウェア機能を外部端末から入手する。そして、指定されたユニットの機能を、入手したソフトウェア機能で置き換えて装置の動作を実行し、その実行結果を外部端末に送信する。すなわち、装置は、外部装置から指示されたユニットの機能をソフトウェア機能に機能代行させた状態で装置の動作を実行し、その実行結果を外部装置に送信する機能を有すればよい。実行結果から故障箇所を判定したり、次にソフトウェア機能で置き換えるべきユニットを選択したりする処理は外部端末で行なわれる。
【００１５】
（３）ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段が選択したユニットと同じ機能を果たすソフトウェア機能を外部端末から入手する入手手段と、
前記選択手段で選択されたユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と、
前記実行手段による実行結果に基づいて、故障の原因箇所を特定する判定手段と
を有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする装置。
【００１６】
上記の発明では、装置は故障の発生を検知すると、ソフトウェア機能で機能代行させるべきユニットを選択し、そのユニットに対応するソフトウェア機能を外部端末から入手する。そして、装置側で選択したユニットの機能を外部端末から入手したソフトウェア機能に機能代行させて装置の動作を実行し、その実行結果から故障の原因箇所を判定し、原因箇所を特定できないときは、ユニットの選択をやり直して上記の動作を繰り返し行なう。すなわち、故障の原因箇所を判定したり、次にソフトウェア機能で置き換えるべきユニットを選択したりする機能は装置自体が有している。外部端末は装置から要求されたユニットのソフトウェア機能をその装置に提供すればよい。
【００１７】
（４）ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置であって、
前記各ユニットと同じ機能を果たすソフトウェア機能を提供可能な機能代行手段と、
当該装置の故障を検出する故障検出手段と、
前記故障検出手段が故障を検出したとき、前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記機能代行手段から前記選択手段が選択したユニットと同じ機能を果たすソフトウェア機能の提供を受けて該ソフトウェア機能に前記ユニットの機能を機能代行させて当該装置を動作させる実行手段と、
前記実行手段による実行結果に基づいて、故障の原因箇所を特定する判定手段とを有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする装置。
【００１８】
上記の発明によれば、装置は故障の発生を検知すると、ソフトウェア機能で置き換えるべきユニットを選択し、そのユニットの機能と同じ機能を果たすソフトウェア機能を自装置の機能代行手段から入手し、該ソフトウェア機能で機能代行させた状態で当該装置を動作させる。そして、該動作の実行結果から故障の原因箇所を判定し、原因箇所を特定できないときは、ユニットの選択をやり直して上記の動作を繰り返し行なう。すなわち、この装置は、外部端末と連携することなく、装置単独で故障箇所を特定できる。
【００１９】
（５）前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つ、または、各々の複数個の集合体である
ことを特徴とする（１）乃至（４）のいずれか１つに記載の装置。
【００２０】
すなわち、各ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの内のいずれか１つで単独構成されてもよいし、複数個の電子部品や複数個の電子基板、複数個の集積回路チップの集合体として構成されてもよい。
【００２１】
（６）前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする（１）乃至（４）のいずれか１つに記載の装置。
【００２２】
上記の発明では、各ユニットは、装置の機能を木構造の階層構造で分類した場合や、装置の機能を網目構造となるように分類した場合のいずれか１つのノードの機能、または複数のノードの集合体の機能を果たす。つまり、装置の機能を構造化して表現した場合に、その構造の内の適宜の一部分をユニットとすることができる。
【００２３】
（７）前記故障検出手段により故障が検出されたとき、その旨は装置から外部端末へ送信される
ことを特徴とする（１）または（３）に記載の装置。
【００２４】
上記の発明によれば、装置で故障が発生したことが、外部端末に通知される。この通知を起因に外部端末は装置に対して故障箇所の診断動作を開始すればよい。
【００２５】
（８）前記実行手段に対する動作開始の指示は、前記装置側と前記外部端末側のいずれか一方より、自動または手動で行なわれる
ことを特徴とする（１）乃至（３）のいずれか１つに記載の装置。
【００２６】
上記の発明では、ユニットの機能をソフトウェア機能で代行させた上での装置の動作は、装置側と外部端末側のいずれか一方より、自動または手動で行なわれる指示に従って開始される。たとえば、装置の動作に先立って人が何らかの操作やセットを行なう必要がある場合には、それらの操作やセットの完了後に手動による開始指示を受けるようにするとよい。一方、装置の動作に先立って人手による操作やセットを要しない場合は、ソフトウェア機能の入手が完了したときなどに自動で開始指示を出すように構成することができる。
【００２７】
（９）前記実行手段に対する動作開始の指示は、自動または手動で行なわれる
ことを特徴とする（４）に記載の装置。
【００２８】
上記の発明によれば、（４）に記載の装置のように、外部端末と連携することなく単独で故障箇所を診断する装置では、ユニットの機能をソフトウェア機能で置き換えた上での装置の動作は、当該装置において自動または手動で行なわれる指示に従って開始される。
【００２９】
（１０）前記装置と前記外部端末との通信形態は有線およびまたは無線である
ことを特徴とする（１）乃至（３）のいずれか１つに記載の装置。
【００３０】
（１１）前記外部端末に故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする（１）または（２）に記載の装置。
【００３１】
上記の発明では、外部端末は、次に選択するユニットを、該外部端末が備える故障箇所特定の算出アルゴリズムに従って決定する。装置側は、外部端末の指示に従って動作すればよい。
【００３２】
（１２）当該装置に、故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする（１）、（３）または（４）のいずれか１つに記載の装置。
【００３３】
上記の発明では、たとえば、装置は、次に選択するユニットを、自装置が備える故障箇所特定の算出アルゴリズムに従って決定する。外部端末は装置からの要求に従ってソフトウェア機能を提供すればよい。
【００３４】
（１３）前記装置は画像形成装置であり、外部端末はサーバである
ことを特徴とする（１）乃至（３）のいずれか１つに記載の装置。
【００３５】
（１４）前記装置は画像形成装置である
ことを特徴とする（４）に記載の装置。
【００３６】
（１５）前記実行手段は、ソフトウェア機能で機能代行されるユニットに対する情報の入出力を、前記外部端末のソフトウェア機能に対して行なうように切り替える
ことを特徴とする（１）乃至（３）のいずれか１つに記載の装置。
【００３７】
すなわち、装置はソフトウェア機能で機能代行されるユニットに入力される情報を外部端末のソフトウェア機能に与え、外部端末のソフトウェア機能はこの情報を元に動作し、外部端末はソフトウェア機能から出力される情報を装置に送信する。装置は外部端末から受信した情報を、ソフトウェア機能で機能代行させたユニットが出力した情報として扱い、この情報を、本来、該ユニットの出力が入力されるユニットに対して入力する。
【００３８】
（１６）前記入手手段は、ソフトウェア機能で機能代行されるユニットと同じ機能を果たすソフトウェアを前記外部端末から入手し、
前記実行手段は、前記ソフトウェアを実行する
ことを特徴とする（１）乃至（３）のいずれか１つに記載の装置。
【００３９】
上記発明では、ソフトウェア機能で機能代行されるユニットと同じ機能を代行するためのソフトウェアを外部端末から入手し、該ソフトウェアを装置で実行することにより、代行対象のユニットに相当するソフトウェア機能が装置側で実現される。
【００４０】
（１７）外部端末と、診断対象の装置とを有する故障箇所診断システムであって、
前記装置は、
ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有すると共に、当該装置の故障を検出する故障検出手段と、前記故障検出手段が検出した故障の発生を前記外部端末に通知する通知手段とを有し、
前記外部端末は、
前記装置が有する各ユニットと同じ機能を果たすソフトウェア機能を前記装置に提供可能な機能代行手段と、
前記通知を前記装置から受信する通知受信手段と、
前記通知受信手段が前記通知を受信したとき、前記装置が有する前記複数個の中の少なくとも１つの任意のユニットを選択する選択手段と、
前記選択手段で選択されたユニットを示す指定情報を前記装置に送信する送信手段とを有し、
前記装置はさらに、
前記外部端末から前記指定情報を受信する指定受信手段と、
前記指定受信手段が受信した前記指定情報が示すユニットの機能を機能代行するソフトウェア機能を前記外部端末から入手する入手手段と、
前記指定情報が示すユニットの機能を前記入手手段で入手したソフトウェア機能に機能代行させて当該装置を動作させる実行手段と
前記実行手段による実行結果を前記外部端末に送信する結果連絡手段とを有し、
前記外部端末はさらに、
前記装置から前記実行結果を受信する結果受信手段と、
前記結果受信手段が前記装置から受信した前記実行結果に基づいて、故障の原因箇所を特定する判定手段とを有し、
前記選択手段は、前記判定手段が前記実行結果から故障の原因箇所を特定できないとき、ユニットを選択し直す
ことを特徴とする故障箇所診断システム。
【００４１】
上記発明では、装置が故障を検出してその旨を外部端末に通知すると、外部端末はソフトウェア機能で機能代行させるユニットを選択し、そのユニットを表わす指定情報を装置に送信する。装置は指定情報が示すユニットに対応するソフトウェア機能を外部端末から入手し、指定情報が示すユニットの機能をソフトウェア機能に代行させて当該装置の動作を実行し、その結果を外部端末に送信する。外部端末は、装置から受信した動作結果から故障の原因箇所を判定し、原因箇所を特定できないときは、ユニットの選択をやり直して、上記一連の処理を再度行なう。
【００４２】
（１８）前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つまたは複数個の集合体である
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４３】
（１９）前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４４】
（２０）前記実行手段に対する動作開始の指示は、前記装置側と前記外部端末側のいずれか一方より、自動または手動で行なわれる
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４５】
（２１）前記装置と前記外部端末との通信形態は有線およびまたは無線である
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４６】
（２２）前記外部端末に故障箇所特定の算出アルゴリズムを備えた
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４７】
（２３）前記装置は画像形成装置であり、外部端末はサーバである
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４８】
（２４）前記実行手段は、ソフトウェア機能で機能代行されるユニットに対する情報の入出力を、前記外部端末のソフトウェア機能に対して行なうように切り替える
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００４９】
（２５）前記入手手段は、ソフトウェア機能で機能代行されるユニットと同じ機能を果たすソフトウェアを前記外部端末から入手し、
前記実行手段は、前記ソフトウェアを実行する
ことを特徴とする（１７）に記載の故障箇所診断システム。
【００５０】
（２６）ソフトウェアで機能代行可能な１または複数の機能の集合体である、複数個のユニットを有する装置が故障したとき、前記複数個のユニットの中の少なくとも１つの任意のユニットを選択する選択ステップと、
前記選択ステップで選択したユニットの機能を該ユニットと同じ機能を果たすソフトウェア機能に機能代行させて前記装置を動作させる実行ステップと、
前記実行ステップの動作結果から、故障の原因箇所を判定する判定ステップと、
前記判定ステップで故障の原因箇所を特定できない場合に、前記選択ステップに戻ってユニットの選択をやり直させるステップと
を有する
ことを特徴とする故障箇所特定方法。
【００５１】
上記発明では、装置が故障したとき、任意のユニットを選択し、このユニットの機能をソフトウェア機能に機能代行させて装置の動作を実行し、該実行結果から故障の原因箇所を判定する。原因箇所を特定できないときは、ユニットの選択をやり直して、上記の動作を繰り返す。故障の検出は自動検出でもよいし、人が認識してもよい。後者の場合は故障を認識した人の操作を契機に診断動作を開始すればよい。
【００５２】
（２７）前記ユニットは、電子部品、電子基板、電子基板上に配置される集積回路チップの各々のいずれか１つまたは複数個の集合体である
ことを特徴とする（２６）に記載の故障箇所特定方法。
【００５３】
（２８）前記ユニットは、該装置の機能を階層構造または網目構造で表現した場合のいずれか１つのノードの機能または複数のノードの集合体の機能を果たすものである
ことを特徴とする（２６）に記載の故障箇所特定方法。
【００５４】
（２９）前記実行ステップは、自動または手動で行なわれる事象の発生を契機に開始する
ことを特徴とする（２６）に記載の故障箇所特定方法。
【００５５】
（３０）前記選択ステップでの選択は、故障箇所特定の算出アルゴリズムに基づいて行なう
ことを特徴とする（２６）に記載の故障箇所特定方法。
【００５６】
（３１）前記装置は画像形成装置である
ことを特徴とする（２６）に記載の故障箇所特定方法。
【発明の効果】
【００５７】
本発明に係わる故障箇所診断システム、故障箇所特定方法および装置では、ユニットの機能をソフトウェア機能に機能代行させて装置を動作させることを、代行対象のユニットを様々に変更して繰り返すことで、故障の原因箇所を特定することができる。また、故障したユニットの機能をソフトウェア機能に機能代行させることで、物理的に修理することなく装置を暫定的に使用することができ、特に、部品交換や早急の修理が困難な場合に役立つ。
【発明を実施するための最良の形態】
【００５８】
以下、図面に基づき本発明の実施の形態を説明する。
【００５９】
図１は、本発明の実施の形態に係わる故障箇所診断システム５の概略構成を示している。故障箇所診断システム５は、診断対象の装置１０と、外部端末としてのエミュレーションサーバ４０とから構成される。装置１０とエミュレーションサーバ４０とは、たとえば、インターネット、ＬＡＮ（Local Area Network）などの通信手段を通じて接続される。
【００６０】
装置１０は、ソフトウェアで機能代行（以下、エミュレーションともいう。）可能な１または２以上の機能の集合体である複数個のユニット１１と、当該装置１０の故障を検出する故障検出手段１２と、代行動作制御部１３とから構成される。
【００６１】
ユニット１１は、電子部品、電子基板、電子基板上に配置される集積回路チップ（たとえば、ＡＳＩＣ（Application Specific Integrated Circuit）など）の各々のいずれか１つ、または、各々の複数個の集合体で構成される。すなわち、装置１０は、大分類した複数の大ユニット、これら大ユニットに含まれる複数の電子基板、各電子基板に含まれる集積回路のように階層構造的に捉えることができ、それぞれの階層をユニットと捉えることができる。また、機能的には、物理的な境界を越えて、１または２以上の機能の集合体を１つのユニットとすることができる。たとえば、異なる電子基板にある複数の集積回路の集合体として１つのユニットを構成することもできる。
【００６２】
ここでは、図１に示すように、装置１０を機能的なユニットの集合体として捉えると共に、装置１０の機能を階層構造的に分類した木構造で管理している。図１では、木構造の根Ｒは装置１０全体を表わし、その下位の第１階層では、装置１０を３つのユニット１-１、１-２、１-３に大分類している。第１階層の下位の第２階層では、第１階層に属するユニット１-１、１-２、１-３をそれぞれさらに細かく複数のユニット２-１〜２-６に分類している。このようにして、各階層のユニットはそれぞれその下位層において複数のユニットに細分化される。
【００６３】
故障箇所診断システム５では、木構造における各階層のノードを１つのユニットとすることができ、上位階層のユニットはその下位に属するすべてのユニットの集合体としての機能を果たす。また、あるユニットの下位層に属する複数のユニットの内の一部の複数ユニットを融合させたものを１つのユニット（融合ユニット）として扱うこともできるようになっている。図１では、融合ユニットを破線で囲って示してある。たとえば、第３階層のユニット３-１とユニット３-２とを融合させた融合ユニットＹ３-１や、第２階層のユニット２-５とユニット２-６とを融合させた融合ユニットＹ２-１などを設定することができる。
【００６４】
故障箇所診断システム５は、装置１０が故障した際に、その故障の原因箇所が上記木構造内のどのユニットであるかを診断するシステムであり、いずれかのユニットの機能を装置１０から切り離し、そのユニットの機能をエミュレーションサーバ４０が提供するソフトウェア機能で機能代行させた状態で装置１０を動作させ、その動作結果から、故障の原因箇所を判定するようになっている。代行動作制御部１３は、上記の診断動作を行なうための装置１０側の動作を統括制御するものである。なお、図１に示す木構造の各階層は、ソフトウェアで機能代行する際のユニットの切り離しレベルに対応しており、第１階層を切り離しレベル１、第２階層を切り離しレベル２などとする。
【００６５】
エミュレーションサーバ４０は、装置１０のユニットと同一の機能を果たすエミュレータ４１と、装置１０とのインターフェイスやエミュレータ４１の動作を管理するエミュレーション制御部４２と、故障の原因を解析する際の探索ルートなどを決定する原因解析エンジン４３とを備えている。エミュレータ４１は、木構造で表した各階層のユニット毎および定義され得る融合ユニット毎に設けてある。
【００６６】
図２は、装置１０およびエミュレーションサーバ４０の機能構成をより詳細に示したものである。装置１０の代行動作制御部１３は、通知手段２１と、指定受信手段２２と、入手手段２３と、実行手段２４と、結果連絡手段２５としての機能を果たす。エミュレーションサーバ４０のエミュレーション制御部４２は、通知受信手段５１と、選択手段５２と、送信手段５３と、判定手段５４と、結果受信手段５５と、接続部５６としての機能を果たす。
【００６７】
装置１０の通知手段２１は、故障検出手段１２が検出した故障の発生をエミュレーションサーバ４０に通知する機能を果たす。エミュレーションサーバ４０の通知受信手段５１は、装置１０から先の通知を受信する機能を果たす。選択手段５２は、装置１０が有する複数個の中の少なくとも１つの任意のユニットを選択する機能を果たす。送信手段５３は、選択手段５２で選択したユニットを示す指定情報を装置１０に送信する機能を果たす。
【００６８】
装置１０の指定受信手段２２は、エミュレーションサーバ４０から指定情報を受信する機能を果たす。入手手段２３は、指定受信手段２２が受信した指定情報が示すユニットの機能と同一の機能を果たすソフトウェア機能をエミュレーションサーバ４０から入手する機能を果たす。具体的には、指定情報が示すユニットの機能に対応するエミュレータ４１と当該装置１０の実行手段２４とを通信回線およびエミュレーションサーバ４０の接続部５６を介して接続する機能を果たす。エミュレーション制御部４２は装置１０からの要求に応じて該当するエミュレータ４１のインスタンスを生成して稼動させる。なお、エミュレータ４１と接続部５６とにより、ソフトウェア機能を装置１０に提供する機能代行手段５７としての機能を果たしている。
【００６９】
実行手段２４は、エミュレーションサーバ４０から入手したソフトウェア機能で先の指定情報が示すユニットの機能を機能代行させて当該装置１０を動作させる機能を果たす。詳細には、ソフトウェア機能で機能代行されるユニットに対する信号や情報の入出力が、エミュレーションサーバ４０の該当するエミュレータ４１との間で行なわれるように接続を切り替える機能を果たす。すなわち、指定情報で指定されたユニットを装置１０から切り離し、この切り離したユニットへ他のユニットから入力されていた情報を、エミュレーションサーバ４０に通信回線を通じて送信する機能を果たす。エミュレーションサーバ４０の接続部５６は、受信した情報を該当するエミュレータ４１に入力すると共に、そのエミュレータ４１が出力する情報を装置１０に送信する。装置１０の実行手段２４は、エミュレーションサーバ４０から受信した情報を先の切り離したユニットから出力された情報として扱い、この情報を、本来、その切り離したユニットの出力が入力されるユニットに対して入力するように動作する。
【００７０】
たとえば、ユニット相互間での情報のやり取りが無線で行なわれる場合には、切り離したユニットを通信先としていたユニットの通信先を代行動作制御部１３の実行手段２４に切り替えれば、該実行手段２４を介して、エミュレーションサーバ４０にある該当のエミュレータ４１と情報の授受を行なうことができる。ユニット間が配線で接続されている場合には、スイッチユニットなどを設けて接続を切り替えるようにすればよい。
【００７１】
結果連絡手段２５は、実行手段２４による実行結果をエミュレーションサーバ４０に送信する機能を果たす。
【００７２】
エミュレーションサーバ４０の結果受信手段５５は、実行結果を装置１０から受信する機能を果たし、判定手段５４は、結果受信手段５５が装置１０から受信した実行結果に基づいて、故障の原因箇所を特定する機能を果たす。ソフトウェア機能（エミュレータ４１）で機能代行することで装置１０が正常動作に戻った場合に、そのユニットが故障の原因箇所であると判定することができる。
【００７３】
なお、選択手段５２は、判定手段５４が先の実行結果から故障の原因箇所を特定できない場合にユニットを選択し直すように動作する。すなわち、故障の原因箇所が特定できるまで、エミュレータ４１で機能代行するユニットを選択し直してはそのユニットの機能をエミュレータ４１で機能代行した状態で装置１０を動作させ、その実行結果を取得して判定するという動作を繰り返し行なう。故障の原因箇所の特定は、図１に示した木構造において所望の階層（切り離しレベル）でユニットを特定できた場合に終了し、それより上位の階層で故障の原因ユニットが判明した場合でもその時点では故障の原因箇所は特定されていないものと扱うようになっている。
【００７４】
原因解析エンジン４３は、ルート決定部６１と、融合パターン決定部６２と、細分化最下層決定部６３とを備えている。ルート決定部６１は、故障の原因箇所を探索するルートを決定する機能を果たす。たとえば、装置１０の通知手段２１から故障の通知として故障の種類を表わしたエラーコードが受信される場合には、そのエラーコードに応じてどの階層のどのユニットからエミュレーションを開始すべきかを決定する。
【００７５】
融合パターン決定部６２は、細分化されているユニットをどのように融合させて１つのユニットにするかを決定する機能を果たす。細分化最下層決定部６３は、故障の原因箇所が特定されたと判定される階層（細分化最下層と呼ぶ。）を決定する機能を果たす。原因解析エンジン４３を用いることで故障の原因箇所の絞込みが効率化される。
【００７６】
図３は、図１に示すような階層構造でユニットの機能が表現される場合に故障箇所診断システム５が行なう診断動作のステートチャートを示している。装置１０でトラブルが発生すると（Ｓ１）、診断動作が開始される。最初に原因解析エンジン４３でトラブル解析が行なわれ（Ｓ２）、次にそのトラブルの種別などに応じて、故障の原因ユニットを探索するルートの決定と、融合パターンの決定と、細分化最下層の決定とが原因解析エンジン４３で行なわれる（Ｓ３）。
【００７７】
次に、原因解析エンジン４３によって決定されたルートの中の最上位階層に含まれるいずれかのユニットをソフトウェア機能（エミュレータ４１）でエミュレーションする対象ユニットの開始点に設定する（Ｓ４）。そして、装置１０からこのユニットを切り離し（Ｓ５）、該ユニットの機能と同一の機能を果たすエミュレータ４１のインスタンスを生成し（Ｓ６）、当該エミュレータを先に切り離したユニットの代わりに装置１０に接続する（Ｓ７）。さらに、切り離したユニットの機能が該エミュレータで機能代行される状態の下で装置１０を動作させて、その動作を検証する（Ｓ８）。この検証動作は、エミュレータ接続後、自動で開始される場合と、オペレータの操作などを契機に手動で開始される場合とがある。たとえば、オペレータが何らかの媒体をセットしなれば検証動作を開始できないような場合は、手動による開始となる。
【００７８】
次に、検証動作の結果に基づいて故障の原因ユニットを特定する（Ｓ９）。たとえば、装置１０が正常に動作した場合は、現在エミュレータ４１で機能代行しているユニットが故障の原因ユニットであると判定する。当該階層において故障の原因ユニットを特定できないときは、エミュレーションの対象ユニットを同一階層に属する次のユニットに選択し直して（Ｓ１０）、上記Ｓ５からＳ９の動作を再度行なう。
【００７９】
当該階層において故障の原因ユニットを特定できたときは、当該階層が原因解析エンジン４３によって設定された細分化最下層か否かを判定し（Ｓ１１）、細分化最下層でなければ、１階層下へ移動する（Ｓ１２）。そして、移動後の階層に属するいずれかのユニットをエミュレーションの対象ユニットに設定し（Ｓ４）、Ｓ５からの一連の動作を実行する。原因解析エンジン４３によって設定された細分化最下層で故障の原因ユニットを特定できたときは、診断動作が終了する（Ｓ１３）。
【００８０】
たとえば、上記の動作を図１の第１階層（切り離しレベル１）のユニット１-１から開始すると、ユニット１-１、ユニット１-２、ユニット１-３の順でエミュレーションする過程でいずれかのユニットが原因ユニットに特定されて第２階層（切り離しレベル２）に移動する。そして、ユニット２-１、ユニット２-２、……、ユニット２-６の順でエミュレーションする過程でいずれかのユニットが原因ユニットに特定されて第３階層（切り離しレベル３）に移動する。このような動作が原因ユニットを細分化最下層で特定するまで繰り返される。
【００８１】
図４は、故障が発生してからその原因ユニットを特定するまでの動作シーケンスであって、オペレータが介在する場合の一例を示している。故障が発生したこと（Ｓ２１）を、オペレータが装置１０の動作状況や出力結果などから判断し、その故障の種類に応じたエラーコードをオペレータが図示省略の操作パネルなどから入力する（Ｓ２２）。
【００８２】
装置１０は、オペレータによって入力されたエラーコードをエミュレーションサーバ４０に通知する（Ｓ２３）。エミュレーションサーバ４０は原因解析エンジン４３でトラブル解析を行ない（Ｓ２４）、そのトラブルの種別などに応じて、故障の原因ユニットを探索するルート、融合パターン、細分化最下層などを所定の算出アルゴリズムで算出して、エミュレーション手順を決定する（Ｓ２５）。
【００８３】
エミュレーションサーバ４０は、決定したエミュレーション手順に基づいて次にエミュレーションする対象ユニットを選択し、そのユニットを表わす指示情報を装置１０に送信する（Ｓ２６）。装置１０は指示情報で指定されたユニットを切り離すと共に、該ユニットの機能と同一の機能を果たすエミュレータ４１に接続する（Ｓ２７）。
【００８４】
該当するエミュレータ４１との接続が完了すると、装置１０はオペレータに所定の操作依頼を行ない（Ｓ２８）、オペレータがその操作を実行した（Ｓ２９）ことを契機に、エミュレータ４１を用いた検証動作を実行する（Ｓ３０）。そして、この検証動作の結果をエミュレーションサーバ４０に連絡する（Ｓ３１）。検証動作の結果確認をオペレータが行なう場合には、たとえば、「回復」・「回復せず」のいずれかの選択操作をオペレータに依頼し、該操作内容を検証動作の結果としてエミュレーションサーバ４０に連絡すればよい。上記シーケンスのＳ２６からＳ３１は、故障の原因ユニットが細分化最下層で特定されるまで、エミュレーションの対象ユニットを変更しながら繰り返し実行される。
【００８５】
故障の原因ユニットが細分化最下層で特定されたときは、終了の確認が装置１０とエミュレーションサーバ４０との間で行なわれ（Ｓ３２、Ｓ３３）、装置１０はオペレータに対して故障の原因ユニットの通知や故障の診断動作が完了した旨の通知を行ない（Ｓ３４）、一連のシーケンスが完了する。
【００８６】
図５は、故障が発生してからその原因ユニットを特定するまでの動作シーケンスであって、オペレータが介在しない場合の一例を示している。故障の発生は装置１０が認識し（Ｓ４１）、その故障の種類に応じたエラーコードをエミュレーションサーバ４０に通知する（Ｓ４２）。エミュレーションサーバ４０は原因解析エンジン４３でトラブル解析を行ない（Ｓ４３）、その解析結果に応じて、故障の原因ユニットを探索するルート、融合パターン、細分化最下層などを算出し、エミュレーション手順を決定する（Ｓ４４）。
【００８７】
エミュレーションサーバ４０は、決定したエミュレーション手順に基づいて次にエミュレーションする対象ユニットを選択し、そのユニットを表わす指示情報を装置１０に送信する（Ｓ４５）。装置１０はエミュレーションサーバ４０から受信した指示情報で指定されたユニットを切り離すと共に、該ユニットに対応するエミュレータ４１に接続する（Ｓ４６）。
【００８８】
エミュレータ４１との接続が完了すると、装置１０は該エミュレータ４１を用いた検証動作を自動実行し（Ｓ４７）、この検証動作の結果をエミュレーションサーバ４０に連絡する（Ｓ４８）。上記シーケンスのＳ４５からＳ４８は、故障の原因ユニットが細分化最下層で特定されるまで、エミュレーションの対象ユニットを変更しながら繰り返し実行される。故障の原因ユニットが細分化最下層で特定されると、終了の確認が装置１０とエミュレーションサーバ４０との間で行なわれて（Ｓ４９、Ｓ５０）、一連のシーケンスが完了する。
【００８９】
このように、ユニットの機能をエミュレータ４１でエミュレーションして装置１０を動作させることを、エミュレーションの対象ユニットを変更しながら繰り返すことで、故障の原因ユニットを特定するので、故障の原因箇所を確実に特定でき、その特定したユニットを交換・修理すれば装置１０が正常動作することが保証される。
【００９０】
なお、故障の原因ユニットとして特定されたユニットの機能を該当するエミュレータ４１に機能代行させた状態を継続させれば、ユニットを交換・修理しなくても装置１０を使用することができ、緊急の場合などの暫定使用が可能になる。
【００９１】
次に、診断対象の装置１０が画像形成装置である場合を例に、故障箇所診断システム５の動作を説明する。
【００９２】
図６は、画像形成装置としての複合機１００の概略構成を示している。複合機１００は、原稿を読み取ってその複製画像を記録紙に印刷出力するコピー機能、読み取った画像を通信回線を通じて相手方端末に送信したり、相手方が送信した画像を受信したりするファクシミリ機能、パーソナルコンピュータなどから送られてくる印刷データに従って印刷するプリンタ機能などを備えた装置である。
【００９３】
複合機１００は、原稿台に載置された原稿を１枚ずつ繰り出しては読み取り位置へ搬送する自動原稿搬送装置１０１と、原稿の画像を読み取る画像読み取り部１０２と、原稿を読み取るなどして得た画像データに各種の加工を施す画像処理部１０３と、電子写真プロセスによって画像を記録紙上に形成する画像形成部１０５と、画像データに基づいて画像形成部１０５の感光体ドラムに画像の書き込みを行なう画像書き込み部１０４と、記録紙を搬送する用紙搬送部１０６とから構成される。
【００９４】
本例では、後述する圧縮／伸張チップの不良によりファクシミリ送信時の出力画像にゆがみが発生する故障が発生したものとする。また原因は、画像処理基板上の伸張機能不良によるもので、画像読み取り部１０２で取得した画像データをファクシミリ送信処理へ受け渡す際に、画像の幅（ミリ／インチ）変換に失敗したものとする。
【００９５】
故障の発生はオペレータにより認識され、オペレータは、複合機１００の操作パネルからトラブル内容に対応するエラーコードを入力する。入力内容は複合機１００からエミュレーションサーバ４０に送信され、エミュレーションサーバ４０に実装された原因解析エンジン４３により、エミュレーション手順が決定される。原因解析エンジン４３は、複合機１００から受信したエラーコードに基づいて故障の大まかな箇所が「デジタル画像処理系」にあることを導き出す。「デジタル画像処理系」は、（１）ＣＣＤユニット１２１、（２）画像処理基板１２２、（３）書き込み系ユニット１２３に大別される。ＣＣＤユニット１２１は、アナログ画像信号をデジタル信号に変換する機能を果たす。画像処理基板１２２は、ＣＣＤユニット１２１でデジタル化された画像データに各種の画像処理を施す回路ユニットである。書き込み系ユニット１２３は、画像処理基板１２２で加工された画像データに基づいて画像書き込み部１０４のレーザーダイオードをオンオフ変調する機能などを果たすユニットである。
【００９６】
図７は、複合機１００の機能を分類した木構造を、本例の故障（圧縮／伸張チップ不良によりファクシミリ送信時の出力画像にゆがみ発生）に係わる部分を中心に表わしたものである。第１階層（切り離しレベル１）は、複合機１００を大分類した階層でデジタル画像処理系ユニット１１２が含まれる。デジタル画像処理系ユニット１１２は、上記のＣＣＤユニット１２１、画像処理基板１２２、書き込み系ユニット１２３に細分化される。これらは第２階層（切り離しレベル２）に属するユニットである。
【００９７】
画像処理基板１２２はさらに、輝度・濃度変換ユニット１３１、主走査変倍処理ユニット１３２、空間フィルタ処理ユニット１３３、ガンマカーブ変換部１３４、誤差拡散処理部１３５、画像圧縮／伸張ユニット１３６、ＰＷＭ変換部１３７に細分化される。これらは第３階層（切り離しレベル３）に属するユニットである。画像圧縮／伸張ユニット１３６はさらに圧縮ユニット１４１と、伸張ユニット１４２と、画像メモリ１４３とに細分化され、これらは第４階層（切り離しレベル４）に属するユニットである。
【００９８】
原因解析エンジン４３は複合機１００から受信したエラーコードに基づいて故障の大まかな箇所がデジタル画像処理系ユニット１１２にあることを導き出しているので、エミュレーション手順の開始位置をデジタル画像処理系ユニット１１２の下位の３つのユニット１２１、１２２、１２３が属する第２階層（切り離しレベル２）に設定する。また、細分化最下層を圧縮ユニット１４１などが属する第４階層（切り離しレベル４）に設定する。
【００９９】
図８は、上記のエミュレーション手順で設定された切り離しレベル２における診断動作の流れを示している。エミュレーションサーバ４０は、上記エミュレーション手順を複合機１００に通知する（Ｓ２０１）。具体的には、ＣＣＤユニット１２１の切り離しを指示情報で通知する。複合機１００は、指示されたＣＣＤユニット１２１を切り離し（Ｓ２０２）、エミュレーションサーバ４０の該当するＣＣＤユニット用のエミュレータと接続する。エミュレーションサーバ４０は、ＣＣＤユニット用のエミュレータと出力用ダミーデータとを利用可能に準備する（Ｓ２０３）。なお、ＣＣＤユニット１２１および書き込み系ユニット１２３についてはその機能の全容をソフトウェアではエミュレーションできないため、エミュレーションサーバ４０に予め用意してある出力用ダミーデータを使用するようになっている。
【０１００】
装置１０は、ＣＣＤユニット１２１のエミュレーションが可能な状態になると（Ｓ２０４）、ファクシミリ送信を実行するための操作をオペレータに依頼する。オペレータが該操作を行なうと（Ｓ２０５）、ＣＣＤユニット１２１の機能をエミュレーションサーバ４０側の該当エミュレータに置き換えた状態でファクシミリ送信動作を実行する。オペレータはこの動作の結果が正常動作であったか否かを判断して操作パネルから入力する。正常であれば、切り離しレベル２における原因ユニットがＣＣＤユニット１２１であると特定して、次の切り離しレベル３での診断動作に移行する。
【０１０１】
原因が特定されない場合は、次に画像処理基板１２２を対象にユニットの切り離しとエミュレータの接続とを行ない（Ｓ２０６、Ｓ２０７）、画像処理基板１２２のエミュレーションが可能な状態になると（Ｓ２０８）、再び、ファクシミリ送信の操作をオペレータに依頼する。オペレータが該操作を行なうと（Ｓ２０９）、画像処理基板１２２の機能をエミュレーションサーバ４０側の該当エミュレータに置き換えた状態でファクシミリ送信の動作を実行し、オペレータからその動作結果の入力操作を受ける。正常動作であれば、切り離しレベル２における原因ユニットが画像処理基板１２２であると特定して、切り離しレベル３での診断動作に移行する。
【０１０２】
原因が特定されない場合は、書き込み系ユニット１２３を対象にユニットの切り離しとエミュレータの接続とを行ない（Ｓ２１０、Ｓ２１１）、書き込み系ユニット１２３のエミュレーションが可能な状態になると（Ｓ２１２）、再度、ファクシミリ送信の操作をオペレータに依頼する。オペレータが該操作を行なうと（Ｓ２１３）、書き込み系ユニット１２３の機能をエミュレーションサーバ４０側の該当エミュレータに置き換えた状態でファクシミリ送信の動作を実行し、オペレータからその動作結果の入力操作を受ける。正常動作であれば、切り離しレベル２における原因ユニットが書き込み系ユニット１２３であると特定して、切り離しレベル３での診断動作に移行する。これでも正常動作しないときは原因を特定できないとして処理を終了する。
【０１０３】
本例では、画像処理基板１２２をエミュレーションした動作結果のみ、ファクシミリ送信時の画像のゆがみが解消され、画像処理基板１２２が切り離しレベル２における原因ユニットに特定される。そこで、画像処理基板１２２の下位層（切り離しレベル３）に属するユニットを対象にして次の切り離しレベルでの診断動作が行なわれる。
【０１０４】
図９は、画像読み取り部１０２で読み取った画像をファクシミリ送信する処理の流れを示している。同図内の各機能部（四角で囲った各部）が画像処理基板１２２の下位層に属する機能であり、これらが切り離しレベル３におけるエミュレーションの対象ユニットに定義される。ユニットを切り離してエミュレーションする手順は図８に示した切り離しレベル２の場合と同様であり、その説明は省略する。
【０１０５】
本例では、画像圧縮／伸張ユニット１３６をエミュレーションした動作結果のみ、ファクシミリ送信時の画像のゆがみが解消され、画像圧縮／伸張ユニット１３６が切り離しレベル３における原因ユニットに特定される。そこで、画像圧縮／伸張ユニット１３６の下位層（切り離しレベル４）に属するユニットを対象にして次の切り離しレベルでの診断動作が行なわれる。
【０１０６】
図１０は、画像読み取り部１０２で読み取った画像をファクシミリ送信する際に画像圧縮／伸張ユニット１３６が行なう処理の流れであり、同図内の各機能部（四角で囲った各部）が切り離しレベル４におけるエミュレーションの対象ユニットに定義される。ユニットを切り離してエミュレーションする手順は図８に示した切り離しレベル２の場合と同様であり、その説明は省略する。
【０１０７】
本例では、伸張ユニット１４２をエミュレーションした動作結果のみ、ファクシミリ送信時の画像のゆがみが解消され、伸張ユニット１４２が切り離しレベル４における原因ユニットに特定される。切り離しレベル４は、今回の診断動作における細分化最下層に設定されているので、これで診断動作は終了し、故障の原因は伸張ユニット１４２であると特定される。
【０１０８】
これまでに説明した故障箇所診断システム５では、エミュレーションサーバ４０側に原因解析エンジン４３や選択手段５２、判定手段５４などを備えるように構成したが、故障箇所診断システム５の各手段の配置構成は図１、図２に示したものに限定されない。原因解析エンジン４３や選択手段５２などの機能を装置１０が備えるようにし、エミュレーションサーバ４０は単に装置１０から指示されたエミュレータを提供するだけでもよい。また、エミュレーションサーバ４０が有するすべての機能を装置１０側に取り込むように構成してもよい。
【０１０９】
図１１は、エミュレーション手順の決定や故障箇所の判定などを装置側で行なう故障箇所診断システム５ａの構成を例示したものである。図２に示す故障箇所診断システム５と同一の機能を果たす部分には同一の符号に添え字の「ａ」を付加して記してある。図１１の故障箇所診断システム５ａでは、故障検出手段１２ａが装置１０ａの故障を検出したとき、自装置１０ａの代行動作制御部１３ａに設けた原因解析エンジン４３ａでエミュレーション手順を決定し、さらに選択手段５２ａでエミュレーションの対象ユニットを決定する。
【０１１０】
入手手段２３ａは選択手段５２ａが選択したユニットと同じ機能を果たすソフトウェア機能をエミュレーションサーバ４０ａから入手し、実行手段２４ａは、前記ユニットの機能をエミュレーションサーバ４０ａから入手したソフトウェア機能に機能代行させて当該装置１０ａを動作させる。装置１０ａの判定手段５４ａは、エミュレーションした状態での実行結果に基づいて、故障の原因ユニットを判定する。細分化最下層で故障の原因ユニットを特定できるまで、先のエミュレーション手順に従って対象ユニットを選択し直して診断動作を実行することが繰り返し行なわれる。
【０１１１】
この故障箇所診断システム５ａでは、エミュレーションサーバ４０ａは装置１０ａの入手手段２３ａから要求されたエミュレータ４１を起動して装置１０ａに接続すればよい。
【０１１２】
図１２は、診断動作を単体で完結できるようにした装置１０ｂの構成を示している。図２に示す故障箇所診断システム５と同一の機能を果たす部分には同一の符号に添え字の「ｂ」を付加して記してある。装置１０ｂは、各ユニットと同じ機能を果たすソフトウェア機能（エミュレータ４１ｂ）を提供する機能代行手段５７ｂを備えている。
【０１１３】
故障検出手段１２ｂが装置１０ｂの故障を検出したとき、自装置１０ｂの代行動作制御部１３ｂに設けた原因解析エンジン４３ｂでエミュレーション手順を決定し、さらに選択手段５２ｂでエミュレーションの対象ユニットを決定する。実行手段２４ｂは、機能代行手段５７ｂからその対象ユニットと同じ機能を果たすソフトウェア機能（エミュレータ４１ｂ）の提供を受け、該ソフトウェア機能に対象ユニットの機能を機能代行させて当該装置１０ｂを動作させる。
【０１１４】
装置１０ｂの判定手段５４ｂは、エミュレーションした状態での実行結果に基づいて、故障の原因ユニットを判定する。原因解析エンジン４３ｂで定めた細分化最下層において故障の原因ユニットが特定されるまで、エミュレーション手順に従って対象ユニットを選択し直して診断動作を実行することが繰り返し行なわれる。
【０１１５】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【０１１６】
たとえば、実施の形態では、装置１０の機能を木構造の階層構造で表現したが、網目構造であってもよいし、その他の構造に機能を分類して表現してもよい。また、ユニットは木構造や網目構造の１つのノードに限定されず、２以上のノードの集合体を１つのユニットと定義できてもよい。
【０１１７】
実施の形態では、ユニットをソフトウェアでエミュレーションした状態の元で装置１０の動作を、装置１０側での自動またはオペレータ操作による手動で開始するようにしたが、エミュレーションサーバ４０側から自動で装置１０の動作を開始させてもよいし、エミュレーションサーバ４０側のオペレータが装置１０の動作を遠隔操作（手動）で開始させてもよい。装置１０とエミュレーションサーバ４０との間の通信は、無線通信でも有線通信でもよい。
【０１１８】
故障の原因箇所を探索する際のルートの決定や細分化最下層の決定などの算出アルゴリズムは実施の形態で例示したものに限定されない。木構造を上から下に辿るアルゴリズムは効率よく原因箇所を特定できるが、総当り的に各ユニットを調べるものや、ユニットの機能をソフトウェア機能に機能代行させて装置を動作させることを様々にユニットを変えてトライ・アンド・エラー的に行なって、故障の原因箇所を見出すものでもかまわない。
【０１１９】
１回のエミュレーション動作で独立した複数ユニットの機能をソフトウェア機能で機能代行させてもよい。たとえば、図１のユニット２-１と、ユニット２-５との双方をエミュレーション対象とした状態で装置を動作させてもよい。
【０１２０】
さらに実施の形態では、エミュレーションサーバ４０側にあるエミュレータと装置１０とを接続するようにしたが、エミュレーションサーバ４０からエミュレータ用のソフトウェアを装置１０にダウンロードし、該ソフトウェアを装置１０で実行させてユニットの機能をエミュレーションするように構成してもよい。
【０１２１】
本発明が対象とする装置は、複合機１００に限定されず、ソフトウェアで機能代行可能な複数個のユニットを構成要素にする装置であればよい。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施の形態に係わる故障箇所診断システムの概略構成と装置側の機能を木構造で表わした説明図である。
【図２】本発明の実施の形態に係わる故障箇所診断システムの機能構成を示すブロック図である。
【図３】本発明の実施の形態に係わる故障箇所診断システムが行なう診断動作のステートチャートである。
【図４】本発明の実施の形態に係わる故障箇所診断システムが行なう診断動作の動作シーケンスであって、オペレータが介在する場合の一例を示す説明図である。
【図５】本発明の実施の形態に係わる故障箇所診断システムが行なう診断動作の動作シーケンスであって、オペレータが介在しない場合の一例を示す説明図である。
【図６】本発明の実施の形態に係わる故障箇所診断システムの装置として例示した複合機の概略構成を示す説明図である。
【図７】複合機の機能を表現した木構造の一部を例示した説明図である。
【図８】複合機に対する診断動作の切り離しレベル２におけるエミュレーション手順を示す説明図である。
【図９】複合機の画像読み取り部で読み取った画像をファクシミリ送信する際に画像処理基板が行なう処理を示す流れ図である。
【図１０】複合機の画像読み取り部で読み取った画像をファクシミリ送信する際に画像圧縮／伸張ユニットが行なう処理を示す流れ図である。
【図１１】エミュレーション手順の決定や故障箇所の判定などを装置側で行なう故障箇所診断システムの構成を示すブロック図である。
【図１２】診断動作を単体で完結できる装置の構成を示すブロック図である。
【符号の説明】
【０１２３】
５…故障箇所診断システム
１０…装置
１１…ユニット
１２…故障検出手段
１３…代行動作制御部
２１…通知手段
２２…指定受信手段
２３…入手手段
２４…実行手段
２５…結果連絡手段
４０…エミュレーションサーバ
４１…エミュレータ
４２…エミュレーション制御部
４３…原因解析エンジン
５１…通知受信手段
５２…選択手段
５３…送信手段
５４…判定手段
５５…結果受信手段
５６…接続部
５７…機能代行手段
６１…ルート決定部
６２…融合パターン決定部
６３…細分化最下層決定部
１００…複合機
１０１…自動原稿搬送装置
１０２…画像読み取り部
１０３…画像処理部
１０４…画像書き込み部
１０５…画像形成部
１０６…用紙搬送部
１１２…デジタル画像処理系ユニット
１２１…ＣＣＤユニット
１２２…画像処理基板
１２３…書き込み系ユニット
１３１…輝度・濃度変換ユニット
１３２…主走査変倍処理ユニット
１３３…空間フィルタ処理ユニット
１３４…ガンマカーブ変換部
１３５…誤差拡散処理部
１３６…画像圧縮／伸張ユニット
１３７…ＰＷＭ変換部
１４１…圧縮ユニット
１４２…伸張ユニット
１４３…画像メモリ
【図１】
2007052669.tif 000003
【図２】
2007052669.tif 000004
【図３】
2007052669.tif 000005
【図４】
2007052669.tif 000006
【図５】
2007052669.tif 000007
【図６】
2007052669.tif 000008
【図７】
2007052669.tif 000009
【図８】
2007052669.tif 000010
【図９】
2007052669.tif 000011
【図１０】
2007052669.tif 000012
【図１１】
2007052669.tif 000013
【図１２】
2007052669.tif 000014