(57)【特許請求の範囲】
【請求項１】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、
前記画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断手段と、
前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、
前記診断手段により検知された前記ハードウェアの障害と前記再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築手段と、
を備えたことを特徴とする画像情報処理装置。
【請求項２】
前記再構築テーブルは、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを含むことを特徴とする請求項１に記載の画像情報処理装置。
【請求項３】
前記プログラムのプロセスおよび前記アプリケーションのプロセスは、前記起動後の処理内容を実行するスレッドを含み、
前記再構築テーブルは、前記プログラムおよび前記アプリケーションごとに、起動の有無と、前記起動後の処理内容として、起動する場合における前記スレッドの識別情報とを含むことを特徴とする請求項２に記載の画像情報処理装置。
【請求項４】
前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築手段は、前記検知された障害と前記再構築テーブルとに基づいて、前記プログラムおよび前記アプリケーションの前記緊急モードスレッドを起動することを特徴とする請求項３に記載の画像情報処理装置。
【請求項５】
前記再構築手段は、前記緊急モードスレッドを起動する前に、前記障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ前記緊急モードスレッドを起動することを特徴とする請求項４に記載の画像情報処理装置。
【請求項６】
前記プログラムは、システムの制御およびリソースの管理を行うシステムコントロールサービスのプロセスを備え、
前記システムコントロールサービスのプロセスは、サービスを提供する際に実行される通常モードスレッドと、前記検知された障害と前記再構築テーブルとに基づいて前記プログラムおよび前記アプリケーションを選択して起動する前記再構築手段としての再構築モードスレッドとを含んでいることを特徴とする請求項１〜５のいずれか一つに記載の画像情報処理装置。
【請求項７】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、
前記画像情報処理の実行中に、前記ハードウェア資源の障害を検知する前記診断手段と、
前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、
前記診断手段により検知された前記ハードウェアの障害と前記再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築手段と、を備え、
前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築手段は、前記検知された障害と前記再構築テーブルとに基づいて、動作中の前記プログラムおよび前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする画像情報処理装置。
【請求項８】
前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを備え、
前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、メモリの障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築手段は、前記診断手段によりメモリに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項７に記載の画像情報処理装置。
【請求項９】
前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを備え、
前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、ハードディスクの代わりにメモリのみを使用して実行される一または複数の緊急モードスレッドとを含み、
前記再構築手段は、前記診断手段によりハードディスクに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項７に記載の画像情報処理装置。
【請求項１０】
前記アプリケーションの前記緊急モードスレッドは、前記メモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行うことを特徴とする請求項８または９に記載の画像情報処理装置。
【請求項１１】
前記プログラムは、ネットワークを制御するネットワークコントロールサービスを備え、
前記アプリケーションの前記緊急モードスレッドは、前記ネットワークコントロールサービス以外の前記プログラムに対してプロセス間通信を行い、
前記再構築手段は、前記診断手段によりネットワークインタフェースに関する障害が検知されたときに、前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項７〜１０のいずれか一つに記載の画像情報処理装置。
【請求項１２】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、
ハードウェア資源の障害を検知する診断手段と、
前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作として起動の有無と起動後の処理内容と、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、
前記診断手段により検知された障害と前記再構築テーブルとに基づいて、前記検知された障害に対応する前記プログラムまたは前記アプリケーションの動作が、起動しない旨か、または起動後の処理内容が前記ハードウェア資源の障害に影響のある機能を制限して実行される処理である場合には、前記プログラムおよび前記アプリケーションの代わりに、ネットワークに接続された他の前記画像情報処理装置で動作する前記プログラムまたは前記アプリケーションを選択する再構築手段と、
を備えたことを特徴とする画像情報処理装置。
【請求項１３】
前記診断手段は、ネットワーク経由で診断要求を受信したときに、前記ハードウェア資源の障害を検知することを特徴とする請求項１２に記載の画像情報処理装置。
【請求項１４】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、
前記画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断ステップと、
前記診断ステップにより検知された前記ハードウェアの障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築ステップと、
を含んでいることを特徴とするソフトウェア再構築方法。
【請求項１５】
前記再構築テーブルは、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを含むことを特徴とする請求項１４に記載のソフトウェア再構築方法。
【請求項１６】
前記プログラムのプロセスおよび前記アプリケーションのプロセスは、前記起動後の処理内容を実行するスレッドを含み、
前記再構築テーブルは、前記プログラムおよび前記アプリケーションごとに、起動の有無と、前記起動後の処理内容として、起動する場合における前記スレッドの識別情報とを含むことを特徴とする請求項１５に記載のソフトウェア再構築方法。
【請求項１７】
前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築ステップは、前記検知された障害と前記再構築テーブルとに基づいて、前記プログラムおよび前記アプリケーションの前記緊急モードスレッドを起動することを特徴とする請求項１６に記載のソフトウェア再構築方法。
【請求項１８】
前記再構築ステップは、前記緊急モードスレッドを起動する前に、前記障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ前記緊急モードスレッドを起動することを特徴とする請求項１７に記載のソフトウェア再構築方法。
【請求項１９】
前記記プログラムは、サービスを提供する際にシステムの制御およびリソースの管理を行う通常モードスレッドと、前記検知された障害と前記再構築テーブルとに基づいて前記記プログラムおよび前記アプリケーションを選択して起動する再構築モードスレッドを含むシステムコントロールサービスのプロセスを含み、
前記再構築ステップは、前記システムコントロールサービスの前記再構築モードスレッドにより実行されることを特徴とする請求項１６〜１８のいずれか一つに記載のソフトウェア再構築方法。
【請求項２０】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、
前記画像情報処理の実行中に、前記ハードウェア資源の障害を検知する前記診断ステップと、
前記診断ステップにより検知された障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築ステップと、を含み、
プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築ステップは、前記検知された障害と前記再構築テーブルとに基づいて、動作中の前記プログラムおよび前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とするソフトウェア再構築方法。
【請求項２１】
前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを含み、
前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、メモリの障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、
前記再構築ステップは、前記診断ステップによりメモリに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項２０に記載のソフトウェア再構築方法。
【請求項２２】
前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを含み、
前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、ハードディスクの代わりにメモリのみを使用して実行される一または複数の緊急モードスレッドとを含み、
前記再構築ステップは、前記診断ステップによりハードディスクに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項２０に記載のソフトウェア再構築方法。
【請求項２３】
前記再構築ステップは、前記アプリケーションの前記通常モードスレッドを前記メモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行う緊急モードスレッドに切り替えることを特徴とする請求項２１または２２に記載のソフトウェア再構築方法。
【請求項２４】
前記プログラムは、ネットワークを制御するネットワークコントロールサービスを含み、
前記アプリケーションの前記緊急モードスレッドは、前記ネットワークコントロールサービス以外の前記プログラムに対してプロセス間通信を行い、
前記再構築ステップは、前記診断ステップによりネットワークインタフェースに関する障害が検知されたときに、前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする請求項２０〜２３のいずれか一つに記載のソフトウェア再構築方法。
【請求項２５】
印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、
ハードウェア資源の障害を検知する診断ステップと、
前記診断ステップにより検知された障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作として起動の有無と起動後の処理内容と、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記検知された障害に対応する前記プログラムまたは前記アプリケーションの動作が、起動しない旨か、または起動後の処理内容が前記ハードウェア資源の障害に影響のある機能を制限して実行される処理である場合には、前記プログラムおよび前記アプリケーションの代わりに、ネットワークに接続された他の前記画像情報処理装置で動作する前記プログラムまたは前記アプリケーションを選択する再構築ステップと、
を含んでいることを特徴とするソフトウェア再構築方法。
【請求項２６】
前記診断ステップは、ネットワーク経由で診断要求を受信したときに、前記ハードウェア資源の障害を検知することを特徴とする請求項２５に記載のソフトウェア再構築方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、メモリ、セントロインタフェース、ネットワークインタフェースなどのハードウェア資源の障害を検知した場合に、プリンタ、コピーまたはファクシミリなどのサービスを提供する際に動作するソフトウェアの構成の再構築を行うことができる画像情報処理装置およびこのような画像情報処理装置で実行されるソフトウェア再構築方法に関するものである。
【０００２】
【従来の技術】
近年、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が一般的に知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応する３種類のソフトウェアを設け、ソフトウェアの切り替えによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような複合機では、電源投入の際にＯＳ（Operating System）が起動する前に、いわゆるＢＩＯＳ（Basic Input/Output System）内で診断プログラムが動作し、メモリ、セントロインタフェース、ネットワークインタフェースなどのハードウェア資源のエラーチェックを行っている。このような診断プログラムでは、複合機の起動、すなわちＯＳの起動およびＯＳ上で動作するアプリケーションプログラムの起動に大きな影響を与える重度の障害を検知した場合には、重度のハードウェアエラーが生じた旨をオペレーションパネルのディスプレイなどに表示した後、複合機を停止させることが一般的となっている。一方、このような診断プログラムが複合機の起動に影響を与えない中度または軽度の障害を検知した場合には、複合機を起動させている。
【０００４】
【発明が解決しようとする課題】
しかしながら、中度または軽度の障害が生じた状態で複合機を起動させた場合、ハードウェアの障害に影響のあるアプリケーションプログラムの全機能を停止しなければならないという問題がある。たとえば、プリンタ動作を行うアプリケーションプログラムが処理効率の向上のため主メモリの他に増設メモリを必要とする場合において、増設メモリのみに障害が生じた場合であっても、プリンタのアプリケーションプログラムはすべて停止してしまい、プリンタサービスの全機能を提供することができない。
【０００５】
すなわち、プリンタサービスの中でメモリを大量に使用しない機能であれば、増設メモリを使用せずに主メモリだけで実行可能であるにも関わらず、従来の複合機では、プリンタアプリケーションプログラムの全機能を停止しなければならなかった。
【０００６】
ところで、従来の複合機では、内部にプリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェア（汎用ＯＳを含む）をそれぞれ別個に設ける構成となっており、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置を発明した。この画像形成装置によれば、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【０００７】
このような複合機では、複数のアプリケーションと、アプリケーションの少なくとも２つが共通的に必要とするサービスを提供する複数のコントロールサービスを有するという各モジュールが独立した構成となっているため、かかる特徴的な構成を利用することで、サービスのコピー、プリンタ、スキャナまたはファクシミリなどの各機能ごとに一部の機能制限だけで実行できることが好ましい。
【０００８】
この発明は上記に鑑みてなされたもので、ハードウェア資源に障害がある場合にソフトウェア構成の再構築を行うことにより、ハードウェア資源の障害に影響のない範囲でサービスを提供することができる画像情報処理装置およびソフトウェア再構築方法を得ることを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、前記画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断手段と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、前記診断手段により検知された前記ハードウェアの障害と前記再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築手段と、を備えたことを特徴とする。
【００１０】
この請求項１の発明によれば、画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断手段と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、前記診断手段により検知された前記ハードウェアの障害と前記再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築手段とを備えたことで、ハードウェア資源の障害に影響ない範囲でサービスを提供することができ、ハードウェア障害がある場合に影響のあるアプリケーションすべてが停止してしまう従来の画像情報処理装置に比べて、ユーザの利便性を向上させることができる。
【００１１】
本発明における診断手段は、画像情報処理装置の起動時にハードウェア資源の障害を検知するものであればよく、いわゆるＢＩＯＳ内に診断プログラムとして設ける他、汎用ＯＳに組み込んだり、プログラム（コントロールサービス）やアプリケーションに診断用プロセスとして設けても良い。また、診断手段を既存のコントロールサービスに組み込んだり、ＢＩＯＳ、アプリケーションやプログラム（コントロールサービス）とは全く独立に設けることもできる。
【００１２】
また、本発明における再構築手段は、診断手段により検知された障害に影響のないプログラム（コントロールサービス）およびアプリケーションを選択して起動するものであればよく、プログラム（コントロールサービス）またはアプリケーションの各層に独立のプロセスとして設ける他、既存のプログラム（コントロールサービス）に組み込んでも良い。
【００１３】
また、請求項２にかかる発明は、請求項１に記載の画像情報処理装置において、前記再構築テーブルは、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを含むことを特徴とする。
【００１４】
また、請求項３にかかる発明は、請求項２に記載の画像情報処理装置において、前記プログラムのプロセスおよび前記アプリケーションのプロセスは、前記起動後の処理内容を実行するスレッドを含み、前記再構築テーブルは、前記プログラムおよび前記アプリケーションごとに、起動の有無と、前記起動後の処理内容として、起動する場合における前記スレッドの識別情報とを含むことを特徴とする。
【００１５】
また、請求項４にかかる発明は、請求項３に記載の画像情報処理装置において、前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築手段は、前記検知された障害と前記再構築テーブルとに基づいて、前記プログラムおよび前記アプリケーションの前記緊急モードスレッドを起動することを特徴とする。
【００１６】
この請求項４の発明によれば、プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築手段は、前記検知された障害と前記再構築テーブルとに基づいて、前記プログラムおよび前記アプリケーションの前記緊急モードスレッドを起動することで、ハードウェア障害時には同一プロセス内で起動するスレッドを切り替えるだけで障害に影響ない機能を提供できるので、通常の機能を提供するプロセスと機能制限されたプロセスとを別々に設けてプロセスを起動する場合に比べて、起動時間の短縮化が図られる。
【００１７】
ここで、「ハードウェア資源の障害に影響のあるプログラムおよびアプリケーション」とは、ハードウェアの障害により本来の機能が全く実行不可能となるプログラム（コントロールサービス）およびアプリケーションの他、一部の機能の実行ができなくなるプログラム（コントロールサービス）およびアプリケーションも含まれる。
【００１８】
また、請求項５にかかる発明は、請求項４に記載の画像情報処理装置において、前記再構築手段は、前記緊急モードスレッドを起動する前に、前記障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ前記緊急モードスレッドを起動することを特徴とする。
【００１９】
この請求項５の発明によれば、再構築手段が緊急モードスレッドを起動する前に、ハードウェア障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ緊急モードスレッドを起動することで、機能制限によりユーザが希望する機能が得られない場合に、機能制限された状態で画像情報処理装置が起動してしまうことが回避され、ユーザの利便性をより向上させることができる。
【００２０】
また、請求項６にかかる発明は、請求項１〜５のいずれか一つに記載の画像情報処理装置において、前記プログラムは、システムの制御およびリソースの管理を行うシステムコントロールサービスのプロセスを備え、前記システムコントロールサービスのプロセスは、サービスを提供する際に実行される通常モードスレッドと、前記検知された障害と前記再構築テーブルとに基づいて前記プログラムおよび前記アプリケーションを選択して起動する前記再構築手段としての再構築モードスレッドとを含んでいることを特徴とする。
【００２１】
この請求項６の発明によれば、システムコントロールサービスのプロセスがサービスを提供する際に実行される通常モードスレッドと、検知された障害と前記再構築テーブルとに基づいて前記プログラムおよび前記アプリケーションを選択して起動する再構築モードスレッドとを含むことで、システムコントロールサービスの再構築モードスレッドを再構築手段として用いることができ、別途再構築手段を設ける場合に比べて、装置構成を簡略化することができる。
【００２２】
また、請求項７にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、前記画像情報処理の実行中に、前記ハードウェア資源の障害を検知する前記診断手段と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、前記診断手段により検知された前記ハードウェアの障害と前記再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築手段と、を備え、前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築手段は、前記検知された障害と前記再構築テーブルとに基づいて、動作中の前記プログラムおよび前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とすることを特徴とする。
【００２３】
この請求項７の発明によれば、画像情報処理の実行中に診断手段によってハードウェア資源の障害を検知し、再構築手段によって動作中のプログラムおよびアプリケーションの通常モードスレッドを緊急モードスレッドに切り替えるので、画像情報処理装置を再起動させることなく、通常モードスレッドと緊急モードスレッドの並列実行を利用して動的にソフトウェア構成の再構築が可能となり、サービスの全機能を停止せずに再構築が行えるとともに、再構築完了までの時間を短縮することができる。
【００２４】
また、請求項８にかかる発明は、請求項７に記載の画像情報処理装置において、前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを備え、前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、メモリの障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築手段は、前記診断手段によりメモリに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００２５】
この請求項８の発明によれば、プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを備え、メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、メモリの障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、再構築手段が診断手段によりメモリに関する障害が検知されたときにメモリコントロールサービスの通常モードスレッドを緊急モードスレッドに切り替えることで、メモリに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００２６】
また、請求項９にかかる発明は、請求項７に記載の画像情報処理装置において、前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを備え、前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、ハードディスクの代わりにメモリのみを使用して実行される一または複数の緊急モードスレッドとを含み、前記再構築手段は、前記診断手段によりハードディスクに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００２７】
この請求項９の発明によれば、メモリコントロールサービスがメモリおよびハードディスクが正常であるときに実行される通常モードスレッドとハードディスクの代わりにメモリのみを使用して実行される一または複数の緊急モードスレッドとを含み、再構築手段が診断手段によりハードディスクに関する障害が検知されたときにメモリコントロールサービスの通常モードスレッドを緊急モードスレッドに切り替えることで、ハードディスクに障害があった場合でも、ハードディスクを必要とする機能をメモリの利用で代替えして、機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００２８】
また、請求項１０にかかる発明は、請求項８または９に記載の画像情報処理装置において、前記アプリケーションの前記緊急モードスレッドは、前記メモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行うことを特徴とする。
【００２９】
この請求項１０の発明によれば、アプリケーションの緊急モードスレッドがメモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行うことで、メモリコントロールサービスの機能を制限したにも拘わらず、アプリケーションがメモリコントロールサービスの通常モードスレッドとプロセス間通信を行ってハードウェア資源の障害に影響のある機能が実行されてしまう不具合を確実に阻止し、機能制限されたサービスを確実に提供することができる。
【００３０】
また、請求項１１にかかる発明は、請求項７〜１０のいずれか一つに記載の画像情報処理装置において、前記プログラムは、ネットワークを制御するネットワークコントロールサービスを備え、前記アプリケーションの前記緊急モードスレッドは、前記ネットワークコントロールサービス以外の前記プログラムに対してプロセス間通信を行い、前記再構築手段は、前記診断手段によりネットワークインタフェースに関する障害が検知されたときに、前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００３１】
この請求項１１の発明によれば、アプリケーションの緊急モードスレッドがネットワークコントロールサービス以外のプログラムに対してプロセス間通信を行い、再構築手段が診断手段によりネットワークインタフェースに関する障害が検知されたときにアプリケーションの通常モードスレッドを緊急モードスレッドに切り替えることで、ネットワークインタフェースに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００３２】
また、請求項１２にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置であって、ハードウェア資源の障害を検知する診断手段と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作として起動の有無と起動後の処理内容と、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルを記憶する記憶手段と、前記診断手段により検知された障害と前記再構築テーブルとに基づいて、前記検知された障害に対応する前記プログラムまたは前記アプリケーションの動作が、起動しない旨か、または起動後の処理内容が前記ハードウェア資源の障害に影響のある機能を制限して実行される処理である場合には、前記プログラムおよび前記アプリケーションの代わりに、ネットワークに接続された他の前記画像情報処理装置で動作する前記プログラムまたは前記アプリケーションを選択する再構築手段と、を備えたことを特徴とする。
【００３３】
この請求項１２の発明によれば、診断手段がハードウェア資源の障害を検知したときに、再構築手段が診断手段により検知された障害と再構築テーブルとに基づいて、検知された障害に影響するプログラムおよびアプリケーションの代わりにネットワークに接続された他の画像情報処理装置で動作するプログラムまたはアプリケーションを選択することで、自己の画像情報処理装置内のみでは機能制限されたサービスしか提供できない場合でも、ネットワーク上の他の画像情報処理装置のプログラムまたはアプリケーションで代替えして、機能制限のない完全なサービスを提供することができ、ユーザの利便性をより向上させることができる。
【００３４】
また、請求項１３にかかる発明は、請求項１２に記載の画像情報処理装置において、前記診断手段は、ネットワーク経由で診断要求を受信したときに、前記ハードウェア資源の障害を検知することを特徴とする。
【００３５】
この請求項１３の発明によれば、診断手段がネットワーク経由で診断要求を受信したときに、ハードウェア資源の障害を検知することで、ユーザからの診断要求だけでなく、ネットワーク上の装置開発元やサービスセンタなどのホストコンピュータからの診断要求に応じて、ハードウェア資源の診断およびソフトウェア構成の再構築を行うことができ、動的な診断および再構築を実現することができる。
【００３６】
また、請求項１４にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、前記画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断ステップと、前記診断ステップにより検知された前記ハードウェアの障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築ステップと、を含んでいることを特徴とする。
【００３７】
この請求項１４の発明によれば、画像情報処理装置の起動時に、前記ハードウェア資源の障害を検知する診断ステップと、前記診断ステップにより検知された前記ハードウェアの障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築ステップとを含んでいることで、ハードウェア資源の障害に影響ない範囲でサービスを提供することができ、ハードウェア障害がある場合に影響のあるアプリケーションすべてが停止してしまう従来の画像情報処理装置に比べて、ユーザの利便性を向上させることができる。
【００３８】
また、請求項１５にかかる発明は、請求項１４に記載のソフトウェア再構築方法において、前記再構築テーブルは、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを含むことを特徴とする。
【００３９】
また、請求項１６にかかる発明は、請求項１５に記載のソフトウェア再構築方法において、前記プログラムのプロセスおよび前記アプリケーションのプロセスは、前記起動後の処理内容を実行するスレッドを含み、前記再構築テーブルは、前記プログラムおよび前記アプリケーションごとに、起動の有無と、前記起動後の処理内容として、起動する場合における前記スレッドの識別情報とを含むことを特徴とする。
【００４０】
また、請求項１７にかかる発明は、請求項１６に記載のソフトウェア再構築方法において、前記プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築ステップは、前記検知された障害と前記再構築テーブルとに基づいて、前記プログラムおよび前記アプリケーションの前記緊急モードスレッドを起動することを特徴とする。
【００４１】
この請求項１７の発明によれば、再構築ステップが検知された障害と再構築テーブルとに基づいて、プログラムおよびアプリケーションの緊急モードスレッドを起動することで、ハードウェア障害時には同一プロセス内で起動するスレッドを切り替えるだけで障害に影響ない機能を提供できるので、通常の機能を提供するプロセスと機能制限されたプロセスとを別々に設けてプロセスを起動する場合に比べて、起動時間の短縮化が図られる。
【００４２】
また、請求項１８にかかる発明は、請求項１７に記載のソフトウェア再構築方法において、前記再構築ステップは、前記緊急モードスレッドを起動する前に、前記障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ前記緊急モードスレッドを起動することを特徴とする。
【００４３】
この請求項１８の発明によれば、再構築ステップが緊急モードスレッドを起動する前に、障害に影響のある機能が制限される旨を通知し、ユーザから了承を受信した場合にのみ緊急モードスレッドを起動することで、機能制限によりユーザが希望する機能が得られない場合に、機能制限された状態で画像情報処理装置が起動してしまうことが回避され、ユーザの利便性をより向上させることができる。
【００４４】
また、請求項１９にかかる発明は、請求項１６〜１８のいずれか一つに記載のソフトウェア再構築方法において、前記プログラムは、サービスを提供する際にシステムの制御およびリソースの管理を行う通常モードスレッドと、前記検知された障害と前記再構築テーブルとに基づいて前記コントロールサービスおよび前記アプリケーションを選択して起動する再構築モードスレッドを含むシステムコントロールサービスのプロセスを含み、前記再構築ステップは、前記システムコントロールサービスの前記再構築モードスレッドにより実行されることを特徴とする。
【００４５】
この請求項１９の発明によれば、再構築ステップがシステムコントロールサービスの前記再構築モードスレッドにより実行されることで、システムコントロールサービスの再構築モードスレッドを再構築手段として用いることができ、別途再構築手段を設ける場合に比べて、装置構成を簡略化することができる。
【００４６】
また、請求項２０にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、前記画像情報処理の実行中に、前記ハードウェア資源の障害を検知する前記診断ステップと、前記診断ステップにより検知された障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作および前記ハードウェア資源の障害時の前記アプリケーションの動作を、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記ハードウェアの障害に対応する前記プログラムおよび前記アプリケーションの動作を実行させる再構築ステップと、を含み、プログラムと前記アプリケーションの各プロセスは、前記ハードウェアの障害がない場合に実行される通常モードスレッドと、前記ハードウェアの障害がある場合に前記ハードウェア資源の障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築ステップは、前記検知された障害と前記再構築テーブルとに基づいて、動作中の前記プログラムおよび前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００４７】
この請求項２０の発明によれば、診断ステップによってサービス処理の実行中にハードウェア資源の障害を検知し、再構築ステップによって動作中のプログラムおよびアプリケーションの通常モードスレッドを、ハードウェア資源の障害に影響のある機能を制限して実行される緊急モードスレッドに切り替えるので、画像情報処理装置を再起動させることなく、通常モードスレッドと緊急モードスレッドの並列実行を利用して動的にソフトウェア構成の再構築が可能となり、サービスの全機能を停止せずに再構築が行えるとともに、再構築完了までの時間を短縮することができる。
【００４８】
また、請求項２１にかかる発明は、請求項２０に記載のソフトウェア再構築方法において、前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを含み、前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、メモリの障害に影響のある機能を制限して実行される一または複数の緊急モードスレッドとを含み、前記再構築ステップは、前記診断ステップによりメモリに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００４９】
この請求項２１の発明によれば、再構築ステップが診断ステップによりメモリに関する障害が検知されたときに、メモリコントロールサービスの通常モードスレッドを、メモリの障害に影響のある機能を制限して実行される緊急モードスレッドに切り替えることで、メモリに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００５０】
また、請求項２２にかかる発明は、請求項２０に記載のソフトウェア再構築方法において、前記プログラムは、メモリおよびハードディスクを制御するメモリコントロールサービスを含み、前記メモリコントロールサービスは、メモリおよびハードディスクが正常であるときに実行される通常モードスレッドと、ハードディスクの代わりにメモリのみを使用して実行される一または複数の緊急モードスレッドとを含み、前記再構築ステップは、前記診断ステップによりハードディスクに関する障害が検知されたときに、前記メモリコントロールサービスの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００５１】
この請求項２２の発明によれば、再構築ステップが診断ステップによりハードディスクに関する障害が検知されたときに、メモリコントロールサービスの通常モードスレッドを、ハードディスクの代わりにメモリのみを使用して実行される緊急モードスレッドに切り替えることで、ハードディスクに障害があった場合でも、ハードディスクを必要とする機能をメモリの利用で代替えして、機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００５２】
また、請求項２３にかかる発明は、請求項２１または２２に記載のソフトウェア再構築方法において、前記再構築ステップは、前記アプリケーションの前記通常モードスレッドを前記メモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行う緊急モードスレッドに切り替えることを特徴とする。
【００５３】
この請求項２３の発明によれば、再構築ステップがアプリケーションの通常モードスレッドをメモリコントロールサービスの緊急モードスレッドに対してのみプロセス間通信を行う緊急モードスレッドに切り替えることで、メモリコントロールサービスの機能を制限したにも拘わらず、アプリケーションがメモリコントロールサービスの通常モードスレッドとプロセス間通信を行ってハードウェア資源の障害に影響のある機能が実行されてしまう不具合を確実に阻止し、機能制限されたサービスを確実に提供することができる。
【００５４】
また、請求項２４にかかる発明は、請求項２０〜２３のいずれか一つに記載のソフトウェア再構築方法において、前記プログラムは、ネットワークを制御するネットワークコントロールサービスを含み、前記アプリケーションの前記緊急モードスレッドは、前記ネットワークコントロールサービス以外のプログラムに対してプロセス間通信を行い、前記再構築ステップは、前記診断ステップによりネットワークインタフェースに関する障害が検知されたときに、前記アプリケーションの前記通常モードスレッドを前記緊急モードスレッドに切り替えることを特徴とする。
【００５５】
この請求項２４の発明によれば、再構築ステップが診断ステップによりネットワークインタフェースに関する障害が検知されたときに、アプリケーションの通常モードスレッドを、ネットワークコントロールサービス以外のコントロールサービスに対してプロセス間通信を行う緊急モードスレッドに切り替えることで、ネットワークインタフェースに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができる。
【００５６】
また、請求項２５にかかる発明は、印刷部または撮像部を有するハードウェア資源を利用して画像情報処理にかかるアプリケーションのプロセスと、オペレーティングシステムと、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行う複数のプログラムのプロセスとを備えた画像情報処理装置で実行され、前記アプリケーションおよび前記プログラムの構成を再構築するソフトウェア再構築方法であって、ハードウェア資源の障害を検知する診断ステップと、前記診断ステップにより検知された障害と、前記ハードウェア資源の障害ごとに、前記ハードウェア資源の障害時の前記プログラムの動作として起動の有無と起動後の処理内容と、前記ハードウェア資源の障害時の前記アプリケーションの動作として、起動の有無と起動後の処理内容とを、前記プログラムおよび前記アプリケーションのそれぞれについて登録した再構築テーブルとに基づいて、前記検知された障害に対応する前記プログラムまたは前記アプリケーションの動作が、起動しない旨か、または起動後の処理内容が前記ハードウェア資源の障害に影響のある機能を制限して実行される処理である場合には、前記プログラムおよび前記アプリケーションの代わりに、ネットワークに接続された他の前記画像情報処理装置で動作する前記プログラムまたは前記アプリケーションを選択する再構築ステップと、を含んでいることを特徴とする。
【００５７】
この請求項２５の発明によれば、ハードウェア資源の障害を検知する診断ステップと、前記診断ステップにより検知された障害と、ハードウェア資源の障害とハードウェア資源の障害に影響するコントロールサービスおよびアプリケーションとをあらかじめ対応付けた再構築テーブルとに基づいて、検知された障害に影響するコントロールサービスおよびアプリケーションの代わりに、ネットワークに接続された他の画像情報処理装置で動作するプログラムまたはアプリケーションを選択する再構築ステップとを含んでいることで、自己の画像情報処理装置内のみでは機能制限されたサービスしか提供できない場合でも、ネットワーク上の他の画像情報処理装置のコントロールサービスまたはアプリケーションで代替えして、機能制限のない完全なサービスを提供することができ、ユーザの利便性をより向上させることができる。
【００５８】
また、請求項２６にかかる発明は、請求項２５に記載のソフトウェア再構築方法において、前記診断ステップは、ネットワーク経由で診断要求を受信したときに前記ハードウェア資源の障害を検知することを特徴とする。
【００５９】
この請求項２６の発明によれば、診断ステップがネットワーク経由で診断要求を受信したときにハードウェア資源の障害を検知することで、ユーザからの診断要求だけでなく、ネットワーク上の装置開発元やサービスセンタなどのホストコンピュータからの診断要求に応じて、ハードウェア資源の診断およびソフトウェア構成の再構築を行うことができ、動的な診断および再構築を実現することができる。
【００６０】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像情報処理装置およびソフトウェア再構築方法の好適な実施の形態を詳細に説明する。
【００６１】
（実施の形態１）
図１は、この発明の実施の形態１である画像形成装置（以下、「複合機」という）の構成を示すブロック図である。図１に示すように、複合機１００は、白黒ラインプリンタ（B&W LP）１０１と、カラーラインプリンタ（Color LP）１０２と、スキャナ、ファクシミリなどのハードウェアリソース１０３などを有するとともに、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０と、電源投入時に実行される複合機起動部１４０とを備えている。
【００６２】
複合機起動部１４０は、複合機１００の電源投入時にまずはじめに実行され、ハードウェア資源の初期化や診断、および上記各モジュールを起動するものである。
【００６３】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００６４】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。なお、このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００６５】
汎用ＯＳ１２１は、ＵＮＩＸなどの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００６６】
実施の形態１の複合機１００では、各コントロールサービスおよび各アプリは、いずれもプロセスとして動作し、各プロセスの中に複数のスレッドを起動した状態となっている。
【００６７】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００６８】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００６９】
ＳＲＭ１２３のプロセスは、ハードウェア資源がすべて正常な場合に上記の機能を制限なく実行する通常モードスレッドと、ハードウェア資源に障害があった場合に一定の機能を制限して実行する複数のＳＲＭ緊急モードとを有している。ＳＲＭ緊急モードスレッド１は、増設メモリに障害があった場合に起動され、増設メモリに対する資源獲得要求を行わないように機能が制限されている。ＳＲＭ緊急モードスレッド２は、ハードディスクに障害があった場合に起動されハードディスクに対する資源獲得要求を行わず、ＳＲＭ緊急モードスレッド３は、スキャナエンジンに障害があった場合に起動されスキャナエンジンに対する資源獲得要求を行わない。また、プリンタエンジンなど他のハードウェア資源に障害があった場合に、そのハードウェア資源の獲得要求を除外して実行するＳＲＭ緊急モードスレッドを各ハードウェア資源ごとに有している。
【００７０】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御というサービスを行う際に実行される通常モードスレッドと、ハードウェア資源の診断結果に応じて複合機１００上で動作させるアプリケーションおよびコントロールサービスの再構築を行う再構築モードスレッドを有している。
【００７１】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（B&W LP）１０１、カラーラインプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０３のエンジンの制御を行う。
【００７２】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。ＭＣＳ１２５のプロセスは、メモリおよびハードディスクがいずれも正常なときにすべての機能を実行可能な通常モードスレッドと、メモリまたはハードディスクに障害が発見された場合に一定の機能を制限して実行する複数の緊急モードスレッドを有している。ＭＣＳ緊急モードスレッド１は、増設メモリに障害があった場合に起動されるものであり、主メモリのみから必要なサイズの領域を確保する。ＭＣＳ緊急モードスレッド２は、ハードディスクに障害があったときに起動されるものであり、画像データをハードディスクに格納せずにメモリに展開するため、メモリから画像データ格納用の領域を確保する。
【００７３】
ＯＣＳ１２６のプロセスは、オペレータと本体制御間の情報伝達手段となる操作パネル（オペレーションパネル１６１０）の制御を行う。
【００７４】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。ＦＣＳ１２７のプロセスは、ネットワークボードが正常な場合に起動され、上記機能をすべてを実行可能な通常モードスレッドと、ハードウェア資源に障害があった場合に一定の機能を制限して実行する複数のＦＣＳ緊急モードスレッドを有している。
【００７５】
ＦＣＳ緊急モードスレッド１は、増設メモリに障害があった場合に起動され、ＭＣＳ１２５に対してＭＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行うものである。ＦＣＳ緊急モードスレッド２は、ハードディスクに障害があった場合に起動され、ＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド２とのみ関数呼び出しまたはメッセージ送受信によるプロセス間通信を行う。ＦＣＳ緊急モードスレッド３は、ネットワークボードに障害があった場合に起動され、ネットワーク上のＰＣからのＰＣ  ＦＡＸの機能を制限したものである。
【００７６】
ＮＣＳ１２８は、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００７７】
このように、ＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３の各緊急モードスレッドはいずれもハードウェア資源の障害に応じて実行可能な機能を制限したものとなっている。
【００７８】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６とを有している。
【００７９】
プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３のそれぞれも、ハードウェア資源が正常な場合にすべての機能の実行が可能な通常モードスレッドと、ハードウェア資源に障害があった場合に一定の機能を制限して実行する緊急モードスレッドを有している。
【００８０】
プリンタアプリ緊急モードスレッド１は、増設メモリに障害があった場合に起動され、印刷ページのソート、回転、変倍、集約（１ページに複数ページ分を集約して印刷する機能）、試し印刷、機密印刷などの機能を実行せず、両面印刷を一定ページ数分だけ可能とするなどメモリを大量に必要とする機能に制限を設けている。また、プリンタアプリ緊急モードスレッド１は、ＭＣＳ１２５に対しては、増設メモリからの領域確保が制限されたＭＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【００８１】
プリンタアプリ緊急モードスレッド２は、ハードディスクに障害があった場合に起動され、印刷時の印刷ページのソート、回転、変倍、集約、試し印刷、機密印刷、両面印刷など、画像データのハードディスクへの一時的格納を必要とする機能を実行せず、かつＭＣＳ１２５に対しては、ハードディスクからの領域確保が制限されたＭＣＳ緊急モードスレッド２とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【００８２】
プリンタアプリ緊急モードスレッド３は、ネットワークボードに障害があった場合に起動され、ＰＣ  ＦＡＸの実行ができないように、ＦＣＳ１２７に対するプロセス間通信を制限したものである。
【００８３】
プリンタアプリ緊急モードスレッド３は、ファックスエンジンに障害があった場合に起動され、ＰＣ  ＦＡＸの実行ができないように、ＦＣＳ１２７に対するプロセス間通信を制限したものである。
【００８４】
コピーアプリ緊急モードスレッド１は、増設メモリに障害があった場合に起動され、コピーページのソート、回転、変倍、集約などの機能を実行せず、両面コピーおよび試しコピーを一定ページ数分だけ可能とするなどのメモリを大量に必要とする機能に制限を設けている。また、コピーアプリ緊急モードスレッド１は、ＭＣＳ１２５に対しては、増設メモリからの領域確保が制限されたＭＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【００８５】
コピーアプリ緊急モードスレッド２は、ハードディスクに障害があった場合に起動され、コピーページのソート、回転、変倍、集約、両面コピーおよび試しコピーなど、画像データのハードディスクへの一時的格納を必要とする機能を実行せず、かつＭＣＳ１２５に対しては、ハードディスクからの領域確保が制限されたＭＣＳ緊急モードスレッド２とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【００８６】
ファックスアプリ緊急モードスレッド１は、増設メモリに障害があった場合に起動され、メモリ受信やメモリ送信を実行不可能とし、ファクシミリ登録件数の最大値を少なく設定し、かつＦＣＳ緊急モードスレッド１に対してはＦＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【００８７】
ファックスアプリ緊急モードスレッド２は、ハードディスクに障害があった場合に起動され、メモリ受信やメモリ送信を実行不可能とし、ファクシミリ登録件数の最大値を少なく設定し、かつＦＣＳ１２７に対してはＦＣＳ緊急モードスレッド２とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行うものである。
【００８８】
図１６は、図１に示した実施の形態１の複合機１００のハードウェア構成図である。図１６に示すように、この複合機は、ＣＰＵ１６０２、ＳＤＲＡＭ１６０３、フラッシュメモリ１６０４、ＳＲＡＭ１６０８およびハードディスク（ＨＤ）１６０５などをＡＳＩＣ１６０１に接続したコントローラボード１６００と、オペレーションパネル１６１０と、ファックスコントロールユニット（ＦＣＵ）１６２０と、ＵＳＢ１６３０と、ＩＥＥＥ1394 １６４０と、プリンタ１６５０から構成されている。オペレーションパネル１６１０はＡＳＩＣ１６０１に直接接続され、ＦＣＵ１６２０、ＵＳＢ１６３０、ＩＥＥＥ1394 １６４０およびプリンタ１６５０はＰＣＩバスを介してＡＳＩＣ１６０１に接続されている。
【００８９】
ＳＲＡＭ１６０８は、後述する診断部による診断結果を格納する不揮発性メモリである。ＳＤＲＡＭ１６０３は、プリント、コピー、スキャナおよびファクシミリなどのサービスを行う際に、画像データを一時的に格納するものであり、主メモリと増設メモリとから構成されている。
【００９０】
フラッシュメモリ１６０４には、上述の各アプリ、プラットホーム１２０を構成する各コントロールサービスやＳＲＭ１２３の各プログラムとともに、ＳＣＳ１２２の再構築モードスレッドによるソフトウェア再構築処理の際に参照される再構築テーブルがファイル形式で格納されている。なお、この再構築テーブルについては後述する。
【００９１】
図２は、実施の形態１の複合機１００における複合機起動部１４０の構成を示すブロック図である。複合機起動部１４０は、図２に示すとおり、ハードウェア初期化部２１０と、プログラム起動部２２０と、ＳＣＳ１２２の再構築モードスレッドから構成される。
【００９２】
ハードウェア初期化部２１０は、いわゆるＢＩＯＳ（Basic Input/Output System）であり、ハードウェア資源の各デバイスの初期化や各種設定、ソフトウェアの初期化、汎用ＯＳ１２１の起動などを行う。また、ハードウェア初期化部２１０は、その内部に本発明の診断手段を構成する診断部２１１を備えている。診断部２１１は、ハードウェア資源の各デバイスに障害があるか否かを検知し、その診断結果をＳＲＡＭ１６０８に格納するものである。
【００９３】
ここで、診断部２１１によって障害を検知する対象となるデバイスは、ＳＤＲＡＭ１６０３などのメモリと、ハードディスク１６０５と、セントロインタフェース、ＵＳＢ１６３０、ＩＥＥＥ1394 １６４０などの各種インタフェースと、プリンタエンジン、コピーエンジン、スキャナエンジン、ファクシミリエンジンなどの各種エンジンである。
【００９４】
プログラム起動部２２０は、汎用ＯＳ１２１から呼び出されるものであり、汎用ＯＳ１２１上で、ＳＣＳ１２２を起動するものである。
【００９５】
ＳＣＳ１２２の再構築モードスレッドは、ＳＲＡＭ１６０８に格納されたハードウェア資源の診断結果に基づいて起動すべき各アプリ、各コントロールサービスおよびＳＲＭ１２３を判断した上で、起動する。また、ＳＣＳ１２２の再構築モードスレッドは、ハードウェア資源の診断結果に基づいて、起動した各アプリ、各コントロールサービスおよびＳＲＭ１２３に対して通常モードスレッド、緊急モードスレッドのいずれを実行すべきかを指示する指令メッセージを送信する。
【００９６】
次にこのように構成された複合機１００におけるソフトウェア再構築処理について説明する。図３は、実施の形態１の複合機１００におけるソフトウェア再構築の全体の処理手順を示すフローチャートである。実施の形態１にかかる複合機１００では、電源投入時にハードウェア資源の診断が行われ、その結果に基づいて起動すべきアプリケーション１３０やコントロールサービスなどを選定し、かつ実行すべきスレッドを特定することによりソフトウェアの再構築を行う。
【００９７】
複合機１００の電源が投入されると、まずハードウェア初期化部２１０によってハードウェア資源の各デバイスの初期化が行われる（ステップＳ３０１）。ついで、診断部２１１によって各デバイスの診断が行われ（ステップＳ３０２）、その後ソフトウェアの初期化が行われて（ステップＳ３０３）、汎用ＯＳ１２１が起動される（ステップＳ３０４）。
【００９８】
汎用ＯＳ１２１が起動されたら、プログラム起動部２２０は、ＳＲＡＭ１６０８に格納された診断結果を読み込んで障害の有無を判断する（ステップＳ３０５）。
【００９９】
そして、すべてのハードウェア資源が正常である場合には、プログラム起動部２２０は、すべてのコントロールサービスおよびすべてのアプリケーション１３０を起動する（ステップＳ３０６）。一方、ハードウェア資源に障害が一つでもある場合には、プログラム起動部２２０は、ＳＣＳ１２２のみを起動する（ステップＳ３０７）。このとき、ＳＣＳ１２２のプロセスでは通常モードスレッドの他、再構築モードスレッドが起動される。
【０１００】
図４は、ハードウェア初期化部２１０の診断部２１１によって実行されるハードウェア資源の各デバイスの診断処理手順を示すフローチャートである。診断部２１１では、未診断のデバイスに対して順にハードウェアエラーの有無をチェックすることによりデバイスの診断を行う（ステップＳ４０１）。
【０１０１】
ここで、たとえば、メモリに対する診断は、アドレス線およびデータ線のそれぞれについて行われ、書き込んだ値に拘わらず固定値となってしまうか否か、および書き込んだ値が他のデータ線に現れてしまうか否かをチェックする。なお、具体的なチェック方法および他のデバイスのエラーチェックについては公知の診断方法と同様なので説明を省略する。
【０１０２】
そして、デバイスの診断結果が正常かエラーかを確認し（ステップＳ４０２）、エラーの場合には、検知されたエラーが致命的エラーであるか否かを判断する（ステップＳ４０３）。ここで、致命的エラーとは、複合機１００の起動に影響があるか、起動した場合でもサービスが全く提供できないようなエラーをいい、例えば主メモリのエラーなどが該当する。逆に、増設メモリのエラーやネットワークインタフェースのエラーなど、それ自体は致命的なものであっても、他のデバイスによる代替えによって機能を制限した状態でサービスの提供が可能となったり、例えばプリントの機能のみ実行できず、スキャナ、コピーの機能は実行できるような、一部のサービスが提供可能な場合には、本実施形態では致命的なエラーではないと判断する。
【０１０３】
そして、致命的エラーである場合には、重度の障害のために複合機１００を起動できない旨のメッセージをオペレーションパネル１６１０のディスプレイに表示して（ステップＳ４０６）、複合機１００を停止する（ステップＳ４０７）。一方、上述の致命的エラーでない場合には、障害があるデバイス名、エラー番号などを診断結果としてＳＲＡＭ１６０８に格納する（ステップＳ４０４）。
【０１０４】
以上、ステップＳ４０１からステップＳ４０４までの診断処理を、すべてのデバイスに対して行う（ステップＳ４０５）。
【０１０５】
図５は、実施の形態１にかかる複合機１００のＳＣＳ１２２の再構築モードスレッドによって実行されるソフトウェア再構築処理の手順を示すフローチャートである。図６は、このソフトウェア再構築処理で参照される再構築テーブルの一例を示す説明図である。
【０１０６】
プログラム起動部２２０によってＳＣＳ１２２のプロセスが汎用ＯＳ１２１上で起動されると、ＳＣＳ１２２の再構築モードスレッドでは、まず、ＳＲＡＭ１６０８に格納されている診断結果を取得し（ステップＳ５０１）、フラッシュメモリ１６０４から再構築テーブルを読み出す（ステップＳ５０２）。
【０１０７】
つぎに、取得した診断結果と再構築テーブルとを参照して、ハードウェア資源の障害に対応して起動すべきコントロールサービス、アプリケーション１３０およびＳＲＭ１２３を選択し、さらに選択されたコントロールサービス、アプリケーションおよびＳＲＭ１２３の中で起動するスレッドを選択する（ステップＳ５０３）。
【０１０８】
そして、選択されたコントロールサービス、アプリケーションおよびＳＲＭ１２３を起動し（ステップＳ５０４）、起動したコントロールサービス、アプリケーションおよびＳＲＭ１２３に対し、どのスレッドを起動すべきかの指示メッセージを送信する（ステップＳ５０５）。かかる指示メッセージを受信したコントロールサービス、アプリケーションおよびＳＲＭ１２３のそれぞれは、指示メッセージで指示されたスレッドを自プロセス内で起動する。これにより、ハードウェア資源の障害に応じたソフトウェアの再構築が完了する。
【０１０９】
ここで、上記ステップＳ５０３におけるコントロールサービス、アプリケーション１３０およびＳＲＭ１２３の選択処理ならびに起動すべきスレッドの選択処理について、詳細に説明する。
【０１１０】
図６に示すように、再構築テーブルには、増設メモリエラーなどのハードウェア資源のエラーに対応して、各コントロールサービス、ＳＲＭ１２３および各アプリケーション１３０の起動の可否、起動するスレッド（通常モードスレッド／緊急モードスレッド）および制限機能があらかじめ定められて記録されている。
【０１１１】
まず、診断部２１１で増設メモリエラーが検知された場合について説明する。この場合、ＳＣＳ１２２の再構築モードスレッドは、図６の再構築テーブルを参照して、すべてのコントロールサービス、ＳＲＭ１２３およびアプリケーション１３０を起動する。そして、再構築テーブルの内容に従って、ＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３の各プロセスに対して、それぞれの緊急モードスレッド１を起動すべき旨の指令メッセージを送信し、その他のコントロールサービスおよびアプリケーションのプロセスに対しては通常モードスレッドを起動すべき旨の指令メッセージを送信する。
【０１１２】
図７は、増設メモリの障害が検知された場合におけるソフトウェア再構築後の複合機１００の構成を示すブロック図である。図７に示すように、増設メモリエラーがある場合には、ＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３のプロセスでは緊急モードスレッド１が起動し、その他のコントロールサービスおよびアプリケーション１３０のプロセスでは通常モードスレッドが起動される。
【０１１３】
ここで、増設メモリに障害があった場合には主メモリのみを使用する。また、上述の説明の通り、ＭＣＳ緊急モードスレッド１は、画像データ格納のための領域を増設メモリではなく主メモリから確保し、ＳＲＭ緊急モードスレッド１は、メモリ資源として主メモリを獲得する。また、プリンタアプリ緊急モードスレッド１は、印刷ページのソート、回転、変倍、集約、試し印刷、機密印刷などの機能を実行せず、両面印刷を一定ページ数分だけ可能とし、かつＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。また、コピーアプリ緊急モードスレッド１はコピーページのソート、回転、変倍、集約などの機能を実行せず、両面コピーおよび試しコピーを一定ページ数分だけ可能とし、かつＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみ関数呼び出しまたはメッセージ送受信などによるプロセス間通信を行う。
【０１１４】
従って、増設メモリに障害がある場合におけるプリント機能としては、メモリを大量に使用する機能が制限されたプリンタアプリ緊急モードスレッド１と、ＭＣＳ緊急モードスレッド１との間でプロセス間通信が行われる結果、印刷ページのソート、回転、変倍、集約、試し印刷、機密印刷などの機能の提供は不可能となり、また一定ページ数分の両面印刷が可能という制限がある状態となる。また、コピー機能としては、コピーページのソート、回転、変倍、集約などの機能の提供は不可能となり、一定ページ数分の両面コピーおよび試しコピーが可能という制限がある状態となる。
【０１１５】
また、ＦＣＳ緊急モードスレッド１はＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみプロセス間通信を行う。ファックスアプリ緊急モードスレッド１は、メモリ受信やメモリ送信を実行不可能とし、ファクシミリ登録件数の最大値を少なく設定し、かつＦＣＳ１２７に対してはＦＣＳ緊急モードスレッド１とのみプロセス間通信を行う。
【０１１６】
従って、増設メモリに障害がある場合には、ファクシミリ通信機能としては、メモリを大量に使用するメモリ受信やメモリ送信が不可能となり、かつファクシミリ登録件数も少なくなるという機能制限がなされた状態で動作することになる。
【０１１７】
つぎに、診断部２１１によりハードディスクの障害が検知された場合について説明する。この場合、ＳＣＳ１２２の再構築モードスレッドは、図６の再構築テーブルを参照して、すべてのコントロールサービス、ＳＲＭ１２３およびアプリケーション１３０を起動する。そして、再構築テーブルの内容に従って、ＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３の各プロセスに対して、それぞれの緊急モードスレッド２を起動すべき旨の指令メッセージを送信し、その他のコントロールサービスおよびアプリケーション１３０のプロセスに対しては通常モードスレッドを起動すべき旨の指令メッセージを送信する。
【０１１８】
ハードディスクの障害が検知された場合のソフトウェア再構築後の複合機１００は、図７と同様に、すべてのアプリケーション１３０、コントロールサービスおよびＳＲＭ１２３が起動した状態となるが、図７においてＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３のプロセスでは、緊急モードスレッド１の代わりに緊急モードスレッド２が起動する。
【０１１９】
ここで、ハードディスクに障害があった場合には、画像データをハードディスクに格納せずに直接メモリへ格納する。上述の説明の通り、ＭＣＳ緊急モードスレッド２は、画像データのための一時的な格納領域をハードディスクではなくメモリから確保し、ＳＲＭ緊急モードスレッド２は、ハードディスクの代わりにメモリを獲得する。また、プリンタアプリ緊急モードスレッド２は、印刷ページのソート、回転、変倍、集約、両面印刷、試し印刷および機密印刷などの機能を実行せず、かつＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみプロセス間通信を行う。また、コピーアプリ緊急モードスレッド１はコピーページのソート、回転、変倍、集約、両面コピーおよび試しコピーなどの機能を実行せず、かつＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみプロセス間通信を行う。
【０１２０】
従って、ハードディスクに障害がある場合におけるプリント機能としては、プリンタアプリ緊急モードスレッド２と、ＭＣＳ緊急モードスレッド２との間でプロセス間通信が行われる結果、ハードディスクへの画像データの一時的格納を必要とする印刷ページのソート、回転、変倍、集約、試し印刷、機密印刷および両面印刷などの機能の提供が不可能となる。また、コピー機能としても、コピーアプリ緊急モードスレッド２とＭＣＳ緊急モードスレッド２との間でプロセス間通信が行われる結果、ハードディスクへの画像データの一時的格納を必要とするコピーページのソート、回転、変倍、集約、試しコピーおよび両面コピーなどの機能が不可能になる。
【０１２１】
また、ハードディスクに障害がある場合には、ファクスアプリ緊急モードスレッド２とＦＣＳ緊急モードスレッド２との間でプロセス間通信が行われ、増設メモリに障害がある場合と同様に、メモリ受信やメモリ送信が不可能となり、かつファクシミリ登録件数も少なくなるという制限がある状態となる。
【０１２２】
診断部２１１によりネットワークインタフェースの障害が検知された場合には、ＳＣＳ１２２の再構築モードスレッドは、図６の再構築テーブルを参照して、ＮＣＳ１２８とネットファイルアプリ１１５は起動せず、これら以外のアプリケーション１３０、コントロールサービスおよびＳＲＭ１２３を起動する。そして、再構築テーブルの内容に従って、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１の各プロセスに対して、それぞれの緊急モードスレッド３を起動すべき旨の指令メッセージを送信し、その他の起動したコントロールサービスおよびアプリケーション１３０のプロセスに対しては通常モードスレッドを起動すべき旨の指令メッセージを送信する。
【０１２３】
図８は、ネットワークインタフェースの障害が検知された場合におけるソフトウェア再構築後の複合機１００の構成を示すブロック図である。図８に示すように、ネットワークインタフェースに障害がある場合には、ＮＣＳ１２８とネットファイルアプリ１１５以外のアプリケーション１３０、コントロールサービスおよびＳＲＭ１２３が起動され、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１の各プロセスでは緊急モードスレッド３が起動し、その他のコントロールサービスおよびアプリケーションのプロセスでは通常モードスレッドが起動する。
【０１２４】
ネットワークインタフェースに障害があった場合には、ネットワーク機能を利用したすべての機能が制限される。上述の説明の通り、ＳＲＭ緊急モードスレッド３はネットワークインタフェースの獲得を制限したスレッドであり、ＮＣＳ１２８およびネットファイルアプリ１１５は起動しないため、ネットワーク上のＰＣからのプリント機能は制限される。また、ＦＣＳ緊急モードスレッド３およびプリンタアプリ緊急モードスレッド３は、ＰＣ  ＦＡＸの機能を実行せず、かつ両スレッド間のプロセス間通信も行われないため、ネットワークインタフェースに障害がある場合にはＰＣ  ＦＡＸの機能が制限されて動作することになる。
【０１２５】
診断部２１１によりセントロインタフェースの障害が検知された場合には、ＳＣＳ１２２の再構築モードスレッドは、図６の再構築テーブルを参照して、プリンタアプリ１１１を起動せず、プリンタアプリ１１１以外のアプリケーション１３０、すべてのコントロールサービスおよびＳＲＭ１２３を起動する。そして、再構築テーブルの内容に従って、ＳＲＭ１２３のプロセスに対しセントロインタフェースの資源獲得を実行しないＳＲＭ緊急モードスレッド４を起動すべき旨の指令メッセージを送信する。また、その他の起動したアプリケーションおよびコントロールサービスの各プロセスに対しては、通常モードスレッドを起動すべき旨の指令メッセージを送信する。
【０１２６】
図９は、セントロインタフェースの障害が検知された場合におけるソフトウェア再構築後の複合機１００の構成を示すブロック図である。図９に示すように、セントロインタフェースに障害がある場合には、プリンタアプリ１１１以外のアプリケーション１３０、コントロールサービスおよびＳＲＭ１２３が起動し、ＳＲＭ１２３のプロセスでは緊急モードスレッド４が起動し、その他のコントロールサービスおよびアプリケーションのプロセスでは通常モードスレッドが起動する。
【０１２７】
このように、セントロインタフェースに障害がある場合には、プリンタアプリ１１１が起動しないため、複合機１００はコピー、スキャナ、ファクシミリの機能のみに制限されて動作することになる。
【０１２８】
診断部２１１によりスキャナエンジンの障害が検知された場合には、ＳＣＳ１２２の再構築モードスレッドは、図６の再構築テーブルを参照して、スキャナエンジンを使用するコピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４を起動せず、これら以外のアプリケーション１３０、すべてのコントロールサービスおよびＳＲＭ１２３を起動する。そして、再構築テーブルの内容に従って、ＳＲＭ１２３のプロセスに対しスキャナエンジンの資源獲得を実行しないＳＲＭ緊急モードスレッド５を起動すべき旨の指令メッセージを送信する。また、その他の起動したアプリケーション１３０およびコントロールサービスの各プロセスに対しては、通常モードスレッドを起動すべき旨の指令メッセージを送信する。
【０１２９】
図１０は、スキャナエンジンの障害が検知された場合におけるソフトウェア再構築後の複合機１００の構成を示すブロック図である。図１０に示すように、スキャナエンジンに障害がある場合には、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４以外のアプリケーション１３０、コントロールサービスおよびＳＲＭ１２３が起動し、ＳＲＭ１２３のプロセスでは緊急モードスレッド５が起動し、その他のコントロールサービスおよびアプリケーション１３０のプロセスでは通常モードスレッドが起動する。
【０１３０】
このように、スキャナエンジンに障害がある場合には、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４が起動しないため、複合機１００はプリントの機能のみに制限されて動作することになる。
【０１３１】
この他、ファクシミリエンジンあるいはプリンタエンジンなどに障害が検知された場合もあるが、この場合には各エンジンに対応するファックスアプリ１１３およびＦＣＳ１２７、あるいはプリンタアプリ１１１を起動せずに、ファクシミリ通信機能あるいはプリント機能が制限されて動作することになる。
【０１３２】
このように、実施の形態１にかかる複合機１００では、診断部２１１によって複合機１００の起動時にハードウェア資源の障害を検知し、ＳＣＳ１２２の再構築モードスレッドによって、再構築テーブルを参照して、検知された障害に影響のないコントロールサービスおよびアプリケーションを選択して起動しているので、ハードウェア資源の障害に影響ない範囲で機能を制限してサービスを提供することができる。
【０１３３】
（実施の形態２）
実施の形態１にかかる複合機１００は、ハードウェア資源に障害が検知された場合、ただちにソフトウェアの再構築を行っていたが、この発明の実施の形態２にかかる複合機１００は、再構築を行う際に制限される機能などをユーザに報知して、ユーザの承認を得た場合にのみ再構築を行うものである。
【０１３４】
実施の形態２にかかる複合機１００の構成、ハードウェア構成、複合機起動部１４０の構成、ソフトウェア再構築の全体処理および診断部２１１によるハードウェアの診断処理については、実施の形態１の複合機１００と同様であるため説明を省略する。
【０１３５】
実施の形態２の複合機１００では、ＳＣＳ１２２の再構築モードスレッドによる再構築処理が実施の形態１と異なっている。図１１は、実施の形態２にかかる複合機１００のＳＣＳ１２２の再構築モードスレッドによって実行されるソフトウェア再構築処理の手順を示すフローチャートである。なお、再構築処理で参照する再構築テーブルは、実施の形態１において説明した図６のテーブルと同様である。
【０１３６】
実施の形態２の複合機１００におけるＳＣＳ１２２の再構築モードスレッドでは、実施の形態１と同様に、ＳＲＡＭ１６０８から診断結果を、フラッシュメモリ１６０４から再構築テーブルをそれぞれ取得する（ステップＳ１１０１、Ｓ１１０２）。そして、再構築テーブルを参照して、取得した診断結果のハードウェア資源の障害に対応した制限機能を再構築テーブルから読み出して、制限機能と制限付きで起動するか否かの旨のメッセージをオペレーションパネル１６１０のディスプレイに表示し（ステップＳ１１０３）、ユーザからの入力待ち状態となる。
【０１３７】
ユーザからオペレーションパネル１６１０の操作部を介して応答があった場合には、その内容を判断し（ステップＳ１１０４）、応答が「ＯＫ」の場合には、再構築テーブルを参照して起動すべきコントロールサービス、アプリケーション１３０およびＳＲＭ１２３を選択し、さらに選択されたプロセスで起動すべきスレッドを選択する（ステップＳ１１０５）。そして、実施の形態１と同様に、選択されたコントロールサービス、アプリケーション１３０およびＳＲＭ１２３を起動し（ステップＳ１１０６）、起動したコントロールサービス、アプリケーション１３０およびＳＲＭ１２３に対し、どのスレッドを起動すべきかの指示メッセージを送信する（ステップＳ１１０７）。
【０１３８】
一方、ステップＳ１１０４でユーザから「起動しない」旨の応答があった場合には、複合機１００を停止する（ステップＳ１１０８）。従って、ハードウェア資源の障害でソフトウェアの再構築により、これから複合機１００で使用する機能が制限されるような場合には、ユーザは「起動しない」旨の応答を行えば良い。
【０１３９】
このように、実施の形態２にかかる複合機１００では、再構築の際に、オペレーションパネル１６１０のディスプレイに機能が制限されて複合機１００が起動される旨の表示を行い、ユーザから起動することの承認の入力があった場合に緊急モードスレッドを起動しているので、これからユーザが使用を希望している機能が機能制限により実現できない場合に、機能制限された状態で複合機１００が起動してしまうことが回避される。このため、ユーザにとって無意味な複合機１００の自動起動を防止することができる。
【０１４０】
なお、実施の形態１および２にかかる複合機１００では、ハードウェア資源の診断処理を、プログラム起動部２２０内の診断部２１１で行っているが、この他、汎用ＯＳ１２１に診断機能を組み込んだり、診断用のコントロールサービスまたはアプリケーション１３０を別途設けても良い。
【０１４１】
（実施の形態３）
実施の形態１および２にかかる複合機１００は、複合機１００の電源投入時にハードウェア資源の診断を行って、診断結果に応じてソフトウェア再構築を行うものであったが、この発明の実施の形態３にかかる複合機１００は、複合機１００の起動中、すなわちサービスの実行中にハードウェア資源の診断を行って、動的にソフトウェアの再構築を行うものである。
【０１４２】
実施の形態３にかかる複合機１００の構成、ハードウェア構成、複合機起動部１４０の構成については実施の形態１の複合機１００と同様であるため説明を省略する。
【０１４３】
実施の形態３にかかる複合機１００では、ＳＣＳ１２２の再構築モードスレッドによってハードウェア資源の診断処理を行っている。このため、ＳＣＳ１２２の再構築モードスレッドは、本発明における診断手段および再構築手段を構成する。
【０１４４】
図１２は、実施の形態３にかかる複合機１００におけるソフトウェア再構築処理の手順を示すフローチャートである。
【０１４５】
複合機１００によるサービスの処理を実行中、診断要求があると、この診断要求をＳＣＳ１２２で受け取る（ステップＳ１２０１）。ここで、診断要求には、ユーザが明示的に指示した診断要求の他、ネットワーク経由で複合機開発元あるいはサービスセンタのホストコンピュータなどから送信される診断要求や、複合機１００内部でタイマー機能などを利用して一定期間ごとに指令する診断要求も含まれる。なお、ネットワーク経由で診断要求を受信する場合には、診断要求はＮＣＳ１２８経由でＳＣＳ１２２が受信することになる。
【０１４６】
ついで、ＳＣＳ１２２は自プロセス内部で再構築モードスレッドを起動する（ステップＳ１２０２）。そして、この再構築モードスレッドによって、以下に説明するハードウェア資源の診断処理およびソフトウェアの再構築処理が行われる。
【０１４７】
ＳＣＳ１２２の再構築モードスレッドでは、未診断のデバイスに対して順にハードウェアエラーの有無をチェックすることによりデバイスの診断を行う（ステップＳ１２０３）。ここで、具体的な診断処理は、図４で説明した実施の形態１における診断部２１１の診断処理と同様なので説明を省略する。
【０１４８】
つぎに、ＳＣＳ１２２の再構築モードスレッドは、ＳＲＡＭ１６０８に格納されている診断結果を取得し（ステップＳ１２０４）、フラッシュメモリ１６０４から再構築テーブルを読み出す（ステップＳ１２０５）。
【０１４９】
つぎに、取得した診断結果と再構築テーブルとを参照して、ハードウェア資源の障害に対応して、起動しないとして登録されているコントロールサービスおよびアプリケーション１３０と、緊急モードスレッドを起動するとして登録されているコントロールサービス、ＳＲＭ１２３およびアプリケーション１３０を選択する（ステップＳ１２０６）。
【０１５０】
そして、選択されたコントロールサービス、アプリケーション１３０およびＳＲＭ１２３に対して、スレッドを切り替える旨の指令メッセージを送信する（ステップＳ１２０７）。このスレッド切り替えの指令メッセージは、より具体的には、再構築テーブルで起動しないとして登録されているコントロールサービスおよびアプリケーションに対しては、通常モードスレッドの実行を停止すべき旨を指示し、緊急モードスレッドを起動するとして登録されているコントロールサービス、ＳＲＭ１２３およびアプリケーションに対しては、通常モードスレッドの実行を停止するとともに緊急モードスレッドを実行する旨を指示するものである。
【０１５１】
スレッド切り替えの指示メッセージを受信したコントロールサービス、アプリケーションおよびＳＲＭ１２３では、通常モードスレッドの実行を停止すべき旨の指示の場合には通常モードスレッドを停止してプロセスを終了する。また、通常モードスレッドの実行を停止するとともに緊急モードスレッドを実行する旨の指示の場合には、機能制限のある緊急モードスレッドを起動する。これにより、ハードウェア資源の障害に応じたソフトウェアの再構築が完了する。
【０１５２】
例えば、増設メモリの障害が検知された場合には次のようにソフトウェアが再構築される。図１３は、ソフトウェア再構築処理前後の複合機１００の構成を示すブロック図である。図１３（ａ）は再構築処理前の構成を示し、図１３（ｂ）は再構築処理後の構成を示す。
【０１５３】
図１３（ａ）および（ｂ）に示すように、増設メモリエラーがある場合には、ＭＣＳ１２５、ＦＣＳ１２７、ＳＲＭ１２３、プリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３のプロセスでは通常モードスレッドから緊急モードスレッド１へ切り替わり、その他のコントロールサービスおよびアプリケーション１３０のプロセスでは通常モードスレッドが実行される。
【０１５４】
このため、増設メモリに障害がある場合におけるプリント機能としては、メモリを大量に使用する機能が制限されたプリンタアプリ緊急モードスレッド１と、ＭＣＳ緊急モードスレッド１との間でプロセス間通信が行われる結果、印刷ページのソート、回転、変倍、集約、試し印刷、機密印刷などの機能の提供は不可能となり、また一定ページ数分の両面印刷が可能という制限がある状態となる。また、コピー機能としては、コピーページのソート、回転、変倍、集約などの機能の提供は不可能となり、一定ページ数分の両面コピーおよび試しコピーが可能という制限がある状態となる。
【０１５５】
さらに、ＦＣＳ緊急モードスレッド１はＭＣＳ１２５に対してはＭＣＳ緊急モードスレッド１とのみプロセス間通信を行うため、ファクシミリ通信機能としては、メモリを大量に使用するメモリ受信やメモリ送信が不可能となり、かつファクシミリ登録件数も少なくなるという機能制限がなされた状態で動作することになる。
【０１５６】
なお、ハードディスク、ネットワークインタフェース、セントロインタフェースおよびスキャナエンジンなど他のハードウェア資源に障害が検知された場合において、ソフトウェア再構築後の構成および制限内容は実施の形態１の複合機１００と同様であるため説明を省略する。
【０１５７】
このように実施の形態３にかかる複合機１００では、サービス処理の実行中にハードウェア資源の障害を検知し、ＳＣＳ１２２の再構築モードスレッドによって動作中のコントロールサービスおよびアプリケーションの通常モードスレッドを緊急モードスレッドに切り替えるので、複合機１００を再起動させることなく、動的にソフトウェア構成の再構築を行うことができる。
【０１５８】
（実施の形態４）
実施の形態１〜３にかかる複合機１００は、いずれも複合機１００内部のコントロールサービス、アプリケーション１３０のみを利用してソフトウェアの再構築を行っていたが、この発明の実施の形態４にかかる複合機は、ハードウェア資源に障害があった場合に、ネットワークに接続された他の複合機で動作するコントロールサービス、アプリケーションを利用してソフトウェアの再構築を行うものである。
【０１５９】
図１４は、実施の形態４にかかる複合機の構成を示すブロック図である。図１４に示すように、実施の形態４では複数の複合機１４００ａ，１４００ｂがＬＡＮ１４４１などのネットワークによって接続された構成となっている。なお、図１４では、２台の複合機がネットワークで接続された構成となっているが、３台以上の複合機をネットワークで接続してもよい。なお、ネットワーク上の各複合機１４００ａ，１４００ｂの構成、ハードウェア構成、複合機起動部１４４０の構成については実施の形態３の複合機１００と同様であるため説明を省略する。
【０１６０】
図１５は、実施の形態４にかかる複合機１４００ａにおけるソフトウェア再構築処理の手順を示すフローチャートである。複合機１４００ａによるサービスの処理を実行中に診断要求を受信すると、実施の形態３の複合機１００と同様に、ＳＣＳ１４２２の再構築モードスレッドの起動、ハードウェア診断処理が行われる（ステップＳ１５０１〜Ｓ１５０３）。そして、ＳＣＳ１４２２の再構築モードスレッドは、ＳＲＡＭ１６０８に格納されている診断結果を取得し（ステップＳ１５０４）、フラッシュメモリ１６０４から再構築テーブルを読み出す（ステップＳ１５０５）。
【０１６１】
つぎに、取得した診断結果と再構築テーブルとを参照して、ハードウェア資源の障害に対応して、起動しないとして登録されているコントロールサービスおよびアプリケーション１４３０と、緊急モードスレッドを起動するとして登録されているコントロールサービス、ＳＲＭ１４２３およびアプリケーション１４３０を選択する（ステップＳ１５０６）。
【０１６２】
そして、選択されたコントロールサービス、アプリケーション１４３０に対して、通常モードスレッドを停止する旨の指令メッセージを送信する（ステップＳ１５０７）。この指令メッセージを受信したコントロールサービスおよびアプリケーション１４３０では、通常モードスレッドを停止してプロセスを終了する。
【０１６３】
そして、ＳＣＳ１４２２の再構築モードスレッドは、さらに上記ステップＳ１５０６で選択されたコントロールサービスおよびアプリケーション１４３０以外のコントロールサービスおよびアプリケーション１４３０に対して、ネットワーク上の他の複合機１４００ｂのネットワークアドレスをメッセージとして送信する（ステップＳ１５０８）。これにより、ハードウェア資源の障害に応じたソフトウェアの再構築が完了する。
【０１６４】
ネットワークアドレスのメッセージを受信したコントロールサービスおよびアプリケーション１４３０では、複合機１４００ａ内のコントロールサービスおよびアプリケーション１４３０とプロセス間通信を行う代わりに、受信したネットワークアドレスを用いて、ネットワーク上の複合機１４００ｂで動作するコントロールサービスおよびアプリケーション１４３０とプロセス間通信を行う。
【０１６５】
例えば、セントロインタフェースの障害が検知された場合には、ＳＣＳ１４２２の再構築モードスレッドは、複合機１４００ａのプリンタアプリ１４１１のプロセスに対し、通常モードスレッドを停止しプロセスを終了すべき旨のメッセージを送信し、さらにプリンタアプリ１４１１以外のアプリケーション１４３０、すべてのコントロールサービスに対し、ネットワーク上の他の複合機１４００ｂのネットワークアドレスをメッセージ送信する。これにより、プリンタアプリ１４１１以外のアプリケーション１４３０、コントロールサービスは、自複合機１４００ａ内のプリンタアプリ１４１１とプロセス間通信を行う代わりに、ネットワーク上の複合機１４００ｂで動作するプリンタアプリ１４１１とプロセス間通信を行う。このため、ネットワーク上のＰＣから複合機１４００ａに対して印刷要求があった場合でも、複合機１４００ｂのプリンタアプリを利用して機能制限なくプリント機能を提供することが可能となる。
【０１６６】
このように実施の形態４の複合機１４００ａでは、ハードウェア資源の障害を検知したときに、ＳＣＳ１４２２の再構築モードスレッドが検知された障害に影響するコントロールサービスおよびアプリケーション１４３０の代わりにネットワークに接続された他の複合機１４００ｂで動作するコントロールサービスまたはアプリケーションを選択することで、機能制限のない完全なサービスを提供することができる。
【０１６７】
なお、実施の形態３および４にかかる複合機１００、１４００ａでは、ハードウェア資源の診断処理を、ＳＣＳ１２２、１４２２の再構築モードスレッドで実行しているが、診断処理のみを行う診断モードスレッドをＳＣＳ１２２、１４２２のプロセス内で生成し、この診断モードスレッドによってハードウェア資源の診断処理を実行するように構成してもよい。
【０１６８】
また、実施の形態１〜４にかかる複合機１００、１４００ａでは、ソフトウェア構成の再構築処理をＳＣＳ１２２、１４２２の再構築モードスレッドで実行しているが、コントロールサービス層に新たなコントロールサービスを生成し、この新たなコントロールサービスで再構築処理を実行するように構成しても良い。
【０１６９】
また、実施の形態１〜４にかかる複合機１００、１４００ａで説明した再構築テーブルおよび各緊急モードスレッドは、一例を示すものであり、ハードウェア資源の障害に応じて任意に定めることが可能である。
【０１７０】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、ハードウェア資源の障害に影響ない範囲でサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１７１】
また、請求項４にかかる発明によれば、ハードウェア障害時には同一プロセス内で起動するスレッドを切り替えるだけで障害に影響ない機能を提供できるので、起動時間の短縮化が図られるという効果を奏する。
【０１７２】
また、請求項５にかかる発明によれば、機能制限によりユーザが希望する機能が得られない場合に、機能制限された状態で画像情報処理装置が起動してしまうことが回避され、ユーザの利便性をより向上させることができるという効果を奏する。
【０１７３】
また、請求項６にかかる発明によれば、システムコントロールサービスの再構築モードスレッドを再構築手段として用いることができ、装置構成の簡略化が図られるという効果を奏する。
【０１７４】
また、請求項７にかかる発明によれば、画像情報処理装置を再起動させることなく、通常モードスレッドと緊急モードスレッドの並列実行を利用して動的にソフトウェア構成の再構築ができ、サービスの全機能を停止せずに再構築が行えるとともに、再構築完了までの時間を短縮することができるという効果を奏する。
【０１７５】
また、請求項８にかかる発明によれば、メモリに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１７６】
また、請求項９にかかる発明によれば、ハードディスクに障害があった場合でも、ハードディスクを必要とする機能をメモリの利用で代替えして、機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１７７】
また、請求項１０にかかる発明によれば、メモリコントロールサービスの機能を制限したにも拘わらず、アプリケーションがメモリコントロールサービスの通常モードスレッドとプロセス間通信を行ってハードウェア資源の障害に影響のある機能が実行されてしまう不具合を確実に阻止し、機能制限されたサービスを確実に提供することができるという効果を奏する。
【０１７８】
また、請求項１１にかかる発明によれば、ネットワークインタフェースに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１７９】
また、請求項１２にかかる発明によれば、自己の画像情報処理装置内のみでは機能制限されたサービスしか提供できない場合でも、ネットワーク上の他の画像情報処理装置のプログラムまたはアプリケーションで代替えして、機能制限のない完全なサービスを提供することができ、ユーザの利便性をより向上させることができるという効果を奏する。
【０１８０】
また、請求項１３にかかる発明によれば、ユーザからの診断要求だけでなく、ネットワーク上の装置開発元やサービスセンタなどのホストコンピュータからの診断要求に応じて、ハードウェア資源の診断およびソフトウェア構成の再構築を行うことができ、動的な診断および再構築を実現することができるという効果を奏する。
【０１８１】
また、請求項１４にかかる発明によれば、ハードウェア資源の障害に影響ない範囲でサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１８２】
また、請求項１７にかかる発明によれば、ハードウェア障害時には同一プロセス内で起動するスレッドを切り替えるだけで障害に影響ない機能を提供できるので、通常の機能を提供するプロセスと機能制限されたプロセスとを別々に設けてプロセスの起動する場合に比べて、起動時間の短縮化が図られるという効果を奏する。
【０１８３】
また、請求項１８にかかる発明によれば、機能制限によりユーザが希望する機能が得られない場合に、機能制限された状態で画像情報処理装置が起動してしまうことが回避され、ユーザの利便性をより向上させることができるという効果を奏する。
【０１８４】
また、請求項１９にかかる発明によれば、システムコントロールサービスの再構築モードスレッドを再構築手段として用いることができ、別途再構築手段を設ける場合に比べて、装置構成の簡略化が図られるという効果を奏する。
【０１８５】
また、請求項２０にかかる発明によれば、画像情報処理装置を再起動させることなく、通常モードスレッドと緊急モードスレッドの並列実行を利用して動的にソフトウェア構成の再構築が可能となり、サービスの全機能を停止せずに再構築が行えるとともに、再構築完了までの時間を短縮することができるという効果を奏する。
【０１８６】
また、請求項２１にかかる発明によれば、メモリに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１８７】
また、請求項２２にかかる発明によれば、ハードディスクに障害があった場合でも、ハードディスクを必要とする機能をメモリの利用で代替えして、機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１８８】
また、請求項２３にかかる発明によれば、メモリコントロールサービスの機能を制限したにも拘わらず、アプリケーションがメモリコントロールサービスの通常モードスレッドとプロセス間通信を行ってハードウェア資源の障害に影響のある機能が実行されてしまう不具合を確実に阻止し、機能制限されたサービスを確実に提供することができるという効果を奏する。
【０１８９】
また、請求項２４にかかる発明によれば、ネットワークインタフェースに関する障害に影響しない範囲で機能制限されたサービスを提供することができ、ユーザの利便性を向上させることができるという効果を奏する。
【０１９０】
また、請求項２５にかかる発明によれば、自己の画像情報処理装置内のみでは機能制限されたサービスしか提供できない場合でも、ネットワーク上の他の画像情報処理装置のプログラムまたはアプリケーションで代替えして、機能制限のない完全なサービスを提供することができ、ユーザの利便性をより向上させることができるという効果を奏する。
【０１９１】
また、請求項２６にかかる発明によれば、ユーザからの診断要求だけでなく、ネットワーク上の装置開発元やサービスセンタなどのホストコンピュータからの診断要求に応じて、ハードウェア資源の診断およびソフトウェア構成の再構築を行うことができ、動的な診断および再構築を実現することができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の実施の形態１である複合機の構成を示すブロック図である。
【図２】  実施の形態１の複合機における複合機起動部の構成を示すブロック図である。
【図３】  実施の形態１の複合機におけるソフトウェア再構築の全体の処理手順を示すフローチャートである。
【図４】  実施の形態１の複合機におけるハードウェア資源の各デバイスの診断処理手順を示すフローチャートである。
【図５】  実施の形態１の複合機におけるソフトウェア再構築処理の手順を示すフローチャートである。
【図６】  実施の形態１の複合機によるソフトウェア再構築処理で参照される再構築テーブルの一例を示す説明図である。
【図７】  実施の形態１の複合機において、増設メモリの障害が検知された場合におけるソフトウェア再構築後の複合機の構成を示すブロック図である。
【図８】  実施の形態１の複合機において、ネットワークインタフェースの障害が検知された場合におけるソフトウェア再構築後の複合機の構成を示すブロック図である。
【図９】  実施の形態１の複合機において、セントロインタフェースの障害が検知された場合におけるソフトウェア再構築後の複合機の構成を示すブロック図である。
【図１０】  実施の形態１の複合機において、スキャナエンジンの障害が検知された場合におけるソフトウェア再構築後の複合機の構成を示すブロック図である。
【図１１】  実施の形態２の複合機によるソフトウェア再構築処理の手順を示すフローチャートである。
【図１２】  実施の形態３の複合機におけるソフトウェア再構築処理の手順を示すフローチャートである。
【図１３】  図１３（ａ）は実施の形態３におけるソフトウェア再構築処理前の複合機１００の構成を示すブロック図であり、図１３（ｂ）はソフトウェア再構築処理後の構成を示すブロック図である。
【図１４】  実施の形態４にかかる複合機の構成を示すブロック図である。
【図１５】  実施の形態４にかかる複合機によるソフトウェア再構築処理の手順を示すフローチャートである。
【図１６】  実施の形態１の複合機のハードウェア構成図である。
【符号の説明】
１００、１４００ａ、１４００ｂ  複合機
１０１、１４０１  白黒ラインプリンタ
１０２、１４０２  カラーラインプリンタ
１０３、１４０３  ハードウェアリソース
１１０、１４１０  ソフトウェア群
１１１、１４１１  プリンタアプリ
１１２、１４１２  コピーアプリ
１１３、１４１３  ファックスアプリ
１１４、１４１４  スキャナアプリ
１１５、１４１５  ネットファイルアプリ
１１６、１４１６  工程検査アプリ
１２０、１４２０  プラットホーム
１２１、１４２１  汎用ＯＳ
１２２、１４２２  ＳＣＳ
１２３、１４２３  ＳＲＭ
１２４、１４２４  ＥＣＳ
１２５、１４２５  ＭＣＳ
１２６、１４２６  ＯＣＳ
１２７、１４２７  ＦＣＳ
１２８、１４２８  ＮＣＳ
１３０、１４３０  アプリケーション
１４０、１４４０  複合機起動部
１４４１  ＬＡＮ
２１０  ハードウェア初期化部
２１１  診断部
２２０  プログラム起動部
１６００  コントローラボード
１６０１  ＡＳＩＣ
１６０２  ＣＰＵ
１６０３  ＳＤＲＡＭ
１６０４  フラッシュメモリ
１６０５  ＨＤ
１６０８  ＳＲＡＭ
１６１０  オペレーションパネル
１６２０  ＦＣＵ
１６３０  ＵＳＢ
１６４０  ＩＥＥＥ１３９４
１６５０  プリンタ
【図１】
0003898476.tif 000002
【図２】
0003898476.tif 000003
【図３】
0003898476.tif 000004
【図４】
0003898476.tif 000005
【図５】
0003898476.tif 000006
【図６】
0003898476.tif 000007
【図７】
0003898476.tif 000008
【図８】
0003898476.tif 000009
【図９】
0003898476.tif 000010
【図１０】
0003898476.tif 000011
【図１１】
0003898476.tif 000012
【図１２】
0003898476.tif 000013
【図１３】
0003898476.tif 000014
【図１４】
0003898476.tif 000015
【図１５】
0003898476.tif 000016
【図１６】
0003898476.tif 000017