(57)【要約】【課題】堅牢な診断機構を提供すると共に、診断項目を新たに追加することが容易であって、想定外の問題が発生した場合でも問題を検知するための診断プログラムを容易に追加可能として、診断の質を向上できるようにする。【解決手段】ＵＳＢメモリがＵＳＢインタフェース２１に装着されたことを検知すると、第１ＵＳＢバス２８−１を介して診断が開始され、インタフェース診断が正常に終了すると、バス切替ポート２２によって第１ＵＳＢバス２８から第２ＵＳＢバス２８−２に切り替えられ、本体側ボード３０側のＵＳＢホスト３１と通信することができる。診断が異常終了した場合は、本体側ボード３０にエラーを通知して、ユーザに診断が失敗した旨を通知する。【選択図】図１
2011065298.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢメモリが装着可能な情報処理装置であって、
前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断ボードと、前記診断ボードと第１のバスを介して接続され、本体機能を備えた本体側ボードと、で構成され、
前記診断ボードは、
前記ＵＳＢメモリを装着するインタフェース手段と、
前記インタフェース手段に前記ＵＳＢメモリが装着されると、当該ＵＳＢメモリの規格が前記本体側ボードの規格に適合しているか否かを診断プログラムの実行により診断を行う診断手段と、
を備え、前記診断手段による診断が正常終了した場合は、前記診断ボードに接続されたＵＳＢメモリを前記第１のバスを介して前記本体側ボードの本体機能に利用することを特徴とする情報処理装置。
【請求項２】
前記診断ボードは、前記診断手段による診断が正常終了した場合に、前記インタフェース手段と前記診断手段とを接続するバスを、前記インタフェース手段と前記本体側ボードとを接続する前記第１のバスに切り替えるバス切替手段を備えていることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記診断ボードと前記本体側ボードとは、前記第１のバス以外に、第２のバスを介して接続されていることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記診断ボードは、前記診断手段による診断結果が異常と判定された場合、前記第２のバスを用いて前記本体側ボードに対して診断結果を通知し、
前記本体側ボードは、受信した診断結果に基づいて診断結果に異常があることをユーザに知らせる通知手段を備えていることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記診断ボードは、前記診断手段による前記ＵＳＢメモリの診断中、一定周期毎に正常動作していることを前記第２のバスを用いて前記本体側ボードに通知する正常動作通知手段を備え、
前記本体側ボードは、前記診断ボードの正常動作通知手段からの通知が一定時間経過しても届かない異常が発生した場合、前記診断ボードのハードウェアをリセットするリセット手段を備えていることを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記本体側ボードは、前記診断ボードの前記診断手段による診断中の異常発生時に、異常の内容および診断の詳細結果を保存する異常内容記憶手段を備えていることを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記本体側ボードは、前記診断ボードで実施すべき診断項目の更新内容を、少なくともネットワーク、あるいは、着脱可能な二次記憶手段から受け取ることができる更新内容受取手段を備え、
前記更新内容受取手段で受け取った診断項目の更新内容に基づいて前記診断ボードの診断項目を更新することを特徴とする請求項１〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記診断ボードは、前記更新内容受取手段で受け取った診断項目の更新内容を前記第２のバスを用いて受信し、該受信した更新内容に基づいて診断項目を更新する診断項目更新手段を備えていることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
ネットワークを介して複数の情報処理装置とサーバとが接続された情報処理システムであって、
前記情報処理装置は、ＵＳＢメモリが装着可能で、装着されたＵＳＢメモリの規格が適合しているか否かを診断する診断ボードと、該診断ボードと第１のバスを介して接続され、本体機能を備えた本体側ボードとで構成され、前記診断ボードは、前記ＵＳＢメモリを装着するインタフェース手段と、前記インタフェース手段に前記ＵＳＢメモリが装着されると、当該ＵＳＢメモリの規格が前記本体側ボードの規格に適合しているか否かを診断プログラムを実行して診断する診断手段と、を備え、前記本体側ボードは、前記診断ボードの前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を保存する異常内容記憶手段を備え、
前記サーバは、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する診断結果保存手段を備え、
前記情報処理装置は、前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにしたことを特徴とする情報処理システム。
【請求項１０】
前記サーバは、前記診断結果保存手段に保存された診断結果に基づいて、診断で問題の発生しないＵＳＢメモリを抽出する統計処理を行う統計処理手段を備え、
前記統計処理手段による統計処理結果を前記診断結果保存手段に保存することを特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記サーバは、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集する処理を一定周期毎に行い、前記統計処理手段によって統計処理を行うことにより、診断で問題の発生しないＵＳＢメモリの抽出内容を更新することを特徴とする請求項９または１０に記載の情報処理システム。
【請求項１２】
前記情報処理装置は、前記サーバに対して、前記診断結果保存手段に保存されている前記統計処理手段による統計処理結果を要求し、これを取得する統計処理結果取得手段と、
前記統計処理結果取得手段により取得した統計処理結果に基づいて、診断で問題の発生しないＵＳＢメモリの一覧をユーザに通知する通知手段と、
を備えていることを特徴とする請求項１０または１１に記載の情報処理システム。
【請求項１３】
情報処理装置で実行される情報処理方法であって、
前記情報処理装置は、ＵＳＢメモリを装着するインタフェース手段と、装着されたＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段とを備えた診断ボードと、本体機能を備えた本体側ボードとを備え、
前記インタフェース手段が、前記ＵＳＢメモリを前記診断ボードに装着する工程と、
前記診断手段が、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する工程と、
前記本体側ボードが、前記診断手段による診断が正常終了した場合に、前記診断ボードに接続されたＵＳＢメモリを第１のバスを介して本体機能に利用する工程と、
を含むことを特徴とする情報処理方法。
【請求項１４】
情報処理システムで実行される情報処理方法であって、
前記情報処理システムは、ネットワークを介して複数の情報処理装置とサーバとが接続され、前記情報処理装置は、ＵＳＢメモリを装着するインタフェース手段と、装着されたＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段とを備えた診断ボードと、本体機能を備えた本体側ボードとを備え、前記本体側ボードは、前記診断ボードの前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を保存する異常内容記憶手段を備え、前記サーバは、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する診断結果保存手段を備え、
前記インタフェース手段が、前記ＵＳＢメモリを前記診断ボードに装着する工程と、
前記診断手段が、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する工程と、
前記異常内容記憶手段が、前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を第１のバスを介して保存する工程と、
前記診断結果保存手段が、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する工程と、
を含み、前記情報処理装置は、前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにしたことを特徴とする情報処理方法。
【請求項１５】
コンピュータを、
診断ボードにＵＳＢメモリを装着させるインタフェース手段と、
前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段と、
前記診断手段による診断が正常終了した場合に、前記診断ボードに接続されたＵＳＢメモリを第１のバスを介して本体側ボードが本体機能に利用する手段と、
して機能させるための情報処理プログラム。
【請求項１６】
コンピュータを、
診断ボードにＵＳＢメモリを装着させるインタフェース手段と、
前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段と、
前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を第１のバスを介して保存する異常内容記憶手段と、
前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をサーバがネットワークを介して収集し、該診断結果を保存する診断結果保存手段と、
前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにした前記情報処理装置と、
して機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムに関し、より詳しくは、画像データ等を蓄積するＵＳＢメモリの機能診断を行う情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムに関する。
【背景技術】
【０００２】
従来のＵＳＢメモリは、汎用性の高さからも市場で人気があり、多くのメーカがＵＳＢメモリを製造・販売している。一般的にＵＳＢメモリは一定の規格があり、これに沿ってＵＳＢメモリが製造されている。しかし、ＵＳＢメモリの中には規格を逸脱しているものがあり、特に安価なＵＳＢメモリに多いことから、より世の中に流通し易いという傾向がある。
【０００３】
例えば、汎用ＰＣであれば別途デバイスドライバをインストールするだけでこの問題が回避できるが、組込み機器の場合は、機器ごとに構成が異なるため、このような回避策をすぐに実行することができず、規格を逸脱したＵＳＢメモリが装着されると最悪機器が停止してしまい、機器の機能に悪影響を与えることがあった。
【０００４】
そこで、この種のデバイスをハードウェア診断するものとしては、以下の特許文献１〜３に開示されたもの等がある。例えば、デジタルカメラなどの画像供給デバイスからのデータに基づいて画像を記録する、いわゆるダイレクトプリントに関する記録装置において、様々な会社のデジタルカメラが入り混じると、製造元や製品によってサポートする機能によってばらつきが生じるため、プリンタ側で検知したデジタルカメラについて、機能の有無をチェックするための診断を用意する技術が開示されている（特許文献１参照）。
【０００５】
また、複数の接続デバイスを組み合わせて構成された情報処理装置における故障診断を実施するための故障診断システムにおいて、正常時の信号パターンをあらかじめ記録しておき、信号パターンを比較することによって、異常もしくは異常が起きる可能性を事前に検出する技術が開示されている（特許文献２参照）。
【０００６】
さらに、ＵＳＢメモリのファイルシステムチェックとファイルシステムの修復に関するデータ処理装置において、着脱可能な記録媒体のファイルシステムの修復に関して効率的かつ適切に判断を行い、正常なファイルシステムを効率よく維持できるようにした技術が開示されている（特許文献３参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１は、機器のサポートの有無を判別することはできるが、機器の認識に問題があるかどうかを判定することができず、プロトコルスタックごとに診断プログラムを仕込むことができないため、ハードウェアの診断機能が情報処理装置本体と分離できないことから、劣悪なＵＳＢメモリが装着された場合に機器の動作に悪影響を及ぼす可能性が排除できないという問題があった。
【０００８】
また、上記特許文献２の診断プログラムは、情報処理装置本体に直接組み込まれるものであるため、例えば劣悪なＵＳＢメモリが装着されて診断プログラムが診断中に暴走した場合、ハードウェアの診断機能が情報処理装置本体と分離できないことから、機器の動作に悪影響を及ぼす可能性があるという問題があった。
【０００９】
また、上記特許文献３は、ファイルシステムの診断を実施するものであるが、ＵＳＢの規格を守っているか否かは診断対象に含まれておらず、診断プログラムが情報処理装置本体に直接組み込まれるものであるため、例えば劣悪なＵＳＢメモリが装着されて診断プログラムが診断中に暴走した場合、ハードウェアの診断機能が情報処理装置本体と分離できないことから、機器の動作に悪影響を及ぼす可能性があるという問題があった。
【００１０】
さらに、上記特許文献１〜３に共通なものとして、ハードウェアの診断機能が異常動作を引き起こした場合に、異常状態を回復する術がなく、ハードウェアの診断処理結果がその場限りのものであって、それ以後活用されることがない上、ハードウェアの診断処理の更新方法が不明確であり、更新できない可能性もあるという問題があった。
【００１１】
本発明は、上記に鑑みてなされたものであって、堅牢な診断機構を提供すると共に、診断項目を新たに追加することを容易として、市場で想定外の問題が発生した場合でも、この問題を検知するための診断プログラムを容易に追加可能となり、その結果として異常をさらに発見し易くなり、診断の質を向上させることが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、本発明は、ＵＳＢメモリが装着可能な情報処理装置であって、前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断ボードと、前記診断ボードと第１のバスを介して接続され、本体機能を備えた本体側ボードと、で構成され、前記診断ボードは、前記ＵＳＢメモリを装着するインタフェース手段と、前記インタフェース手段に前記ＵＳＢメモリが装着されると、当該ＵＳＢメモリの規格が前記本体側ボードの規格に適合しているか否かを診断プログラムの実行により診断を行う診断手段と、を備え、前記診断手段による診断が正常終了した場合は、前記診断ボードに接続されたＵＳＢメモリを前記第１のバスを介して前記本体側ボードの本体機能に利用することを特徴とする。
【００１３】
また、上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介して複数の情報処理装置とサーバとが接続された情報処理システムであって、前記情報処理装置は、ＵＳＢメモリが装着可能で、装着されたＵＳＢメモリの規格が適合しているか否かを診断する診断ボードと、該診断ボードと第１のバスを介して接続され、本体機能を備えた本体側ボードとで構成され、前記診断ボードは、前記ＵＳＢメモリを装着するインタフェース手段と、前記インタフェース手段に前記ＵＳＢメモリが装着されると、当該ＵＳＢメモリの規格が前記本体側ボードの規格に適合しているか否かを診断プログラムを実行して診断する診断手段と、を備え、前記本体側ボードは、前記診断ボードの前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を保存する異常内容記憶手段を備え、前記サーバは、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する診断結果保存手段を備え、前記情報処理装置は、前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにしたことを特徴とする。
【００１４】
また、上述した課題を解決し、目的を達成するために、本発明は、情報処理装置で実行される情報処理方法であって、前記情報処理装置は、ＵＳＢメモリを装着するインタフェース手段と、装着されたＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段とを備えた診断ボードと、本体機能を備えた本体側ボードとを備え、前記インタフェース手段が、前記ＵＳＢメモリを前記診断ボードに装着する工程と、前記診断手段が、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する工程と、前記本体側ボードが、前記診断手段による診断が正常終了した場合に、前記診断ボードに接続されたＵＳＢメモリを第１のバスを介して本体機能に利用する工程と、を含むことを特徴とする。
【００１５】
また、上述した課題を解決し、目的を達成するために、本発明は、情報処理システムで実行される情報処理方法であって、前記情報処理システムは、ネットワークを介して複数の情報処理装置とサーバとが接続され、前記情報処理装置は、ＵＳＢメモリを装着するインタフェース手段と、装着されたＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段とを備えた診断ボードと、本体機能を備えた本体側ボードとを備え、前記本体側ボードは、前記診断ボードの前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を保存する異常内容記憶手段を備え、前記サーバは、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する診断結果保存手段を備え、前記インタフェース手段が、前記ＵＳＢメモリを前記診断ボードに装着する工程と、前記診断手段が、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する工程と、前記異常内容記憶手段が、前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を第１のバスを介して保存する工程と、前記診断結果保存手段が、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をネットワークを介して収集し、該診断結果を保存する工程と、を含み、前記情報処理装置は、前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにしたことを特徴とする。
【００１６】
また、上述した課題を解決し、目的を達成するために、本発明は、コンピュータを、診断ボードにＵＳＢメモリを装着させるインタフェース手段と、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段と、前記診断手段による診断が正常終了した場合に、前記診断ボードに接続されたＵＳＢメモリを第１のバスを介して本体側ボードが本体機能に利用する手段と、して機能させる。
【００１７】
また、上述した課題を解決し、目的を達成するために、本発明は、コンピュータを、診断ボードにＵＳＢメモリを装着させるインタフェース手段と、前記診断ボードに装着された前記ＵＳＢメモリの規格が装置本体の規格と適合しているか否かを診断する診断手段と、前記診断手段による診断中の異常発生時の異常の内容、および診断の詳細結果を第１のバスを介して保存する異常内容記憶手段と、前記複数の情報処理装置の前記異常内容記憶手段に保存された診断結果をサーバがネットワークを介して収集し、該診断結果を保存する診断結果保存手段と、前記サーバの診断結果保存手段に保存された診断結果をネットワーク経由で受信できるようにした前記情報処理装置と、して機能させる。
【発明の効果】
【００１８】
本発明によれば、ＵＳＢメモリを機器での使用に供する前に、規格を逸脱していないかどうかを診断することができるため、機器の安定動作に寄与するという効果を奏する。
【００１９】
また、本発明によれば、問題のあるＵＳＢメモリであるか否かを知ることができるため、事前にトラブルを避けることができるという効果を奏する。
【００２０】
さらに、本発明によれば、メーカ側にとって、問題のあるＵＳＢメモリはどのメーカのどのデバイスかを事前に知ることができるため、将来これらのＵＳＢメモリに対する特別な対策を実施することができるという効果を奏する。
【００２１】
また、本発明によれば、ユーザ側にとって、どのＵＳＢメモリを使用可能かの情報をリアルタイムで事前に得ることができるという効果を奏する。
【００２２】
また、本発明によれば、本体側ボードと診断を行う診断ボードとを分離させて構成しているため、異常動作した際の影響を最小限度に停めることができる。
【図面の簡単な説明】
【００２３】
【図１】図１は、本発明の第１の実施の形態にかかる診断ボードと本体側ボードとを含む情報処理装置の概略構成を示すブロック図である。
【図２−１】図２−１は、本発明の情報処理装置におけるＵＳＢメモリの診断処理動作を説明するフローチャートである。
【図２−２】図２−２は、本発明の情報処理装置におけるＵＳＢメモリの診断処理動作を説明するフローチャートである。
【図３】図３は、図２−１のＵＳＢメモリ装着検知時処理のサブルーチンを説明するフローチャートである。
【図４】図４は、図２−１および図２−２において診断プログラムが正常動作している旨を本体側ボードに通知した後の本体側ボードでの処理を説明するフローチャートである。
【図５】図５は、図４の診断結果異常処理のサブルーチンを説明するフローチャートである。
【図６】図６は、情報処理装置における診断項目の移動と各部位の機能を示す概略図である。
【図７】図７は、診断項目のファイル構造を示す図である。
【図８】図８は、情報処理装置とサーバ間における診断結果送付の通信手順を説明する図である。
【図９】図９は、情報処理装置とサーバ間における推奨デバイスの問い合わせ通信手順を説明する図である。
【図１０】図１０は、第４の実施の形態にかかる情報処理装置の構成を示すブロック図である。
【図１１】図１１は、ＵＳＢメモリの診断で異常を検知したときの処理手順を示す図である。
【図１２】図１２は、ＵＳＢメモリの診断で異常を検知したときの操作部パネルへの表示例を示す図である。
【図１３】図１３は、診断失敗通知フレームの構成を示す図である。
【図１４】図１４は、診断失敗応答フレームの構成を示す図である。
【図１５】図１５は、ＨＤＤへ書き込むログの一例を示す図である。
【図１６】図１６は、ウォッチドッグが正常に実施されているときの処理手順を示す図である。
【図１７】図１７は、ウォッチドッグが正常に実施されていないときの処理手順を示す図である。
【図１８】図１８は、診断項目追加処理の処理手順を示すシーケンス図である。
【図１９】図１９は、図１８の診断項目引渡しフレームの構成を示す図である。
【図２０】図２０は、図１８の診断項目更新応答フレームの構成を示す図である。
【図２１】図２１は、診断プログラムが診断項目を実行処理する場合の概念図である。
【図２２】図２２は、診断処理プログラムの動作を説明するフローチャートである。
【図２３】図２３は、診断結果をサーバに格納するための設定を行う操作部パネルの画面例を示す図である。
【図２４】図２４は、複合機側の診断結果のアップロードとサーバ側の統計情報の取得動作を示すシーケンス図である。
【図２５】図２５は、診断結果の統計の処理概要を示す図である。
【図２６】図２６は、推薦ＵＳＢメモリを一覧表示した操作部パネルの画面例を示す図である。
【発明を実施するための形態】
【００２４】
以下に添付図面を参照して、この発明にかかる情報処理装置、情報処理システム、情報処理方法、および情報処理プログラムの最良な実施の形態を詳細に説明する。
【００２５】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかる診断ボードと本体側ボードとを含む情報処理装置の概略構成を示すブロック図である。図１に示すように、第１の実施の形態の情報処理装置の特徴は、本体側ボード３０とは別に、ＵＳＢ  Ｉ／Ｆ（インタフェース）２１を備えた診断ボード２０を別途備えている点にある。このＵＳＢインタフェース２１上では、診断プログラムが動作していて、不図示のＵＳＢメモリがＵＳＢインタフェース２１に装着されたことを検知すると、第１ＵＳＢバス２８−１を介して診断が開始され、インタフェース診断が正常に終了すると、バス切替ポート２２によって第１ＵＳＢバス２８から第２ＵＳＢバス２８−２に切り替え、本体側ボード３０側のＵＳＢホスト３１と通信できるようにする。診断が異常終了した場合は、本体側ボード３０にエラーを通知して、ユーザに診断が失敗した旨を通知する。
【００２６】
本体側ボード３０では、診断開始と終了が伝えられ、診断中は定期的に「診断プログラムが正常動作している」旨を本体側ボード３０に通知する。一定時間「診断プログラムが正常動作している」旨の通知がない場合は、本体側ボード３０は診断ボード２０に対してリセットをかけ、診断で異常があった旨をユーザに通知する。これにより、診断ボード２０が異常動作したケースでの救済策を提供することができる。診断の異常終了時には、デバイス情報などを本体側ボード３０の二次記憶部３４に保存される。
【００２７】
図１に示すように、診断ボード２０には、ＵＳＢインタフェース２１、バス切替ポート２２、ＣＰＵ２３、ＲＡＭ２４、ＵＳＢホスト２５、タイマ２６、およびＲＯＭ２７を備え、バス切替ポート２２とＵＳＢホスト２５とは第１ＵＳＢバス２８−１で接続されている。また、診断ボード２０と本体側ボード３０との間は、第２ＵＳＢバス２８−２とＩ２Ｃバスなどの本体通信バス３６で接続されている。
【００２８】
上記の本体側ボード３０とは、情報処理装置１０自身の機能を提供することを目的とするボードのことであり、ここでは、複写機能、プリンタ機能、スキャナ機能などを備えた複合機のボードを想定している。
【００２９】
また、本体側ボード３０と診断ボード２０との間を接続する本体通信バス３６は、例えば、Ｉ２ＣバスやＳＰＩバス、もしくは独自のプロトコルを備えたバスであっても構わない。この本体通信バス３６は、後述するように診断結果の通知などにも用いられる。
【００３０】
また、第１ＵＳＢバス２８−１と第２ＵＳＢバス２８−２は、ＵＳＢインタフェース２１の後段に設けられた汎用入出力ポートなどからなるバス切替ポート２２から２つに分岐していて、このＵＳＢバス切替ポート２２により、第１ＵＳＢバス２８−１と第２ＵＳＢバス２８−２のいずれか一方のみが排他的に使用できるように切り替えられる。ＵＳＢメモリの診断時には、第１ＵＳＢバス２８側を使用し、診断が正常終了したときは、第２ＵＳＢバス２９側に切り替えられて、以後本体側ボード３０からの使用が可能になる。
【００３１】
図２−１および図２−２は、本発明の情報処理装置におけるＵＳＢメモリの診断処理動作を説明するフローチャートであり、図３は、図２−１のＵＳＢメモリ装着検知時処理のサブルーチンを説明するフローチャートであり、図４は、図２−１および図２−２において診断プログラムが正常動作している旨を本体側ボードに通知した後の本体側ボードでの処理を説明するフローチャートであり、図５は、図４の診断結果異常処理のサブルーチンを説明するフローチャートである。以下、これらのフローチャートを用いて動作を説明する。
【００３２】
〔初期起動動作〕
まず、図２−１に示すように、診断ボードの診断プログラム側でＵＳＢメモリの装着検知時処理が行われる（ステップＳ１００）。この初期起動のサブルーチン処理は、図３に示すように、情報処理装置１０の本体側ボード３０の電源をＯＮすると（ステップＳ１００１）、診断ボード２０にも電源が供給される（ステップＳ１００２）。すると、診断ボード２０側のＲＯＭ２７上のブートベクタに配置された診断プログラムを動作させ（ステップＳ１００３）、ＲＡＭ２４上に展開する（ステップＳ１００４）。
【００３３】
そして、タイマ２６およびＵＳＢホスト２５を初期化して（ステップＳ１００５）、不図示のＵＳＢメモリがＵＳＢインタフェース２１に装着されるのを待つ（ステップＳ１００６）。
【００３４】
〔ＵＳＢメモリがＵＳＢインタフェースに装着された場合の動作〕
図３のステップＳ１００６において、診断ボード２０のＲＡＭ２４上で動作する診断プログラムが、ＵＳＢインタフェース２１にＵＳＢメモリが装着されたことを検知すると、ＵＳＢメモリの装着を本体側ボード３０へ通知し（ステップＳ１００７）、図２−１のステップＳ１０１に戻って、ＵＳＢメモリの診断を開始することを本体側ボード３０に通知する。上記ステップＳ１００７では、ＵＳＢメモリの装着を本体側ボード３０へ通知することによって、本体側ボード３０では診断開始を知ることができる。
【００３５】
〔プラグ＆プレイ機能の診断動作〕
まず、ステップＳ１０２のプラグ＆プレイ機能の診断動作は、デバイス側コンフィグレーションをＵＳＢメモリの規格に従って実施される。診断は、ＵＳＢケーブルの接続（アタッチ）がハードウェアレベルで実施され、一定時間以上のリセット状態を出力することでデフォルト状態に移行した後に実施される。具体的には、下記（Ａ）〜（Ｃ）が主な診断内容となる。
（Ａ）ＵＳＢメモリが有する「デバイスディスクリプタ」の情報転送が正しく行えるかどうか（ホストからの「Ｇｅｔ＿Ｃｏｎｆｉｇｕｒａｔｉｏｎ」に対する「Ｃｏｎｆｉｇｕｒｔｉｏｎ」データの返送が正しくできているかどうか）の診断。
（Ｂ）ＵＳＢホストからデバイスに「Ｓｅｔ＿Ａｄｄｒｅｓｓ」が転送されるかどうかの診断。
（Ｃ）ＵＳＢホストからデバイスに対するディスクリプタの詳細情報要求に対し、必要な情報が返送されるかどうかの診断。
【００３６】
上記したプラグ＆プレイ機能の診断動作（ステップＳ１０２）の間に、診断開始から一定周期の時間経過があったか否かを見て、一定周期の時間経過があった場合は（ステップＳ１０３）、診断プログラムが正常動作している旨を診断ボード２０から本体側ボード３０に通知し（ステップＳ１０４）、プラグ＆プレイ機能診断が終了したか否かを見て（ステップＳ１０５）、プラグ＆プレイ機能診断が終了していなければステップＳ１０２に戻って診断動作が継続される。
【００３７】
ステップＳ１０５において、プラグ＆プレイ機能の診断が終了した場合は、その診断結果を本体側ボード３０へ通知する（ステップＳ１０６）。これにより、本体側ボード３０では、診断結果を知ることができる。診断が正常終了した場合は（ステップＳ１０７）、次のファイルシステムの診断に移行する（図２−２のステップＳ１０８）。また、ステップＳ１０７において、診断が異常終了した場合は、図２−２のステップＳ１１６以降の異常終了動作が行われる。
【００３８】
〔ファイルシステムの診断動作〕
図２−２のステップＳ１０８におけるファイルシステムの診断動作は、具体的には、下記（Ｄ）と（Ｆ）が主な診断内容となる。
（Ｄ）装着されたＵＳＢメモリ内のファイルシステムが規格（この規格はファイルシステム毎に大きく異なる）を満たすかどうかの診断。
（Ｆ）装着されたＵＳＢメモリに対する読み書き照合の診断。（ただし、ＵＳＢメモリ内のデータ保存域が全て使用中であった場合は、ユーザがあらかじめ保存したデータの破損を防ぐため、装着されたＵＳＢメモリに対する読み書き照合は実施しない。）
【００３９】
上記したファイルシステムの診断動作（ステップＳ１０８）の間に、診断開始から一定周期の時間経過があったか否かを見て、一定周期の時間経過があった場合は（ステップＳ１０９）、診断プログラムが正常動作している旨を診断ボード２０から本体側ボード３０に通知し（ステップＳ１１０）、ファイルシステムの診断が終了したか否かを見て（ステップＳ１１１）、ファイルシステムの診断が終了していなければステップＳ１０８に戻って診断動作が継続される。
【００４０】
ステップＳ１１１において、ファイルシステムの診断が終了した場合は、その診断結果を本体側ボード３０へ通知する（ステップＳ１１２）。これにより、本体側ボード３０では、診断結果を知ることができる。診断が正常終了した場合は（ステップＳ１１３でＹＥＳ）、正常終了の通知を本体側ボード３０に送出し（ステップＳ１１４）、診断ボード２０のバス切替ポート２２により第１ＵＳＢバス２８−１から第２ＵＳＢバス２８−２に切り替える（ステップＳ１１５）。このように、ＵＳＢバスをハードウェア的に切り替えることにより、診断ボード２０と本体側ボード３０とを接続することができる。
【００４１】
また、ステップＳ１１３において、診断が異常終了した場合は、異常終了の通知を本体側ボード３０に送出し（ステップＳ１１６）、ユーザに診断が失敗したことを通知する（ステップＳ１１７）。ユーザへの通知は、本体側ボード３０に存在する不図示のユーザインタフェースである液晶パネルやＬＥＤなどを用いて通知する。通知内容としては、（１）ユーザに診断に失敗した事、（２）失敗の要因、（３）失敗した機器の種別（製造元を示す「ベンダーＩＤ」と該当製造元で作成された製品を識別するための「プロダクトＩＤ」）などがある。そして、この通知された情報は、図１の本体側ボード３０における二次記憶部３４に保存される。
【００４２】
〔本体側ボードの処理動作〕
続いて、本体側ボード３０で行われる処理を図４および図５を用いて説明する。上記図２−１および図２−２に示すように、診断ボード２０でＵＳＢメモリの診断を行っている間に、診断ボード２０から本体側ボード３０へ定期的に通知が行われ、本体側ボード３０では、これを受信して図４に示すような処理が行われる。ここでは、ＵＳＢメモリが装着され診断開始から一定周期で診断ボード２０が搭載している診断プログラムが正常動作していることの通知（ウォッチドッグ：Watch Dog）を用いている。これにより、本体側ボード３０では、診断ボード２０の動作状況を知ることができるため、診断ボード２０における異常動作時には、本体側ボード３０からリセットをかけることが可能となる。
【００４３】
上記したウォッチドッグ機能は、診断ボード２０が正常稼動しているかどうかを確認するもので、例えば、一定周期ごとに診断ボード２０から本体側ボード３０へ通知を行い（ステップＳ２００）。診断ボード２０からの通知を本体側ボード３０が受信すると（ステップＳ２０１）、その受信内容を確認して、受診したのが診断異常終了でなければ（ステップＳ２０２でＮＯ）、受信したのがウォッチドッグか否かを判断し、ウォッチドッグでなければ（ステップＳ２０３でＮＯ）、受信したのが診断正常終了か、それ以外の場合は（ステップＳ２０４）、ステップＳ２００に戻って診断ボード２０からの次の通知が来るのを待つ。
【００４４】
上記ステップＳ２０１において、診断ボード２０から本体側ボード３０で通信を受信しない場合は、ステップＳ２０５に移行して、ウォッチドッグ未達でタイムアウトになったか否かを判断し、タイムアウトになった場合は、ステップＳ２０６において診断ボード２０をリセットするか、電源ＯＦＦを実施した後、ステップＳ２０７において、診断結果異常処理が実施される。また、上記ステップＳ２０２において診断異常終了を受診した場合も、ステップＳ２０７の診断結果異常処理が行われる。
【００４５】
この診断結果異常処理は、図５のサブルーチンに示すように、本体側ボード３０で診断に失敗した旨を二次記憶部３４に保存し（ステップＳ２０７１）、その診断に失敗した旨をユーザに通知し（ステップＳ２０７２）、図４のステップＳ２００に戻る。この場合の通知も、本体側ボード３０のユーザインタフェースである液晶パネルやＬＥＤ等を使って通知する方法が考えられる。
【００４６】
また、上記ステップＳ２０３において、受信したのがウォッチドッグの場合は、ステップＳ２０８に移行し、ウォッチドッグを受診した時間を本体側ボード３０に記録して、ステップＳ２００に戻る。
【００４７】
情報処理装置に装着されるＵＳＢメモリの中にＵＳＢの規格に違反するものや、ファイルシステムの規格に違反するものがあると、機器に装着することにより、機器が有する機能や機器全体に悪影響を及ぼすことがある。このため、第１の実施の形態によれば、事前にＵＳＢの規格やファイルシステムの規格に違反しないかチェックすることで異常のあるＵＳＢメモリを事前に検出し、これによって機器に悪影響を及ぼすことを防ぐことができる。
【００４８】
また、診断プログラムを情報処理装置自体に含めた場合、情報処理装置でプラグ＆プレイ機能が動作する。万一、異常なＵＳＢメモリが異常なプラグ＆プレイを行うと、これ自体による悪影響が情報処理装置に発生する可能性がある。このため、第１の実施の形態によれば、バス切替ポートにより、診断中はＵＳＢメモリを情報処理装置と隔離することが可能となり、異常なＵＳＢメモリを装着したことによる悪影響を情報処理装置に及ぼすことがなくなる。さらに、診断終了後、診断プログラムが情報処理装置側にＵＳＢバスを自動的に切り替えるため、ユーザに意識させることなくＵＳＢメモリを使った機能を使用することが可能になる。
【００４９】
また、バス切替ポートにより、装置本体と診断ボードとが隔離できるが、これでは診断の結果などを情報処理装置に通知したりすることができないため、診断で異常が生じたときなどにユーザへの通知が難しくなる。診断を実施するためのハードウェアで、ユーザへの通知を行うための装置を別途備える方法もあるが、そのために別途操作部などのハードウェアを装着する必要があり、コストがかかる。このため、第１の実施の形態によれば、ＵＳＢバスとは別のバスを使って通信を行うようにすることで、診断ボードのハードウェア機能を診断機能に特化することができることから、ソフトウェアおよびハードウェアを単純化することが可能となり、その結果としてコストを低減することができる。
【００５０】
また、第１の実施の形態によれば、ＵＳＢバスとは別のバスを使って診断結果を通知するようにしたため、ユーザに装置本体側で保有するユーザインタフェース（操作部パネルやＬＥＤなど）を使って結果を通知することができる。これによって、ユーザに該当ＵＳＢメモリが使用不能である旨をわかり易く通知することができる。
【００５１】
また、ＵＳＢメモリの異常な動作や診断ソフトウェアの不具合などで診断ソフトウェアが異常動作すると、診断が正常に行われなくなると、これによってバスの切り替えもできなくなり、結果としてＵＳＢメモリが必要な機能を使用できなくなることが考えられる。そこで、第１の実施の形態によれば、ウォッチドッグ機能を保有することにより、診断ハードウェアやソフトウェアが暴走したとしても、これを正常な状態に復帰させることが可能となる。
【００５２】
また、問題のあるＵＳＢメモリの種別情報が取得できないと、情報処理装置の製造元がなんら対策を打つことができない。そこで、第１の実施の形態によれば、診断失敗の情報を蓄積することによって、情報処理装置の製造元は問題の起きるＵＳＢメモリを事前に把握することが可能となるため、該当ＵＳＢメモリに対して特別な対策を実施することができる。
【００５３】
（第２の実施の形態）
通常、情報処理装置におけるＵＳＢメモリなどの診断機能は、ユーザが積極的に使用する機能ではないため、診断を実施するためのハードウェアはユーザから見えない箇所に存在することが普通である。しかし、診断項目の追加や更新を行う必要がある場合に、例えば診断ハードウェアに対して特定の操作を行う必要があったり、機器を分解する手間がかかったりすると、ユーザにとって不便なことは明白である。そこで、第２の実施の形態の特徴は、情報処理装置が診断項目の追加機能を備えている点にある。
【００５４】
図６は、情報処理装置における診断項目の移動と各部位の機能を示す概略図であり、図７は、診断項目のファイル構造を示す図である。図６に示すように、情報処理装置は、診断ボード２０と本体側ボード３０とがＩ２Ｃバスなどの本体通信バス３６を介して接続され、構成されている。本体側ボード３０では、診断項目の受け取りと診断ボード２０への送付のみが行われる。このため、追加すべき診断項目は、本体側ボード３０に存在するネットワークＩ／Ｆ３６を介して受け取るか、着脱可能な二次記憶部（例えば、ＳＤカード、コンパクトフラッシュ（登録商標）など）３４から取り出して、Ｉ２Ｃバスを経由して診断ボード２０へ送られる。
【００５５】
診断ボード２０のＲＯＭ２７には、診断項目更新用プログラムが格納されており、本体側ボード３０から送付された診断項目を受診すると、その診断項目に対応した診断項目更新用プログラムを取り出して、不揮発性メモリ２９に書き込まれる。
【００５６】
なお、本体側ボード３０から送付される診断項目のファイル構造（以下、診断項目ファイル４１という）は、図７に示すように、診断項目を管理するための情報が格納された部位としてのヘッダ４２と、ＣＰＵが解釈するための命令群としての命令４３と、命令の実行によって適時変化するソフト実行に必要な諸々の値としてのデータ４４との３つの部位で構成されている。
【００５７】
このように、第２の実施の形態によれば、診断ボード２０で行う診断項目の追加や更新を行う場合に、本体側ボード３０から診断項目ファイル４１を送付するだけで容易に行えるので、診断ハードウェアに対して特定の操作を行ったり、情報処理装置を分解したりするといった手間が不要となる。
【００５８】
例えば、診断ハードウェアは、通常はユーザが見えない箇所に設置されることが多いが、第２の実施の形態のように、わざわざ情報処理装置を分解しなくても診断処理を容易に更新することが可能となる。
【００５９】
（第３の実施の形態）
第３の実施の形態における特徴は、これまでに実施してきた診断結果から異常動作を起こしていないＵＳＢメモリデバイスを推奨ＵＳＢメモリデバイスとしてユーザに紹介する推奨ＵＳＢメモリデバイスの問い合わせ機能を備えている点にある。
【００６０】
第３の実施の形態にかかる推奨ＵＳＢメモリデバイスの問い合わせ機能は、これまでに実施してきた診断結果に基づいて、異常動作を起こしていないＵＳＢメモリデバイスを推奨ＵＳＢメモリデバイスとしてユーザに紹介するものである。通常、こうした推奨デバイスはメーカの品質保証部門がＵＳＢメモリデバイスをテストしてマニュアルに正式記載するものである。しかし、ＵＳＢメモリデバイスは、多くのメーカが多品種リリースしているため、メーカのテストだけでは全てを網羅しきれないのが現実である。また、仮にある時点で存在する全てのＵＳＢメモリデバイスをメーカがテスト実施完了しても、テスト完了時点では新たなＵＳＢメモリデバイスがリリースされてしまう。このため、推奨デバイスのテストを継続的に実施することはメーカにとって多大な負荷になっていた。
【００６１】
図８は、情報処理装置とサーバ間における診断結果送付の通信手順を説明する図であり、図９は、情報処理装置とサーバ間における推奨デバイスの問い合わせ通信手順を説明する図である。第３の実施の形態では、図８に示すように、ネットワーク上の複数の情報処理装置１０からサーバ５０に診断結果を送付すると、サーバ５０がこれを受信して蓄積する（ステップＳ３００）。そして、サーバ５０は、情報処理装置１０に対して診断結果応答を返送する（ステップＳ３０１）。このようにして、サーバ５０には、ネットワークを介して複数の情報処理装置１０から診断結果の情報が収集され、蓄積される。
【００６２】
〔推奨デバイスの問い合わせ機能〕
上記のように、サーバ５０と通信を行う環境にある情報処理装置１０は、サーバ５０が複数の情報処理装置から収集し蓄積している情報のうち、「診断で問題が発生しないＵＳＢメモリの一覧」を要求することで、これを取得することができる。これを図９で見ると、サーバ５０が複数の情報処理装置から収集し蓄積している情報のうち、「診断で問題が発生しないＵＳＢメモリの一覧」、つまり、推奨デバイスを要求する（ステップＳ３１０）。
【００６３】
すると、サーバ５０は、「診断で問題が発生しないＵＳＢメモリの一覧」を要求のあった情報処理装置１０に対して推奨デバイスを応答する（ステップＳ３１１）。情報処理装置１０は、受信した「診断で問題が発生しないＵＳＢメモリの一覧」を情報処理装置の二次記憶部（ＨＤＤ）３４に保存する（ステップＳ３１２）。
【００６４】
続いて、一定周期後に、推奨デバイス要求（ステップＳ３１３）を行い、推奨デバイス応答（ステップＳ３１１）があると、受信した「診断で問題が発生しないＵＳＢメモリの一覧」を情報処理装置の二次記憶部（ＨＤＤ）３４に保存する（ステップＳ３１５）。このように、一定周期毎に推奨デバイス要求、推奨デバイス応答、ＨＤＤへの保存を繰り返すことによって、情報処理装置の二次記憶部（ＨＤＤ）３４に保存される情報を常に最新情報に更新することができる。
【００６５】
そして、情報処理装置１０のユーザから問い合わせがあった場合は、二次記憶部３４に保存されている「サーバから取得した診断結果」の内容を表示することにより、メーカが推奨デバイスのテストを継続的に実施したり、その都度サーバに問い合わせしたりすることなく、常に最新のＵＳＢメモリの推奨デバイスの情報を得ることができる。例えば、複数の情報処理装置１０のユーザがサーバ５０に対して、その都度問い合わせを行う場合であれば、トラフィックおよび接続時点でのサーバの負荷によってレスポンスタイムが大幅にぶれる可能性がある。本第３の実施の形態では、このような接続を無くして、レスポンスタイムがぶれる要因を排除することができるため、待ち時間が予測可能となる。
【００６６】
また、サーバ５０側でも一定周期毎に情報処理装置１０から送信された診断結果の統計をとることが可能となり、サーバ５０への診断結果取得要求に対して、一定周期毎の統計を結果として返すが、その都度診断結果の計算は行わない。これは、情報処理装置１０からの問い合わせが多数発生した場合に、その都度診断結果を計算するとサーバ５０の負荷が高くなり、レスポンスが極度に悪化する可能性があるためである。
【００６７】
このように、第３の実施の形態によれば、サーバの負荷を軽減すると共に、サーバへの通信量を減らすことが可能となる上、ユーザの待ち時間を低減し、かつ最新のＵＳＢメモリの推奨デバイスの情報を容易に取得可能となる。
【００６８】
（第４の実施の形態）
第４の実施の形態の情報処理装置は、本体側ボード３０として複写機能、プリンタ機能、スキャナ機能などを備えた複合機が用いられ、ＵＳＢメモリの診断部にあたる診断ボード２０が複合機と分離して設けられ、両者間はＵＳＢバスとＩ２Ｃバスなどの本体通信バス３６とで接続されている。
【００６９】
図１０は、第４の実施の形態にかかる情報処理装置の構成を示すブロック図であり、図１１は、ＵＳＢメモリの診断で異常を検知したときの処理手順を示す図であり、図１２は、ＵＳＢメモリの診断で異常を検知したときの操作部パネルへの表示例を示す図であり、図１３は、診断失敗通知フレームの構成を示す図であり、図１４は、診断失敗応答フレームの構成を示す図であり、図１５は、ＨＤＤへ書き込むログの一例を示す図であり、図１６は、ウォッチドッグが正常に実施されているときの処理手順を示す図であり、図１７は、ウォッチドッグが正常に実施されていないときの処理手順を示す図である。
【００７０】
まず、図１０に示すように、複合機は、制御を行うソフトウェア群８０ａ、８０ｂと、複合機起動部９９と、ハードウェア資源７９とから構成されている。そして、診断ボード２０は、この複合機との間を２本のバスで接続されている。 
【００７１】
複合機起動部９９は、複合機の電源投入時に最初に実行され、アプリケーション層８８およびプラットフォーム８９を起動する。 
【００７２】
ハードウェア資源７９は、Ｂ＆Ｗ  ＬＰ（白黒レーザプリンタ）６０と、Ｃｏｌｏｒ  ＬＰ（カラーレーザプリンタ）６１と、ＵＳＢホスト３１と、ネットワーク  Ｉ／Ｆ（インタフェース）４０と、ユーザが操作や表示を行うインタフェースとしての操作部パネル３７と、ＨＤＤ３８と、ＳＤカード３９などが含まれている。 
【００７３】
ソフトウェア群８０ａは、ＵＮＩＸ（登録商標）などの汎用ＯＳ上に起動されるアプリケーション層８８と、汎用ＯＳ７４等を含むプラットフォーム８９とを含んで構成されている。
【００７４】
ソフトウェア群８０ａにおけるアプリケーション層８８は、プリンタ、コピー、ファクシミリ、スキャナなどの画像形成に関する機能や付加された機能に対して、それぞれ固有の処理を行うプログラムであり、プリンタ用のアプリケーションであるプリンタアプリ８１と、コピー用のアプリケーションであるコピーアプリ８２と、ファクシミリ用のアプリケーションであるファクックスアプリ８３と、スキャナ用のアプリケーションであるスキャナアプリ８４と、ネットワークファイル用のアプリケーションであるネットファイルアプリ８５と、工程検査用のアプリケーションである工程検査アプリ８６と、ＲＲＵ（Ｒｅｍｏｔｅ  ＲＯＭ  Ｕｐｄａｔｅ）用のアプリケーションであるＲＲＵアプリ８７とを含んで構成されている。
【００７５】
また、ソフトウェア群８０ａにおけるプラットフォーム８９は、診断ボード２０に装着されるＵＳＢメモリの診断結果を受けて処理を行うＵＳＢ診断モジュール６８と、操作部パネル３７の表示および操作部パネル３７からの入力を制御するパネル管理部６９と、ネットワーク上のサーバとの通信を管理するネットワーク管理モジュール７０と、複合機に装着されるＳＤカードを監視するＳＤカード監視常駐モジュール７１とを含み、さらに後述するＳＣＳ９６およびＳＲＭ９２と同様の機能をもつＳＣＳ７３およびＳＲＭ７２と、汎用ＯＳ７４とを含んで構成されている。汎用ＯＳ７４は、タイマ６２、ＳＤカードドライバ６３、ネットワークドライバ６４、パネルドライバ６５、ＨＤＤドライバ６６、Ｉ２Ｃバスドライバ６７などの各種ドライバを含んで構成されている。このように複合機は、ＵＳＢホスト３１やＩ２Ｃバスドライバ６７を介して診断ボードとバス接続され、後述する診断ボード２０でのＵＳＢメモリの診断に関するデータをやり取りすることができる。
【００７６】
ＵＳＢ診断モジュール６８は、後述する診断ボード２０における診断結果をＩ２Ｃバスドライバ６７を介して受診し、ＨＤＤドライバ６６を介してＨＤＤ３８に格納することができる。また、ＵＳＢ診断モジュール６８は、パネル管理部６９を介して、パネルドライバ６５により操作部パネル３７に診断結果等を表示して、ユーザに知らせることができる。さらに、ＵＳＢ診断モジュール６８、あるいは、ＳＤカード監視常駐モジュール７１は、ＳＤカードドライバを介してＳＤカード３９との間で情報を読み書きすることができる。
【００７７】
ソフトウェア群８０ｂは、ＵＮＩＸ（登録商標）などの汎用ＯＳ９３上に起動されるプラットフォーム９８と、このプラットフォーム９８上で動作するＲＲＵアプリ９０とを含んで構成されている。ＲＲＵアプリ９０は、ＲＲＵアプリ８７と同様に、ＲＲＵ（Ｒｅｍｏｔｅ  ＲＯＭ  Ｕｐｄａｔｅ）用のアプリケーションである。ソフトウェア群８０ｂにおけるプラットフォーム９８は、アプリケーション層８８からの処理要求を解釈してハードウェア資源７９の獲得要求を発生するコントロールサービス層（９１、９４、９５、９６）と、一つ以上のハードウェア資源７９の管理を行ってコントロールサービス層（９１、９４、９５、９６）からの獲得要求を調停するＳＲＭ（システムリソースマネージャ）９２と、ＳＲＭ９２からの獲得要求に応じてハードウェア資源７９の管理を行う汎用ＯＳ９３とを含んで構成されている。 
【００７８】
コントロールサービス層（９１、９４、９５、９６）は、ＮＣＳ（ネットワークコントロールサービス）９１と、ＯＣＳ（オペレーションパネルコントロールサービス）９４と、ＮＣＳ（メモリコントロールサービス）９５と、ＳＣＳ（システムコントロールサービス）９６等を含み構成されており、一つ以上のサービスモジュールを含むものである。 
【００７９】
また、プラットフォーム９８は、あらかじめ定義されている関数により、アプリケーション層８８からの処理要求を受信可能とするＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ Ｐｒｏｇｒａｍ Ｉｎｔｅｒｆａｃｅ）を介するよう構成されている。ＵＮＩＸ（登録商標）などの汎用ＯＳ９３等は、アプリケーション層８８およびプラットフォーム８９の各ソフトウェアをプロセスとして並列実行する。 
【００８０】
ＮＣＳ９５のプロセスは、ネットワークＩ／Ｆ４０を必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、各アプリケーションからのデータをネットワーク側に送信したりする際の仲介を行う。 
【００８１】
例えば、ＮＳＣ９５は、ネットワークを介して接続されるネットワーク機器とのデータ通信をｈｔｔｐｄ（ｈｙｐｅｒｔｅｘｔ ｔｒａｎｓｆｅｒ ｐｒｏｔｏｃｏｌ ｄａｅｍｏｎ）により、ＨＴＴＰで制御する。ＯＣＳ９４のプロセスは、ユーザと本体制御との間の情報伝達手段となるオペレーションパネルの制御を行う。 
【００８２】
ＭＣＳ９１のプロセスは、不図示のシステムメモリの領域の取得および解放や不図示の記憶装置の利用などの制御を行う。ＳＣＳ９６のプロセスは、アプリケーションの管理、割り込みアプリケーション制御などの処理を行う。 
【００８３】
ＳＲＭ９２のプロセスは、ＳＣＳ９６と共にシステムの制御およびハードウェア資源７９の管理を行うものである。例えば、ＳＲＭ９２のプロセスは、Ｂ＆Ｗ  ＬＰ６０やＣｏｌｏｒ  ＬＰ６１などのハードウェア資源７９を利用する上位層からの獲得要求にしたがって調停を行い、実行制御する。具体的に、ＳＲＭ９２のプロセスは、獲得要求されたハードウェア資源７９が利用可能であるか（他の獲得要求により利用されていないかどうか）を判定し、利用可能であれば獲得要求されたハードウェア資源７９が利用可能である旨を上位層に通知する。また、ＳＲＭ９２のプロセスは、上位層からの獲得要求に対してハードウェア資源７９を利用するためのスケジューリングを行い、要求内容（例えば、プリンタエンジンによる紙搬送と作像動作、システムメモリの領域確保、ファイル生成など）を直接実行する。
【００８４】
図１０の診断ボード２０の構成は、図１と同一部分については同一符号を付して、構成説明を省略する。ＲＯＭ２７には、送信プログラム２７−１や受診プログラム２７−２があり、診断プログラム２７−３や診断項目更新プログラム２７−４などを取り出して、不揮発性メモリ２９に書き込むことによって、ＵＳＢメモリの診断に利用することができる。
【００８５】
診断ボード２０上の診断プログラムは、ＵＳＢインタフェース２１にＵＳＢメモリが装着されると、上記第１の実施の形態で説明したように、「プラグ＆プレイ機能の診断」と「ファイルシステム診断」の２点の診断が実施される。
【００８６】
プラグ＆プレイ機能の診断は、デバイス側コンフィグレーションをＵＳＢの規格に従って実施する。具体的診断動作としては、ＵＳＢメモリが有する「デバイスディスクリプタ」の情報転送が正しく行えるかどうか（ホストからのＧｅｔ＿Ｃｏｎｆｉｇｕｒａｔｉｏｎに対するＣｏｎｆｉｇｕｒｔｉｏｎデータの返送が正しくできているかどうか）を診断する。また、ＵＳＢホストからデバイスに「Ｓｅｔ＿Ａｄｄｒｅｓｓ」が転送されるかどうかを診断する。さらに、ＵＳＢホストからデバイスに対するディスクリプタの詳細情報要求に対して、必要な情報が返送されるかどうかを診断する。この３点の診断項目が主なものになる。
【００８７】
続いて、ファイルシステム診断は、本第４の実施の形態では、ＦＡＴ１６を想定したものである。ＦＡＴファイルシステムのうち、先頭セクタ（ＭＢＲ）に存在するパラメータ群について、ＦＡＴの仕様に合致しているか否かを調べる。例えば、以下のような項目が挙げられる。１セクタのバイト数が画像形成装置側でサポートされているか否かを調べる。また、セクタ数、クラスタ数から算出できるメモリサイズが実際に搭載されているか否かを調べる。さらに、ＦＡＴテーブルは正副存在するが、二つが完全一致するか否かを調べる（ファイルシステムとして破損していないかどうか？）。続いて、ＵＳＢメモリの空き領域にファイルの書き込みが正常終了するか否かを調べる。また、ファイルを照合して、書き込んだファイルと完全一致するか否かを調べる。さらに、ファイルの消去が正常終了するかという項目について調べる。
【００８８】
なお、ＵＳＢメモリ内のデータ保存域が全て使用中であった場合は、ユーザがあらかじめ保存したデータの破損を防ぐため、装着されたＵＳＢメモリに対しては上記の読み書き照合試験を行わないようにする。
【００８９】
図１０に示す診断プログラム２７−３は、図１０の診断ボード２０に存在するバス切替ポート２２に書き込みを行って、ＵＳＢバスの切り替えを行う。これにより、ＵＳＢインタフェース２１から始まるＵＳＢバスは、診断ボード２０側のＵＳＢホスト２５ではなく、複合機（本体側ボード）側のＵＳＢホスト３１に接続されることになる。
【００９０】
また、図１０に示すように、本体通信バス３６であるＩ２Ｃバスを用いて診断ボード２０と複合機（本体側ボード）とがハードウェア的に接続される。このＩ２Ｃバスを通じて以下に述べる通信動作が行われる。すなわち、図１０のモジュール間では、図１１に示すようなシーケンス処理が行われる。
【００９１】
図１１では、診断ボード２０におけるＵＳＢメモリの診断によって診断異常が発生した場合の処理手順を示している。図１１に示すように、診断ボード２０と、ＵＳＢ診断モジュール６８と、パネル管理部６９と、ＨＤＤドライバ６６との間で通信が行われる。まず、図１１の診断ボード２０で診断に失敗した場合は、Ｉ２Ｃバスを介して複合機側のＵＳＢ診断モジュール６８に診断失敗通知が送られる（ステップＳ４００）。この診断失敗通知フレームは、図１３に示すように、通信種別（ここでは、診断異常通知）と、診断異常要因番号と、ＵＳＢメモリの製造元ＩＤと、ＵＳＢメモリの製品ＩＤとで構成されている。
【００９２】
続いて、ＵＳＢ診断モジュール６８は、診断失敗を複合機のユーザに知らせるため、パネル管理部６９に対して操作部パネル３７にメッセージ表示要求を行う（ステップＳ４０１）。そのメッセージ表示例は、図１２に示すようなものであって、「装着されたＵＳＢメモリは、この機種では使用できないようです。ＵＳＢメモリを抜いて下さい。（要因：ファイルシステム異常）」というエラーメッセージが操作部パネル３７に表示される。ユーザは、これを見ることで装着したＵＳＢメモリが不適合で使用できないことがわかる。
【００９３】
また、ＵＳＢ診断モジュール６８は、ＨＤＤドライバ６６に対してＨＤＤ３８へログの書き込みを行う（ステップＳ４０２）。このＨＤＤ３８へ書き込むログは、図１５に示すようなログであって、このような診断履歴を残すことにより、後で再利用することができる。
【００９４】
さらに、ＵＳＢ診断モジュール６８は、診断ボード２０に対して診断失敗応答を返送する（ステップＳ４０３）。この診断失敗応答フレームは、図１４に示すように、図１３に示す診断失敗通知フレームの中の一つである、通信種別（ここでは、診断異常応答）を返送することになる。
【００９５】
上記第１の実施の形態における図４で説明したように、診断ボードが正常動作していることを示すために、一定周期毎にウォッチドッグ通知を複合機側に送出している。ウォッチドッグ通知が正常に行われている場合の動作は、図１６に示すように、診断ボード側のタイマ２６を使って一定周期毎に割り込みを発生させ（ステップＳ５００）、割り込み処理内でウォッチドッグ通知をＵＳＢ診断モジュール６８へ送出する（ステップＳ５０１）。ウォッチドッグ通知を受信した複合機のＵＳＢ診断モジュール６８では、受信時刻を記録して（ステップＳ５０２）、本体側のタイマ６２をリセットし、ウォッチドッグ通知の間隔の２倍の時間をタイマに設定し直す。これにより、ウォッチドッグ通知を受信する度に本体側タイマ６２がリセットされる（ステップＳ５０３）。
【００９６】
上記したステップＳ５００〜ステップＳ５０３までの一連の動作は、診断ボード側のタイマ２６から一定周期毎にタイマ経由で割り込みが行われ、次のステップＳ５０４〜ステップＳ５０７までの動作も上記と同様に行われる。
【００９７】
万一、複合機のＵＳＢ診断モジュール６８でウォッチドッグ通知が受信されない場合は、複合機側の本体側タイマ６２がリセットされないため、最終的に複合機側の割り込みハンドラが起動することになる。この状況になった場合は、診断ボード２０側で異常動作が起こったものとみなして、割り込みハンドラ内で診断ボード２０にリセットを実施する。図１７は、ウォッチドッグ通知が正常に実施されなくなった場合の動作を示している。つまり、図１７に示すように、診断ボード側のタイマ２６を使って一定周期毎に割り込みを発生させ（ステップＳ５１０）、割り込み処理内でウォッチドッグ通知をＵＳＢ診断モジュール６８へ送出する（ステップＳ５１１）。ウォッチドッグ通知を受信した複合機のＵＳＢ診断モジュール６８では、受信時刻を記録して（ステップＳ５１２）、本体側のタイマ６２をリセットし、ウォッチドッグ通知の間隔の２倍の時間をタイマに設定し直して、本体側タイマ６２がリセットされる（ステップＳ５１３）。
【００９８】
しかし、診断ボード側のタイマ２６を使ってタイマ割り込みを発生させた後（ステップＳ５１０）、次の一定周期後に次のタイマ割り込みを発生させるが（ステップＳ５１４）、図１７の場合、何らかの異常発生のためウォッチドッグ通知が送出できなくなると、本体側のタイマ６２がリセットされなくなる。すると、本体側のタイマ６２で設定する時間が経過することでタイマ割り込みが発生し（ステップＳ５１５）、診断ボード側のリセットボードをリセットする（ステップＳ５１６）。
【００９９】
このように、第４の実施の形態によれば、診断を行うＵＳＢメモリが異常な動作をしたり、診断プログラムの不具合等により診断動作が正常に行えなくなったりした場合でも、ウォッチドッグ機能を保有していることから、ＵＳＢメモリの診断を行うハードウェアやソフトウェアが暴走し、一定周期毎のウォッチドッグ通知が無くなると自動的にリセットされ、正常な状態に復帰させることができる。
【０１００】
（第５の実施の形態）
第５の実施の形態の特徴は、情報処理装置において診断項目追加機能を備えている点にある。
【０１０１】
図１８は、診断項目追加処理の処理手順を示すシーケンス図であり、図１９は、図１８の診断項目引渡しフレームの構成を示す図であり、図２０は、図１８の診断項目更新応答フレームの構成を示す図であり、図２１は、診断プログラムが診断項目を実行処理する場合の概念図であり、図２２は、診断処理プログラムの動作を説明するフローチャートである。
【０１０２】
第５の実施の形態では、情報処理装置にＳＤカードが装着されることを想定している。図１０に示すように、複合機のソフトウェア群８０ａのプラットフォーム８９には、ＳＤカードドライバ６３と、ＳＤカード監視常駐モジュール７１とを備えており、ＳＤカードドライバ６３にＳＤカード３９が装着されると、ＳＤカード挿入割り込みがＳＤカード監視常駐モジュール７１に送出され（ステップＳ６００）、ＳＤカードが装着されたことがわかる。
【０１０３】
ＳＤカードドライバ６３は、ＳＤカード３９内のデータを読み出すと（ステップＳ６０１）、ＳＤカード監視常駐モジュール７１がＳＤカード３９のファイル内容を判定して（ステップＳ６０２）、発見したファイルの「フレームヘッダ」からこのファイルが診断内容であると判断する。
【０１０４】
この後、ＳＤカード監視常駐モジュール７１は、ＵＳＢ診断モジュール６８に「追加用診断項目」がＳＤカードに存在することを通知する（ステップＳ６０３）。また、ＳＤカードドライバ６３は、ＳＤカード３９から診断項目を読み出して、ＵＳＢ診断モジュール６８に格納する（ステップＳ６０４）。なお、これらのプロセス間通信は、ＵＮＩＸ（登録商標）などで一般的なソケットによる通信を用いている。
【０１０５】
ＵＳＢ診断モジュール６８は、複合機と診断部を接続するＩ２Ｃバスを用いて、診断ボード２０で動作する受信プログラム２７−２に対して診断項目ファイル（図７参照）を送信し（ステップＳ６０５）、受信プログラム２７−２で送信内容を判定し（ステップＳ６０６）、診断項目更新プログラム２７−４に対して診断項目の引渡しが行われる（ステップＳ６０７）。受信プログラム２７−２から診断項目更新プログラム２７−４に送付される際の診断項目引渡しフレームは、図１９のように構成されている。すなわち、フレームヘッダには、診断項目引渡し時の通信種別と、診断項目サイズとがあり、その下に診断項目が格納されている。フレームヘッダの診断項目サイズとは、その下に格納されている診断項目のサイズを表している。このため、上記ステップＳ６０６において、受信プログラム２７−２が送信内容を判定する際に、図１９に示すフレームヘッダの通信種別から、これが診断項目の更新であることを判別し、診断項目更新プログラム２７−４に対して受信パケットの引渡しが行われる（ステップＳ６０７）。
【０１０６】
続いて、診断項目更新プログラム２７−４は、引き渡された受信フレームの中から診断項目ファイルを取り出し、これを診断ボード２０に搭載されている不揮発性メモリ２９に書き込む（ステップＳ６０８）。そして、正常終了時には、診断項目更新プログラム２７−４が送信プログラム２７−１を介して（ステップＳ６０９）、図２０に示す診断項目更新応答フレームを診断項目更新応答として返送する（ステップＳ６１０）。図２０に示す診断項目更新応答フレームは、フレームヘッダとして、診断項目更新応答時の通信種別と、応答内容（０であれば正常であり、０以外の数字はエラー種別を表している）とで構成されている。
【０１０７】
診断プログラム実行時は、図２１に示すように、診断プログラム２７−３が診断項目を一つ実施するたびに、不揮発性メモリ２９に格納されている診断項目（診断項目１〜ｎ）の命令とデータとをＲＡＭ２４上の特定アドレスにコピーして、ロードする。
【０１０８】
診断処理プログラムの動作は、図２２に示すように、診断項目は全て実施済みか否かを判断し（ステップＳ７００）、実施していない診断項目が残っている場合は（ステップＳ７００でＮＯ）、次の診断項目を選択する（ステップＳ７０１）。そして、ＲＡＭ２４の特定アドレスに取り出した診断項目の命令部をロードし（ステップＳ７０２）、続いて特定アドレスに取り出した診断項目のデータ部をロードして（ステップＳ７０３）、各診断項目を実行するため、特定アドレスの命令を呼び出す（ステップＳ７０４）。
【０１０９】
診断項目を実行した結果、正常終了したか否かを判断し（ステップＳ７０５）、正常終了している場合は（ステップＳ７０５でＹＥＳ）、再びステップＳ７００に戻って、実施していない診断項目が残っている場合はこれを順次実行する。
【０１１０】
そして、上記ステップＳ７０５において、診断結果が正常終了でなかった場合は（ステップＳ７０５でＮＯ）、エラー処理を行って（ステップＳ７０６）、診断処理プログラムの動作が終了する。また、上記ステップＳ７００において、診断項目が全て実施済みの場合も（ステップＳ７００でＹＥＳ）、診断処理プログラムの動作が終了する。
【０１１１】
このように、第５の実施の形態によれば、診断プログラムは、診断項目を定めたメモリ上の位置(アドレス)にコピーして、特定のアドレスに存在する命令を実行するため、診断プログラムは各診断項目を動作させることができる。これは診断項目毎に順次メモリロードを行って、実行を繰り返すため、診断プログラムの大きさが機能追加によっても大きくならず、したがって搭載されるＲＡＭ２４の容量を最小にすることができる。これによって装置コストをダウンすることが可能となり、また診断プログラムのアップデートにかかる時間を少なくすることができる。
【０１１２】
（第６の実施の形態）
第６の実施の形態における特徴は、診断結果をＨＤＤ内にログ形式で保存する点にあって、情報処理装置を構成している複合機がサーバに対してネットワーク接続され、ＨＤＤ内にログ形式で保存した診断結果を送出したり、取得したりすることができる点にある。
【０１１３】
図２３は、診断結果をサーバに格納するための設定を行う操作部パネルの画面例を示す図であり、図２４は、複合機側の診断結果のアップロードとサーバ側の統計情報の取得動作を示すシーケンス図であり、図２５は、診断結果の統計の処理概要を示す図であり、図２６は、推薦ＵＳＢメモリを一覧表示した操作部パネルの画面例を示す図である。
【０１１４】
まず、複合機の機器設定において、ログを一定周期でサーバにアップロードする設定にする。この設定は、複合機が有する操作部パネル３７経由で行われる。例えば、図２３の操作部パネル３７の画面例では、診断結果の格納場所設定の画面を表示させて、サーバに格納する方にチェックを入れることで、診断結果のログを一定周期でサーバにアップロードする設定が完了する。この画面で設定を行うと、複合機の不図示の不揮発性メモリ（ＮＶＲＡＭ）に設定値が書き込まれる。なお、図２３のチェックボックスの下にはサーバのＩＰアドレスが表示されているため、仮にアップロードするサーバのＩＰアドレスが違っている場合は、このＩＰアドレスを修正する。
【０１１５】
続いて、複合機側の診断結果のアップロードおよびサーバ側統計情報の取得動作について、図１、図１０、図２４を用いて説明する。まず、本体側タイマ６２と、ネットワーク管理モジュール７０と、ネットワークＩ／Ｆ３６（ネットワークドライバ６４）と、サーバ５０と、サーバの二次記憶部５１の蓄積結果と、サーバ側タイマ５２との間で通信を行い、複合機側の診断結果を一定周期毎にサーバにアップロードして、サーバ側ではその診断結果の統計情報を取得する。
【０１１６】
図２４に示すように、複合機における本体側タイマ６２は、ネットワーク管理モジュール７０に対して一定周期毎に指定時刻通知を行うと（ステップＳ８００）、ネットワーク管理モジュール７０は、ネットワークドライバ６４からネットワークＩ／Ｆ４０を介して診断結果を送信し（ステップＳ８０１）、さらにネットワークＩ／Ｆ４０からネットワークを介してサーバ５０に診断結果が送信される（ステップＳ８０２）。そして、サーバ５０は、受信した診断結果を二次記憶部５１に保存させると共に（ステップＳ８０３）、ネットワークＩ／Ｆ４０に対して診断項目更新応答を送出する（ステップＳ８０４）。ネットワークＩ／Ｆ４０は、ネットワークドライバ６４を介してネットワーク管理モジュール７０に対して、診断項目更新応答を送出する（ステップＳ８０５）。このような一連の動作によって、診断結果がサーバに保存される。なお、第６の実施の形態では、複合機からサーバ５０への接続に失敗した場合、３回リトライを行って、それでも接続に失敗する場合は特に何もせず、次の周期を待つようにしたが、必ずしもこれに限定されない。
【０１１７】
上記ステップＳ８００の指定時刻通知から一定周期ごとに指定時刻通知が発動され（ステップＳ８０６）、上記したステップＳ８０１〜ステップＳ８０５と同様に、ステップＳ８０７〜ステップＳ８１１の動作が行われて、診断結果がサーバに保存される。
【０１１８】
一方、サーバ５０は、サーバ側タイマ５２により予め定めた指定時刻に通知を受けると（ステップＳ８２０）、サーバ５０が有する二次記憶部５１に蓄積された診断結果の統計を計算し（ステップＳ８２１）、その統計結果を二次記憶部５１に保存する（ステップＳ８２２）。
【０１１９】
この診断結果の統計の処理概要については、図２５に示すように、複数の複合機（複合機Ａ〜ｎ）の診断結果がサーバに集計され、サーバソフトウェアによって統計処理され、全複合機の統計結果を算出する。図２５では、その統計結果の一例として、製造元ベンダーＩＤと、製品ＩＤ（プロダクトＩＤ）と、診断エラー数とを算出した例を示している。
【０１２０】
上記のように、サーバ５０に保存された統計結果は、複合機が一定周期毎にサーバ５０にアクセスすることによって取得できる。ユーザからの要求時における複合機の動作については、図２４に示すように、複合機のネットワーク管理モジュール７０からネットワークドライバ６４およびネットワークＩ／Ｆ４０を介して（ステップＳ８２３）、サーバ５０に対し診断結果統計要求が行われる（ステップＳ８２４）。すると、サーバ５０は、自身の有する二次記憶部５１に蓄積された診断結果統計を取得して（ステップＳ８２５）、ネットワークＩ／Ｆ４０およびネットワークドライバ６４を介して（ステップＳ８２６）、ネットワーク管理モジュール７０に対し診断結果統計応答が行われる（ステップＳ８２７）。その結果、サーバ５０から取得した推奨ＵＳＢメモリ一覧は、複合機のＨＤＤ３８に保持される。
【０１２１】
従って、複合機は、一定周期毎にサーバにアクセスすることによって、診断結果をサーバにアップロードすることができると共に、サーバ側で統計完了済みのデバイス一覧を取得することができる。図２６は、複合機がサーバから取得した推奨ＵＳＢメモリ一覧を操作部パネル３７に表示した画面例を示したもので、複合機に適合する推奨ＵＳＢメモリ一覧として、ＵＳＢメモリのメーカと製品番号とを表示するため、ユーザは容易に適合品か否かを判別することができる。
【０１２２】
このように、第６の実施の形態によれば、ＵＳＢメモリの診断結果を複数台の情報処理装置から一定周期毎に一箇所に集計することで、より確度の高い診断統計結果を取得することができる。また、メーカがこれらの情報を一々個々の機器から取得しなくともよいため、メーカの労力を大幅に減らすことができる。
【０１２３】
また、第６の実施の形態によれば、情報処理装置からの問い合わせ機能を備えているため、診断統計結果情報をメーカだけでなく、ユーザ側も利用することができる。このため、ユーザは実際にテストされた結果に基づいて常に最新の推奨デバイス情報を知ることができる。
【０１２４】
さらに、第６の実施の形態によれば、情報処理装置が一定周期毎にサーバにアクセスして、情報処理装置が有するデバイス一覧を更新することにより、ユーザからの問い合わせをサーバに対して行わなくても良くなることから、ユーザを待たせることなく最新の推奨デバイス情報を知ることができる。
【０１２５】
また、第６の実施の形態によれば、情報処理装置が一定周期毎にサーバにアクセスして、情報処理装置が有するデバイス一覧を更新するため、サーバに問い合わせが集中してサーバが接続し難くなるのを防止することができる。
【０１２６】
なお、本明細書中において、「推奨デバイス」とは「診断で問題が発生していないデバイス」のことを意味している。
【符号の説明】
【０１２７】
１０  情報処理装置
２０  診断ボード
２１  ＵＳＢインタフェース
２２  バス切替ポート
２３  ＣＰＵ
２４  ＲＡＭ
２５  ＵＳＢホスト
２６  タイマ（診断ボード側）
２７  ＲＯＭ
２７−１  送信プログラム
２７−２  受信プログラム
２７−３  診断プログラム
２７−４  診断項目更新プログラム
２８−１  第１ＵＳＢバス
２８−２  第２ＵＳＢバス
２９  不揮発性メモリ
３０  本体側ボード
３１  ＵＳＢホスト
３２  ＣＰＵ
３３  ＲＡＭ
３４  二次記憶部（本体側）
３５  ＲＯＭ
３６  本体通信バス（Ｉ２Ｃバス）
３７  操作部パネル
３８  ＨＤＤ
３９  ＳＤカード
４０  ネットワークインタフェース
４１  診断項目ファイル
４２  ヘッダ
４３  命令
４４  データ
５０  サーバ
５１  二次記憶部（サーバ側）
５２  タイマ（サーバ側）
６２  タイマ（本体側）
６３  ＳＤカードドライバ
６４  ネットワークドライバ
６５  パネルドライバ
６６  ＨＤＤドライバ
６７  Ｉ２Ｃバスドライバ
６８  ＵＳＢ診断モジュール
６９  パネル管理部
７０  ネットワーク管理モジュール
７１  ＳＤカード監視常駐モジュール
【先行技術文献】
【特許文献】
【０１２８】
【特許文献１】特許第３５２４５４１号公報
【特許文献２】特開２００４−２８７６７３号公報
【特許文献３】特開２００７−８０２４６号公報
【図１】
2011065298.tif 000003
【図２−１】
2011065298.tif 000004
【図２−２】
2011065298.tif 000005
【図３】
2011065298.tif 000006
【図４】
2011065298.tif 000007
【図５】
2011065298.tif 000008
【図６】
2011065298.tif 000009
【図７】
2011065298.tif 000010
【図８】
2011065298.tif 000011
【図９】
2011065298.tif 000012
【図１０】
2011065298.tif 000013
【図１１】
2011065298.tif 000014
【図１２】
2011065298.tif 000015
【図１３】
2011065298.tif 000016
【図１４】
2011065298.tif 000017
【図１５】
2011065298.tif 000018
【図１６】
2011065298.tif 000019
【図１７】
2011065298.tif 000020
【図１８】
2011065298.tif 000021
【図１９】
2011065298.tif 000022
【図２０】
2011065298.tif 000023
【図２１】
2011065298.tif 000024
【図２２】
2011065298.tif 000025
【図２３】
2011065298.tif 000026
【図２４】
2011065298.tif 000027
【図２５】
2011065298.tif 000028
【図２６】
2011065298.tif 000029