(57)【特許請求の範囲】
【請求項１】
ソフトウェアをインストール可能な情報処理装置と、前記情報処理装置とネットワークで接続され前記情報処理装置における前記ソフトウェアのインストールを管理する管理装置とを備える情報処理システムであって、
前記情報処理装置は、
ソフトウェアのインストール要求があった場合、当該ソフトウェアのインストールを実行するインストール実行手段と、
前記インストール実行手段によるインストールの成否結果を前記管理装置に通知する成否結果通知手段と、
インストール可能状態に復帰した場合、未インストールのソフトウェアの有無を前記管理装置に問合せる問合せ手段と、
を有し、
前記管理装置は、
前記成否結果通知手段からの失敗通知を受けた場合、前記失敗通知から失敗原因を判定する判定手段と、
前記判定手段により、リモート制御により失敗原因が解決不可であると判定された場合、当該情報処理装置の識別情報と未インストールのソフトウェアを示す情報とを対応付けた登録情報を記憶手段に記憶する記憶処理手段と、
前記問合せ手段からの問合せを受けた場合、前記記憶手段に記憶されている登録情報をチェックし、未インストールのソフトウェアがあれば、当該ソフトウェアのインストールを当該情報処理装置に指示する再インストール指示手段と、
を有することを特徴とする情報処理システム。
【請求項２】
前記情報処理装置として、マスタに設定された情報処理装置と、スレーブに設定された情報処理装置とを備え、
前記再インストール指示手段は、前記マスタに設定された情報処理装置に対して、未インストールのソフトウェアの再インストールを指示し、前記スレーブに設定された情報処理装置に対しては、未インストールのソフトウェアの再インストールを指示することはせず、
前記マスタに設定された情報処理装置は、
前記スレーブに設定された情報処理装置がインストール可能状態に復帰した場合、当該スレーブに設定された情報処理装置に対して未インストールのソフトウェアの再インストールを指示することを特徴とする請求項１記載の情報処理システム。
【請求項３】
ネットワークで接続された情報処理装置におけるソフトウェアのインストールを管理する管理装置であって、
前記情報処理装置からのインストールの失敗通知を受けた場合、前記失敗通知から失敗原因を判定する判定手段と、
前記判定手段により、リモート制御により失敗原因が解決不可であると判定された場合、当該情報処理装置の識別情報と未インストールのソフトウェアを示す情報とを対応付けた登録情報を記憶手段に記憶する記憶処理手段と、
前記情報処理装置からの未インストールの有無の問合せを受けた場合、前記記憶手段に記憶されている登録情報をチェックし、未インストールのソフトウェアがあれば、当該ソフトウェアのインストールを当該情報処理装置に指示する再インストール指示手段と、
を有することを特徴とする管理装置。
【請求項４】
ソフトウェアをインストール可能な情報処理装置であって、
ソフトウェアのインストール要求があった場合、当該ソフトウェアのインストールを実行するインストール実行手段と、
前記インストール実行手段によるインストールの成否結果を請求項３記載の管理装置に通知する成否結果通知手段と、
インストール可能状態に復帰した場合、未インストールのソフトウェアの有無を前記管理装置に問合せる問合せ手段と、
を有することを特徴とする情報処理装置。
【請求項５】
マスタに設定された情報処理装置であって、
スレーブに設定された情報処理装置がインストール可能状態に復帰した場合、当該スレーブに設定された情報処理装置に対して未インストールのソフトウェアの再インストールを指示することを特徴とする請求項４記載の情報処理装置。
【請求項６】
ネットワークで接続された情報処理装置におけるソフトウェアのインストールを管理する管理装置で実行されるインストール処理方法であって、
判定手段が、前記情報処理装置からのインストールの失敗通知を受けた場合、前記失敗通知から失敗原因を判定する判定ステップと、
記憶処理手段が、前記判定ステップにより、リモート制御により失敗原因が解決不可であると判定された場合、当該情報処理装置の識別情報と未インストールのソフトウェアを示す情報とを対応付けた登録情報を記憶手段に記憶する記憶処理ステップと、
再インストール指示手段は、前記情報処理装置からの未インストールの有無の問合せを受けた場合、前記記憶手段に記憶されている登録情報をチェックし、未インストールのソフトウェアがあれば、当該ソフトウェアのインストールを当該情報処理装置に指示する再インストール指示ステップと、
を含むことを特徴とするインストール処理方法。
【請求項７】
ソフトウェアをインストール可能な情報処理装置で実行されるインストール処理方法であって、
インストール実行手段が、ソフトウェアのインストール要求があった場合、当該ソフトウェアのインストールを実行するインストール実行ステップと、
成否結果通知手段が、前記インストール実行ステップによるインストールの成否結果を請求項６記載の管理装置に通知する成否結果通知ステップと、
問合せ手段が、インストール可能状態に復帰した場合、未インストールのソフトウェアの有無を前記管理装置に問合せる問合せステップと、
を含むことを特徴とするインストール処理方法。
【請求項８】
ネットワークで接続された情報処理装置におけるソフトウェアのインストールを管理する管理装置として機能するコンピュータに実行させるためのプログラムであって、
判定手段が、前記情報処理装置からのインストールの失敗通知を受けた場合、前記失敗通知から失敗原因を判定する判定ステップと、
記憶処理手段が、前記判定ステップにより、リモート制御により失敗原因が解決不可であると判定された場合、当該情報処理装置の識別情報と未インストールのソフトウェアを示す情報とを対応付けた登録情報を記憶手段に記憶する記憶処理ステップと、
再インストール指示手段は、前記情報処理装置からの未インストールの有無の問合せを受けた場合、前記記憶手段に記憶されている登録情報をチェックし、未インストールのソフトウェアがあれば、当該ソフトウェアのインストールを当該情報処理装置に指示する再インストール指示ステップと、
を前記コンピュータに実行させるためのプログラム。
【請求項９】
ソフトウェアをインストール可能な情報処理装置として機能するコンピュータに実行させるためのプログラムであって、
インストール実行手段が、ソフトウェアのインストール要求があった場合、当該ソフトウェアのインストールを実行するインストール実行ステップと、
成否結果通知手段が、前記インストール実行ステップによるインストールの成否結果を請求項８記載の管理装置に通知する成否結果通知ステップと、
問合せ手段が、インストール可能状態に復帰した場合、未インストールのソフトウェアの有無を前記管理装置に問合せる問合せステップと、
を前記コンピュータに実行させるためのプログラム。
【請求項１０】
請求項８に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【請求項１１】
請求項９に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアのインストール処理技術に関する。
【背景技術】
【０００２】
従来、会社、学校、家庭等の同一組織内に設置されたＬＡＮなどの内部ネットワークに接続された複数台の画像形成装置（情報処理装置）とインターネットなどの外部ネットワークを介して接続され、それら複数の画像形成装置の保守管理を行う管理装置を備えた機器管理システムが知られている。
【０００３】
この種の機器管理システムの画像形成装置では、当該画像形成装置の機能を拡張するアプリケーションソフトウェア（以下、単に「ソフトウェア」という。）を、外部ネットワークを介して接続されるアプリ管理サーバからダウンロードしてインストールすることが可能となっている。
【０００４】
ところで、この種の画像形成装置においては、購入対象のソフトウェアのインストールに失敗した場合、そのインストールの実行前のソフトウェアの構成に戻すロールバック処理が実行され（例えば、特許文献１参照）、その後、一定時間経過した後に再インストール処理が実行されるようになっている。
【０００５】
これにより、一時的な通信環境の異常などが失敗の原因である場合には、通信環境が正常な状態に戻った際に再インストール処理が行われることで、ソフトウェアのインストールに成功するようになっている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の画像形成装置にあっては、ＣＰＵや、そのＣＰＵに接続されたプリンタ、スキャナまたはファックスユニットなどの各種デバイスの故障や、紙詰まりによるサービスコールの処理中などの物理的な障害が発生していることが失敗の原因である場合には、ロールバック処理及び再インストール処理を行ったとしても、ソフトウェアのインストールに成功しないなどの問題点があった。
【０００７】
そこで、本発明は、前記従来の課題を解決するものであり、リモート制御により解決できない物理的な障害が原因によるソフトウェアのインストール失敗を回避可能な情報処理システム、管理装置、情報処理装置、インストール処理方法、プログラム及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明の情報処理システムは、ソフトウェアをインストール可能な情報処理装置と、前記情報処理装置とネットワークで接続され前記情報処理装置における前記ソフトウェアのインストールを管理する管理装置とを備える情報処理システムであって、前記情報処理装置は、ソフトウェアのインストール要求があった場合、当該ソフトウェアのインストールを実行するインストール実行手段と、前記インストール実行手段によるインストールの成否結果を前記管理装置に通知する成否結果通知手段と、インストール可能状態に復帰した場合、未インストールのソフトウェアの有無を前記管理装置に問合せる問合せ手段と、を有し、前記管理装置は、前記成否結果通知手段からの失敗通知を受けた場合、前記失敗通知から失敗原因を判定する判定手段と、前記判定手段により、リモート制御により失敗原因が解決不可であると判定された場合、当該情報処理装置の識別情報と未インストールのソフトウェアを示す情報とを対応付けた登録情報を記憶手段に記憶する記憶処理手段と、前記問合せ手段からの問合せを受けた場合、前記記憶手段に記憶されている登録情報をチェックし、未インストールのソフトウェアがあれば、当該ソフトウェアのインストールを当該情報処理装置に指示する再インストール指示手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、リモート制御により解決できない物理的な障害が原因によるソフトウェアのインストール失敗を回避できる、という効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係わる機器管理システムの概略構成を説明するための概要図である。
【図２】図２は、複合機のハードウェア構成を説明するためのブロック図である。
【図３】図３は、複合機の機能的構成を説明するためのブロック図である。
【図４】図４は、アプリインストール制御サービスの詳細な構成を説明するための機能ブロック図である。
【図５】図５は、中央管理装置のハードウェア構成を説明するためのブロック図である。
【図６】図６は、中央管理装置の機能的構成を説明するための機能ブロック図である。
【図７】図７は、未インストール情報登録テーブルの一構成例を説明するための図である。
【図８】図８は、機器管理システムにおける処理の流れを示すシーケンス図である。
【図９】図９は、機器管理システムにおける処理の流れを示すシーケンス図である。
【図１０】図１０は、機器管理システムにおける処理の流れを示すシーケンス図である。
【図１１】図１１は、機器管理システムにおける処理の流れを示すシーケンス図である。
【図１２】図１２は、機器管理システムにおける処理の流れを示すシーケンス図である。
【図１３】図１３は、複合機における処理の流れを示すフローチャートである。
【図１４】図１４は、複合機における処理の流れを示すフローチャートである。
【図１５】図１５は、複合機における処理の流れを示すフローチャートである。
【図１６】図１６は、中央管理装置における処理の流れを示すフローチャートである。
【図１７】図１７は、中央管理装置における処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について添付図面を参照して説明する。
【００１２】
（システム構成）
まず、本実施形態に係わる機器管理システム１の各種構成について説明する。
【００１３】
図１は、本実施形態に係わる機器管理システム１の概略構成を説明するための概要図である。
【００１４】
図１に示すように、この機器管理システム１は、仲介装置２００、ライセンス管理サーバ（ライセンス管理装置）３００、アプリ管理サーバ４００、中央管理装置５００、Ｗｅｂサーバ６００等が、インターネットなどの外部ネットワーク８０を介して接続されている。
【００１５】
また、仲介装置２００と外部ネットワーク８０との間には、ファイアウォール９０が設けられており、仲介装置２００には、複数の複合機（画像形成装置）（複合機（１）１００−１、・・・、複合機（Ｎ）１００−Ｎ）（Ｎ：２以上の任意の整数）（以下、特定しない複合機を単に複合機１００と称する。）が、外部ネットワーク８０とは異なるＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワークで接続されている。
【００１６】
ここで、ファイアウォール９０は、インターネットなどの外部ネットワーク８０を通じて仲介装置２００に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスの検出及び遮断を行うものである。
【００１７】
複合機（ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌｓ））１００は、プリンタ機能、コピー機能、ファクシミリ機能、スキャナ機能等の各機能のうちの少なくとも二つ以上の機能を有し、アプリ管理サーバ４００からダウンロードされたアプリケーションソフトウェア（以下、単に「外部アプリ」という。）（図３参照）をインストールすることが可能な装置であり、ＬＡＮなどの内部ネットワークを介して仲介装置２００に通信可能に接続されている。なお、複数の複合機１００−１、・・・、１００−Ｎは、会社、学校、家庭等の同一組織の管理下で設置されるものである。また、この複合機１００が、特許請求の範囲に記載の情報処理装置に対応する。
【００１８】
また、本実施形態の複合機１００は、仲介装置２００から定時情報の取得要求を受信した場合に、サプライ状態情報、ジャム情報、カウンタ情報、バージョン情報、エラー情報、機器設定情報等と、複合機１００に新規に追加された外部アプリ１１８（図３参照）に関するカウンタ情報やパラメータ情報等を含む外部アプリの設定情報とを定時情報として、仲介装置２００に送信する。
【００１９】
仲介装置２００は、ライセンス管理サーバ３００、アプリ管理サーバ４００、中央管理装置５００、Ｗｅｂサーバ６００等と、各複合機１００との間で行われる処理を仲介する装置である。
【００２０】
また、本実施形態の仲介装置２００は、複合機１００に対して、一定時間毎に上述の定時情報の送信要求をメソッド単位で送信し、また、前記送信要求に対応して複合機１００から送信される定時情報を受信し、中央管理装置５００に送信する機能を有している。
【００２１】
ライセンス管理サーバ３００は、アプリ管理サーバ４００からダウンロードされて複合機１００にインストールされる外部アプリのライセンスキーなどを含むライセンス（利用権）データを管理する装置である。
【００２２】
アプリ管理サーバ４００は、複合機１００にインストールされる外部アプリを管理する装置である。
【００２３】
中央管理装置５００は、複合機１００のメーカやサービス提供会社のサービスセンタ等に設置されるサーバ装置であり、仲介装置２００を介して管理対象である複合機１００を遠隔管理する装置である。
【００２４】
なお、この中央管理装置５００は、Ｗｅｂページでユーザインタフェースとなる画面（ＷｅｂＵＩ）を表示するＷｅｂＵＩ画面表示機能を備えており、操作端末と接続することにより、ＷｅｂＵＩから、管理対象となる複合機１００の情報の収集、エラー状態確認などの検索を行うことが可能となっている。
【００２５】
Ｗｅｂサーバ６００は、アプリケーション等のソフトウェアのポータル販売サイトを有するサーバ装置である。即ち、ユーザは、パーソナルコンピュータなどのユーザ端末や複合機１００等から、このＷｅｂサーバ６００のポータル販売サイトにアクセスして、所望の外部アプリを購入することが可能となっている。
【００２６】
図２は、複合機１００のハードウェア構成を説明するためのブロック図である。
【００２７】
図２に示すように、この複合機１００は、コントローラ１０と、操作表示部２０と、エンジン部（Ｅｎｇｉｎ）６０とを主体に構成され、コントローラ１０とエンジン部６０とがＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｆａｃｅ）バスで接続され、コントローラ１０と操作表示部２０とが所定の信号線を介して接続されている。
【００２８】
コントローラ１０は、複合機１００全体の制御、即ち、描画処理や、通信処理や、操作表示部２０に対する操作入力及び表示処理などの各種処理を制御するものであり、本実施形態では、ＣＰＵ１１、システムメモリ（ＭＥＭ−Ｐ）１２、ノースブリッジ（ＮＢ）１３、サウスブリッジ（ＳＢ）１４、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）１６、ローカルメモリ（ＭＥＭ−Ｃ）１７、ハードディスク装置（ＨＤＤ：Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０３等を有している。
【００２９】
なお、ノースブリッジ（ＮＢ）１３とＡＳＩＣ１６は、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）バス１５で接続されており、ＭＥＭ−Ｐ１２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２ａと、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ)１２ｂを有している。
【００３０】
ＣＰＵ１１は、複合機１００全体を統括的に制御するものであり、ＭＥＭ−Ｐ１２、ＮＢ１３、ＳＢ１４からなるチップセットを介して他の機器と接続される。
【００３１】
ＭＥＭ−Ｐ１２は、プログラムやデータの格納用及び展開用のメモリ、プリンタの描画用のメモリ等として用いられるシステムメモリである。なお、ＲＯＭ１２ａが、プログラムやデータの格納用のメモリとして用いられる読み出し専用のメモリであり、ＲＡＭ１２ｂが、プログラムやデータの展開用のメモリやプリンタの描画用のメモリなどとして用いられる書き込み／読み出し用のメモリである。
【００３２】
ＮＢ１３は、ＣＰＵ１１と、ＭＥＭ−Ｐ１２、ＳＢ１４、ＡＳＩＣ１６等を接続するためのブリッジであり、ＭＥＭ−Ｐ１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタ及びＡＰターゲットとを有する。
【００３３】
ＳＢ１４は、ＮＢ１３と、ＰＣＩデバイス、周辺デバイス等とを接続するためのブリッジである。なお、このＳＢ１４は、ＰＣＩバスを介してＮＢ１３と接続されており、このＰＣＩバスには、ネットワークインタフェース（Ｉ／Ｆ）部なども接続される。
【００３４】
ＡＧＰ１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用バスインタフェースであり、ＭＥＭ−Ｐ１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にする。
【００３５】
ＡＳＩＣ１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、ＡＧＰ１５、ＰＣＩバス、ＨＤＤ１０３及びＭＥＭ−Ｃ１７をそれぞれ接続するブリッジの役割を有する。
【００３６】
また、このＡＳＩＣ１６は、ＰＣＩターゲットと、ＡＧＰマスタと、このＡＳＩＣ１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）と、エンジン部６０との間でＰＣＩバスを介したデータ転送を行うＰＣＩユニットなどから構成される。
【００３７】
さらに、このＡＳＩＣ１６には、ＰＣＩバスを介してＦＣＵ（Ｆａｃｓｉｍｉｌｅ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）３０、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）４０、ＩＥＥＥ１３９４（ｔｈｅ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ  １３９４）インタフェース５０が接続されるとともに、操作表示部２０が信号線を介して接続されている。
【００３８】
ＭＥＭ−Ｃ１７は、コピー用画像バッファ、符号バッファ等として用いられるローカルメモリである。
【００３９】
ハードディスク装置（ＨＤＤ）１０３は、画像データ、プログラム、フォントデータ、フォーム等の蓄積を行うためのストレージである。
【００４０】
操作表示部２０は、押しボタンやタッチパネルなどで構成され、前記タッチパネルには、複合機１００の各種機能を利用するための操作方法や機能ボタンを表示するとともに、前記機能ボタンなどを介してユーザからの操作入力を受け付けるためのユーザインタフェースである。
【００４１】
図３は、複合機１００の機能的構成を説明するためのブロック図である。
【００４２】
図３に示すように、複合機１００は、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１０１、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２、スキャナまたはファックスユニット、ハードディスク装置（ＨＤＤ）１０３、メモリやネットワークインタフェースなどのその他のハードウェアリソース１０４、通信Ｉ／Ｆ１０５等の上述のエンジン部６０としてのハードウェアを有するとともに、プラットホーム１２０とアプリケーション１３０から構成されるソフトウェア群１１０を有している。
【００４３】
プラットホーム１２０は、汎用ＯＳ１２１と、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させる種々のコントロールサービス（１２２、１２４〜１２９、１３１等）とを有している。なお、プラットホーム１２０は、予め定義された関数によりアプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有している。
【００４４】
ここで、汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０及びアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列に実行する。
【００４５】
また、上述のコントロールサービスとしては、ＳＣＳ（システムコントロールサービス）１２２、ＥＣＳ（エンジンコントロールサービス）１２４、ＭＣＳ（メモリコントロールサービス）１２５、ＯＣＳ（オペレーションパネルコントロールサービス）１２６、ＦＣＳ（ファックスコントロールサービス）１２７、ＮＣＳ（ネットワークコントロールサービス）１２８、ＮＲＳ（ニューリモートサービス）１２９、アプリインストール制御サービス１３１等を有している。
【００４６】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御等を行うものである。
【００４７】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御及びリソースの管理を行うものである。また、ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、Ｒ２３２Ｃ  Ｉ／Ｆ等）のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【００４８】
より具体的には、ＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか、即ち、他の要求により利用されていないかどうかを判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える処理を実行する。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成等の要求内容を直接実施する。
【００４９】
ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（Ｂ＆Ｗ  ＬＰ）１０１、カラーレーザプリンタ（Ｃｏｌｏｒ  ＬＰ）１０２、その他のハードウェアリソース１０４等のエンジン部６０の制御を行うものである。
【００５０】
ＭＣＳ１２５のプロセスは、画像メモリの取得及び解放、ハードディスク装置（ＨＤＤ）１０３の利用、画像データの圧縮及び伸張等を行うものである。
【００５１】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となる操作表示部（オペレーションパネル）２０（図２参照）の制御を行うものである。
【００５２】
より具体的には、ＯＣＳ１２６のプロセスは、操作表示部２０からキー押下またはタッチ操作をキーイベントとして取得し、該取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０または各種コントロールサービスからの要求により操作表示部２０に各種画面を描画出力する描画関数や、その他、操作表示部２０に対する制御を行う関数などが予め登録されたＯＣＳライブラリの部分とから構成される。なお、ＯＣＳライブラリは、アプリケーション１３０及びコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６の全てをプロセスとして動作させるように構成しても良いし、ＯＣＳ１２６の全てをＯＣＳライブラリとして構成しても良い。
【００５３】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信等を行うためのＡＰＩを提供する。
【００５４】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、より具体的には、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信したりする際の仲介を行うものである。
【００５５】
ＮＲＳ１２９は、ネットワークを介してデータを送受信する際のデータの変換を行うなど、ネットワークを介した遠隔管理に関する機能及びスケジューラ機能を実現するアプリケーションである。
【００５６】
アプリインストール制御サービス１３１は、複合機１００で利用される外部アプリ１１８のインストールに係わる処理を制御するものであり、具体的には、外部アプリ１１８のインストール処理を実行するとともに、インストールされた外部アプリ１１８の固有のライセンス情報を取得する処理を実行する。また、仲介装置２００からの定時情報の送信要求を受けて、複合機１００のハードディスク装置（ＨＤＤ）１０３やＲＡＭ１２ｂなどの記憶手段に記憶されている定時情報を取得し、仲介装置２００に送信する。
【００５７】
図４は、前記したアプリインストール制御サービス１３１の詳細な構成を説明するための機能ブロック図である。
【００５８】
図４に示すように、このアプリインストール制御サービス１３１は、入出力処理部１３１ａ、インストール実行部１３１ｂ、インストール結果通知部１３１ｃ、ロールバック処理部１３１ｄ、未インストール情報問合せ部１３１ｅ、インストール同期部１３１ｆ等を有している。
【００５９】
ここで、入出力処理部１３１ａは、信号の入出力処理を行うものであり、データ受信部１３１ａ−１とデータ送信部１３１ａ−２とを有している。具体的には、データ受信部１３１ａ−１が、インストール対象の外部アプリ１１８の情報や再インストール指示信号などの各種データを受信する処理を行い、データ送信部１３１ａ−２が、インストールの成否結果を通知する信号やロールバック完了通知信号などの各種データを送信する処理を行う。
【００６０】
インストール実行部１３１ｂは、外部アプリ１１８のインストールやアンインストール、または再インストールの処理を制御するものである。
【００６１】
より具体的には、このインストール実行部１３１ｂは、アプリ管理サーバ４００から受信した購入対象の外部アプリ（以下、単に「対象外部アプリ」という場合がある。）１１８を複合機１００にインストールする処理を実行したり、中央管理装置５００から受信した解決指示信号に基づき、既にインストールされている既存の外部アプリ１１８の中からバージョンアップが必要な外部アプリ１１８を特定して当該特定された外部アプリ１１８のバージョンアップ処理を実行したり、そのバージョンアップ処理によりバージョンアップが無事終了した後、対象外部アプリ１１８の再インストールする処理を実行する。
【００６２】
インストール結果通知部１３１ｃは、対象外部アプリ１１８のインストールの成否結果を通知する。
【００６３】
具体的には、このインストール結果通知部１３１ｃは、インストール実行部１３１ｂによるインストールや再インストールが成功した場合に、インストール成功通知信号を生成して入出力処理部１３１ａに出力する。これにより、データ送信部１３１ａ−２が、インストール成功通知信号を中央管理装置５００に送信する。
【００６４】
また、インストール結果通知部１３１ｃは、インストール実行部１３１ｂによるインストールや再インストールが失敗した場合に、インストール失敗通知信号を生成して入出力処理部１３１ａに出力する。これにより、データ送信部１３１ａ−２が、インストール失敗通知信号を中央管理装置５００に送信する。
【００６５】
なお、インストール結果通知部１３１ｃは、失敗原因を示す失敗原因情報を含むインストール失敗通知信号を生成するものである。
【００６６】
具体的には、インストール結果通知部１３１ｃは、対象外部アプリ１１８のＩＤ及び外部アプリ１１８のバージョンの組合せの不整合、即ち、対象外部アプリ１１８が依存する依存先の外部アプリ１１８がバージョンアップされていないことや、当該複合機１００のＣＰＵやそのＣＰＵに接続されたプリンタユニットなどの各種デバイスの故障、紙詰まりによるサービスコールの処理中等の、中央管理装置５００からのリモート制御により解決できない物理的な障害が発生していることなどを示す失敗原因情報を含むインストール失敗通知信号を生成する。
【００６７】
本実施形態では、インストール結果を中央管理装置５００にのみ通知する形態としているが、これ以外にも、例えば、通知先を複数設定しておいてインストール結果通知部１３１ｃが、設定されている複数の通知先にインストール結果を通知するような形態とすることも可能である。
【００６８】
ロールバック処理部１３１ｄは、インストール実行部１３１ｂのインストールや再インストールが失敗した場合に、複合機１００にインストールされる外部アプリ１１８の構成を、前記インストールまたは再インストールが行われる前の状態に戻すロールバック処理を実行する。
【００６９】
未インストール情報問合せ部１３１ｅは、前記した中央管理装置５００からのリモート制御により解決できない物理的な障害からインストール可能状態に復帰した場合に、中央管理装置５００に対して未インストール情報の有無を問合せる処理を実行する。
【００７０】
インストール同期部１３１ｆは、予めインストール同期対象として設定された他の複合機、即ち、スレーブに設定された複合機１００に対して対象外部アプリ１１８のインストール指示を行うとともに、インストール同期対象の他の複合機１００に対して、解決指示や再インストール指示などの所定の同期処理を実行する。
【００７１】
なお、インストール同期部１３１ｆは、自己で保持している同期機器リスト（不図示）の設定内容に従って前記した処理を実行する。即ち、このインストール同期部１３１ｆは、予め定められた外部アプリ（ソフトウェア）１１８であって、予め定められたタイミングで、予め定められたインストール同期対象の複合機１００に対してのみ同期処理を実行する。
【００７２】
また、このインストール同期部１３１ｆは、マスタに設定された複合機１００（例えば、複合機（１）１００−１）のみが有しており、スレーブに設定された他の複合機１００（例えば、複合機（２）１００−２〜複合機（Ｎ）１００−Ｎ）は有していない。
【００７３】
なお、前記したアプリインストール制御サービス１３１の各部（入出力処理部１３１ａ、インストール実行部１３１ｂ、インストール結果通知部１３１ｃ、ロールバック処理部１３１ｄ、未インストール情報問合せ部１３１ｅ、インストール同期部１３１ｆ等）は、ＣＰＵ１１がＲＯＭ１２ａ又はＨＤＤ１０３などに記憶されているプログラムをＲＡＭ１２ｂ上に展開して実行することにより実現されるものである。
【００７４】
図３に戻って、アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、インターネットに接続されたＰＣ等のクライアント端末に対してＷｅｂサーバ（ｈｔｔｐサーバ）として動作し、クライアント端末上で動作するＷｅｂブラウザに各種画面を表示するＷｅｂアプリ１１７と、外部から取得されインストールされた外部アプリ１１８とを有している。
【００７５】
なお、Ｗｅｂアプリ１１７は、ＨＴＴＰリクエストとＨＴＴＰレスポンスによるメッセージ交換を制御するＷｅｂサーバと、ＨＴＴＰリクエストを生成し送信するＷｅｂクライアントと、他Ｗｅｂサービス提供処理部などの各種機能を有している。
【００７６】
また、前記Ｗｅｂサーバは、ＨＴＴＰに従った通信制御を行うｈｔｔｐｄと、ｈｔｔｐｄが受け取ったＨＴＴＰリクエストを処理するＨＴＴＰリクエスト処理部と、ＨＴＴＰリクエストに応じて適切なＷｅｂサービス提供部に処理を振り分けるディスパッチャと、全Ｗｅｂサービス提供部から共通に利用されるＨＴＴＰリクエストのボディのＸＭＬ文書を読み取るＸＭＬパーサと、ＨＴＴＰレスポンスのボディにＸＭＬ文書を書き出すＸＭＬシリアライザと、通信の暗号化を行うためのモジュールであるＳＳＬモジュールと、ＨＴＴＰレスポンスを生成するＨＴＴＰレスポンス生成部とを有する。
【００７７】
また、Ｗｅｂクライアントは、ＨＴＴＰリクエストを生成するＨＴＴＰリクエスト生成部を有する。
【００７８】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００７９】
このように、本実施形態に係る複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００８０】
また、複合機１００には、コントロールサービス層の上のアプリケーション層に、複合機１００の顧客、サードベンダなどの第三者が開発した外部アプリ１１８を搭載することが可能となっている。なお、図４の例では、外部アプリ１１８として、複数の外部アプリ（１）１１８−１、・・・、外部アプリ（Ｍ）１１８−Ｍ（Ｍ：２以上の任意の整数）（以下、特定しない外部アプリを単に外部アプリ１１８と称する。）が搭載されている様子を示しているが、これに限らず、一つの外部アプリのみを搭載することも可能である。
【００８１】
なお、本実施形態の複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ１１８をインストール可能であり、かつアンインストールも可能となっている。
【００８２】
図５は、中央管理装置５００のハードウェア構成を説明するためのブロック図である。
【００８３】
図５に示すように、中央管理装置５００は、制御部５０１と、記憶部５０２と、入出力部５０３と、ネットワークＩ／Ｆ５０４とを主体に構成される。なお、各構成要素部は、バス５０５で相互に接続されている。
【００８４】
ここで、制御部５０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１ａ、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０１ｂ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０１ｃ等から構成され、中央管理装置５００の制御全般を行い、複合機１００や仲介装置２００からの定時情報の受信機能を実現し、受信した定時情報によって複合機１００及び仲介装置２００の管理を行う。
【００８５】
記憶部５０２は、各種情報を記憶するＨＤＤなどの記憶手段であり、本実施形態では、後述の未インストール情報登録テーブルＴ１（図７参照）などを格納する。
【００８６】
入出力部５０３は、キーボード、マウス、ディスプレイ等で構成されたオペレータによる各種データの入力インタフェースである。
【００８７】
ネットワークＩ／Ｆ５０４は、ネットワーク８０と通信接続するためのインタフェースである。
【００８８】
図６は、中央管理装置５００の機能的構成を説明するための機能ブロック図である。
【００８９】
図６に示すように、中央管理装置５００は、複合機１００における対象外部アプリ１１８のインストールを管理する処理を行うインストール管理部５１０を有している。
【００９０】
このインストール管理部５１０は、入出力処理部５１１、失敗原因判定部５１２、解決指示部５１３、再インストール指示部５１４、ロールバック指示部５１５、解決不可通知部５１６、未インストール情報登録部５１７、未インストール情報チェック部５１８等を有している。
【００９１】
ここで、入出力処理部５１１は、信号の入出力処理を行うものであり、データ受信部５１１ａとデータ送信部５１１ｂとを有している。具体的には、データ受信部５１１ａが、複合機１００からのインストールの成否結果を通知する信号などの各種データを受信する処理を行い、データ送信部５１１ｂが、解決指示や再インストール指示信号などの各種データを送信する処理を行う。
【００９２】
失敗原因判定部５１２は、仲介装置２００経由で各複合機１００から取得したインストール失敗通知信号または一部失敗通知信号から当該インストールの失敗の原因を判定する処理を実行する。
【００９３】
そして、失敗原因判定部５１２は、前記判定の結果、リモート制御により失敗原因を解決できる、即ち、解決可と判定した場合、解決指示部５１３に指示出力指令を出し、他方、前記判定の結果、リモート制御により失敗原因を解決できない、即ち、解決不可と判定した場合、未インストール情報登録部５１７に受信したインストール失敗通知信号または一部失敗通知信号に含まれる当該複合機１００の宛先情報（ＩＰアドレス）、対象外部アプリ１１８の情報等を出力する。
【００９４】
解決指示部５１３は、失敗原因判定部５１２から入力した指示出力指令に基づき、既存外部アプリのバージョンアップを指示するなどの解決指示情報を含む解決指示信号を生成してデータ送信部５１１ｂに出力する。
【００９５】
再インストール指示部５１４は、解決処理に成功した複合機１００に対して対象外部アプリ１１８の再インストールを指示する処理を実行するとともに、未インストール情報の有無を問合せ信号を送信した複合機１００に対して、インストールの済んでいない未インストールの外部アプリ１１８の再インストールを指示する処理を行う。
【００９６】
ロールバック指示部５１５は、再インストールに失敗した複合機１００に対してロールバックを指示する処理を実行する。
【００９７】
解決不可通知部５１６は、失敗原因判定部５１２の解決可否の判定の結果、中央管理装置５００からのリモート制御により失敗原因を除外できない、即ち、解決不可であると判定された場合に、該当する複合機１００に対して解決不可通知信号を生成してデータ送信部５１１ｂに出力する。
【００９８】
未インストール情報登録部５１７は、失敗原因判定部５１２の解決可否の判定の結果、解決不可と判定された場合に、当該複合機１００を識別する識別情報としての宛先情報（ＩＰアドレス）、インストールに失敗してインストールが済んでいない未インストールの外部アプリ１１８の情報等を登録情報として未インストール情報登録テーブルＴ１に登録する処理を実行する。
【００９９】
図７は、未インストール情報登録テーブルＴ１の一構成例を説明するための図である。
【０１００】
図７に示すように、この未インストール情報登録テーブルＴ１は、各複合機１００の宛先情報（ＩＰアドレス）に、未インストール情報を対応付けた登録情報を登録している。
【０１０１】
なお、図７の例では、複合機（１）１００−１のアドレス情報の「１１１１」に、未インストール情報「外部アプリ（２）」が対応付けて登録されている様子を示している。即ち、これは、アドレス情報が「１１１１」の複合機（１）１００−１に、外部アプリ（２）が未だインストールされていないことを示している。
【０１０２】
図６に戻って、未インストール情報チェック部５１８は、複合機１００から未インストール情報の問合せ信号を受信した場合に、当該問合せ信号から特定されるアドレス情報などに基づいて、未インストール情報登録テーブルＴ１を検索し、該複合機１００において未だインストールされていない外部アプリ１１８が存在するか否かをチェックする。
【０１０３】
そして、未インストール情報チェック部５１８は、前記チェックの結果、未インストール情報としての外部アプリ１１８があった場合に、当該複合機１００に対する未インストール情報としての外部アプリ１１８の再インストール指示信号をデータ送信部５１１ｂに出力する。これによりデータ送信部５１１ｂが、該当する複合機１００に未インストール情報としての外部アプリ１１８の再インストール指示信号を送信する。
【０１０４】
なお、前記したインストール管理部５１０の各部（入出力処理部５１１、失敗原因判定部５１２、解決指示部５１３、再インストール指示部５１４、ロールバック指示部５１５、解決不可通知部５１６、未インストール情報登録部５１７、未インストール情報チェック部５１８等）は、ＣＰＵ５０１ａがＲＯＭ５０１ｂ又は記憶部５０２などに記憶されているプログラムをＲＡＭ５０１ｃ上に展開して実行することにより実現されるものである。
【０１０５】
（処理動作）
次に、前記説明した構成の機器管理システム１における各種処理動作について説明する。
【０１０６】
まず、マスタに設定された複合機（１）１００−１が、スレーブに設定された複合機（２）１００−２〜複合機（Ｎ）１００−Ｎに対してインストール同期処理を行わない場合の処理の流れについて、図８〜図１０のシーケンス図を用いて説明する。
【０１０７】
図８は、複合機（１）１００−１が外部アプリ（ソフトウェア）１１８のインストールに失敗した際、中央管理装置５００からの解決指示に従ってインストール環境を整える所定の解決処理を実行して再インストールに成功する場合の処理の流れを示すシーケンス図である。
【０１０８】
図８に示すように、このシーケンスでは、まず、複合機（１）１００−１が、外部アプリ（ソフトウェア）１１８の購入者（以下、単に「ユーザ」）という。）による対象外部アプリ１１８のインストール要求を受けた場合（ステップＳ１１）、複合機（１）１００−１では、Ｗｅｂアプリ１１７（図３参照）で実現されるＨＴＴＰリクエスト生成部（不図示）などを利用して購入契約を要求する購入契約要求信号をＷｅｂサーバ（ポータル販売サイト）６００に送信する（ステップＳ１２）。
【０１０９】
その後、Ｗｅｂサーバ６００では、受信した購入契約要求信号に基づき、ユーザが購入契約を希望する対象外部アプリ１１８のプロダクトキー（Ｐｒｏｄｕｃｔ  Ｋｅｙ）を含む応答信号を複合機（１）１００−１に送信する（ステップＳ１３）。
【０１１０】
続いて、複合機（１）１００−１では、プロダクトキーを含むライセンス要求信号をライセンス管理サーバ３００に送信する（ステップＳ１４）。
【０１１１】
すると、ライセンス要求信号を受信したライセンス管理サーバ３００では、受信したライセンス要求信号に基づき、対応する対象外部アプリ１１８のライセンス情報を含む応答信号を複合機（１）１００−１に対して送信する（ステップＳ１５）。
【０１１２】
続いて、複合機（１）１００−１では、インストール実行部１３１ｂが、アプリ管理サーバ４００に対して、ライセンスを含み、対象外部アプリ１１８の本体情報を要求するソフトウェア要求信号を送信する（ステップＳ１６）。
【０１１３】
すると、ソフトウェア要求信号を受信したアプリ管理サーバ４００では、プロダクトキーに対応した対象外部アプリ１１８の本体情報を複合機（１）１００−１に送信する（ステップＳ１７）。
【０１１４】
続いて、複合機（１）１００−１では、受信した対象外部アプリ１１８のインストール処理を実行する（ステップＳ１８）。
【０１１５】
なお、このシーケンスの例では、複合機（１）１００−１は、ステップＳ１８の処理において、対象外部アプリ１１８のインストールに失敗する。具体的には、複合機（１）１００−１において、既にインストール済みの外部アプリ（以下、単に「既存外部アプリ」という。）１１８のバージョンアップが不足していることにより、対象外部アプリ１１８のインストールに失敗する。
【０１１６】
このため、複合機（１）１００−１では、中央管理装置５００に対して対象外部アプリ１１８のインストールに失敗した旨を通知するためのインストール失敗通知信号を送信する（ステップＳ１９）。
【０１１７】
すると、インストール失敗通知信号を受信した中央管理装置５００では、複合機（１）１００−１に対して信号を受信した旨を通知する受信応答信号を送信する（ステップＳ２０）。
【０１１８】
なお、複合機（１）１００−１では、ステップＳ１８の処理において、対象外部アプリ１１８のインストールに失敗した場合、ユーザに対しても、操作表示部２０（図２参照）の表示やユーザ端末（不図示）に対する信号の送信により、インストールに失敗した旨や再インストール実行中である旨などを通知する（ステップＳ２１）。
【０１１９】
ステップＳ２０の処理後、中央管理装置５００では、当該受信したインストール失敗通知信号を基にインストールの失敗原因を解析し、中央管理装置５００からのリモート制御により失敗原因を解決できるか否かを判定する（ステップＳ２２）。
【０１２０】
なお、このシーケンスの例では、中央管理装置５００では、複合機（１）１００−１が、既存外部アプリ１１８のバージョンアップ不足により対象外部アプリ１１８のインストールに失敗したことを認識し、リモート制御により失敗原因を解決できる、即ち、解決可と判定する。
【０１２１】
そして、中央管理装置５００では、複合機（１）１００−１に対してインストール環境の解決指示信号を送信する（ステップＳ２３）。なお、この例では、解決指示信号には、バージョンアップの必要な既存外部アプリ１１８のバージョンアップを指示する情報が含まれている。
【０１２２】
すると、解決指示信号を受信した複合機（１）１００−１では、受信した解決指示信号に含まれる指示情報に従って、所定の解決処理を実行する（ステップＳ２４）。即ち、この例では、バージョンアップを指示された既存外部アプリ１１８のバージョンアップ処理を実行する。
【０１２３】
その後、複合機（１）１００−１は、解決処理（この例では、既存外部アプリ１１８のバージョンアップ処理）が成功すると、中央管理装置５００に対して解決処理が成功したことを通知する成功通知信号を送信する（ステップＳ２５）。
【０１２４】
すると、成功通知信号を受信した中央管理装置５００では、当該複合機（１）１００−１に対して再インストールを指示する再インストール指示信号を送信する（ステップＳ２６）。
【０１２５】
続いて、再インストール指示信号を受信した複合機（１）１００−１では、対象外部アプリ１１８の再インストール処理を実行する（ステップＳ２７）。
【０１２６】
その後、複合機（１）１００−１では、再インストールに成功すると、中央管理装置５００に対して再インストールが成功した旨を通知する成功通知信号を送信するとともに（ステップＳ２８）、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、再インストールが成功した旨を通知する（ステップＳ２９）。
【０１２７】
図９は、複合機１００が、図８のステップＳ２４で示すインストール環境を整える所定の解決処理に失敗し、ロールバック処理を行う場合の処理の流れを示すシーケンス図である。
【０１２８】
なお、図９のシーケンスでは、図８のシーケンス図におけるステップＳ１１〜ステップＳ２４までの処理が同一である事と説明の簡略化のため、ステップＳ１１〜ステップＳ２１の図示を省略し、ステップＳ１１〜ステップＳ２３の処理の説明を省略する。
【０１２９】
図９に示すように、このシーケンスでは、ステップＳ２４において、複合機（１）１００−１では、受信した解決指示信号に含まれる指示情報に従って所定の解決処理を実行したものの、種々の原因により、当該解決処理に失敗する。具体的には、例えば、バージョンアップを指示された既存外部アプリ１１８のバージョンアップ処理に失敗する。
【０１３０】
すると、複合機（１）１００−１では、中央管理装置５００に対して解決処理が失敗したことを通知する失敗通知信号を送信する（ステップＳ３０）。
【０１３１】
その後、失敗通知信号を受信した中央管理装置５００では、当該複合機（１）１００−１に対してロールバックを指示するロールバック指示信号を送信する（ステップＳ３１）。
【０１３２】
続いて、ロールバック指示信号を受信した複合機（１）１００−１では、対象外部アプリ１１８のインストール処理を実行する前の状態に戻すロールバック処理を実行する（Ｓ３２）。
【０１３３】
そして、ロールバック処理が完了すると、複合機（１）１００−１では、中央管理装置５００に対してロールバックが完了した旨を通知する完了通知信号を送信するとともに（ステップＳ３３）、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、再インストールが失敗した旨やロールバックが完了した旨などを通知する（ステップＳ３４）。
【０１３４】
なお、ロールバック完了通知信号を受信した中央管理装置５００では、所定のロールバック後処理を実行する（ステップＳ３５）。
【０１３５】
図１０は、複合機１００が外部アプリ１１８のインストールに失敗し、中央管理装置５００においてリモート制御により失敗原因を解決できないと判定された場合に、所定の処理を実行して再インストールに成功する場合の処理の流れを示すシーケンス図である。
【０１３６】
なお、図１０のシーケンスでは、図８のシーケンス図におけるステップＳ１１〜ステップＳ２２までの処理が同一である事と説明の簡略化のため、ステップＳ１１〜ステップＳ１７の図示を省略し、ステップＳ１１〜ステップＳ２１の処理の説明を省略する。
【０１３７】
図１０に示すように、このシーケンスでは、中央管理装置５００が、ステップＳ２２において、リモート制御により失敗原因を解決できない、即ち、解決不可と判定する。なお、このシーケンスの例では、複合機（１）１００−１において、デバイスが故障していることにより解決不可と判定された場合である。
【０１３８】
すると、中央管理装置５００では、未インストール情報登録テーブルＴ１に当該複合機（１）１００−１の宛先情報（ＩＰアドレス）を追加登録する（ステップＳ３６）。
【０１３９】
その後、中央管理装置５００では、複合機（１）１００−１に対してリモート制御により失敗原因を解決できない旨を通知するための解決不可通知信号を送信する（ステップＳ３７）。これにより、複合機（１）１００−１が、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、リモート制御により失敗原因を解決できない旨を通知する（ステップＳ３８）。なお、ステップＳ３７及びステップＳ３８の処理は省略することも可能である。
【０１４０】
その後、ステップＳ３９において、複合機（１）１００−１側で、ユーザなどにより、故障していたデバイスの交換処理、即ち、インストールの失敗原因の解決処理が行われ、複合機（１）１００−１がインストール可能状態に復帰した場合、複合機（１）１００−１では、中央管理装置５００に対して、未インストール情報の有無を問い合わせるための問合せ信号を送信する（ステップＳ４０）。
【０１４１】
すると、中央管理装置５００では、問合せ信号に含まれる情報に基づいて、未インストール情報登録テーブルＴ１を検索し、該当する複合機（１）１００−１においてインストールする未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有るか否かをチェックする（ステップＳ４１）。
【０１４２】
このチェックの結果、未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有った場合、中央管理装置５００では、複合機（１）１００−１に対して、対象外部アプリ１１８の再インストールを指示する再インストール指示信号を送信する（ステップＳ４２）。
【０１４３】
すると、再インストール指示信号を受信した複合機（１）１００−１では、ステップＳ４３において、前記した図８のステップＳ１６の処理と同様の処理を行うことにより、同じく前記したステップＳ１７の処理と同様のステップＳ４４の処理により、アプリ管理サーバ４００から、対象外部アプリ１１８の本体情報を受信する。
【０１４４】
そして、複合機（１）１００−１では、受信した対象外部アプリ１１８のインストール処理を実行する（ステップＳ４５）。
【０１４５】
その後、複合機（１）１００−１では、再インストールに成功すると、中央管理装置５００に対して再インストールが成功した旨を通知する成功通知信号を送信するとともに（ステップＳ４６）、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、再インストールが成功した旨を通知する（ステップＳ４７）。
【０１４６】
なお、前記した実施形態では、デバイス交換として、ＨＤＤ１０３などの記憶手段が交換され、インストール対象の外部アプリ１１８が存在しなくなる場合などを考慮して、ステップＳ４３及びステップＳ４４において、複合機（１）１００−１が、再度、対象外部アプリ１１８を取得する場合について説明したが、これに限定されず、デバイス交換が行われたとしても、ＨＤＤ１０３などに対象外部アプリ１１８が存在している場合には、それらステップＳ４３及びステップＳ４４の処理を省略することも可能である。
【０１４７】
次に、マスタに設定された複合機（１）１００−１において、スレーブに設定された複合機（２）１００−２、複合機（３）１００−３などに対してインストール同期処理を行う場合の処理の流れについて、図１１及び図１２のシーケンス図を用いて説明する。
【０１４８】
図１１は、複合機（１）１００−１がインストール同期処理を行った際、スレーブに設定された複合機（３）１００−３が、外部アプリ１１８のインストールに失敗し、複合機（１）１００−１からの解決指示に従ってインストール環境を整える所定の解決処理を実行して再インストールに成功する場合の処理の流れを示すシーケンス図である。
【０１４９】
なお、図１１のシーケンスでは、図８のシーケンス図におけるステップＳ１１〜ステップＳ１８までの処理が同一である事と説明の簡略化のため、ステップＳ１１〜ステップＳ１７の図示を省略する。
【０１５０】
図１１に示すように、このシーケンスでは、ステップＳ１８の処理後、複合機（１）１００−１では、ステップＳ５０またはＳ５１において、スレーブに設定された複合機（２）１００−２または複合機（３）１００−３に対して、対象外部アプリ１１８のインストールを要求するインストール要求信号を送信する。
【０１５１】
なお、このシーケンスの例では、複合機（２）１００−２が、対象外部アプリ１１８のインストールに成功し、複合機（１）１００−１に対して、インストールに成功した旨を通知するための成功通知信号を送信する（ステップＳ５２）。一方、複合機（３）１００−３が、対象外部アプリ１１８のインストールに失敗し、複合機（１）１００−１に対して、インストールに失敗した旨を通知するための失敗通知信号を送信する（ステップＳ５３）。
【０１５２】
続いて、複合機（１）１００−１では、中央管理装置５００に対して、スレーブに設定された複数の複合機１００のうち一部の複合機１００においてインストールが失敗した旨を通知するための一部失敗通知信号を送信する（ステップＳ５４）。
【０１５３】
すると、一部失敗通知信号を受信した中央管理装置５００では、複合機（１）１００−１に対して信号を受信した旨を通知する受信応答信号を送信する（ステップＳ５５）。
【０１５４】
なお、複合機（１）１００−１では、ステップＳ５４の処理後、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、一部失敗である旨や再インストール実行中である旨を通知する（ステップＳ５６）。
【０１５５】
一方、中央管理装置５００では、ステップＳ５５の処理後、前記した図８のステップＳ２２の処理と同様の失敗原因の解析処理を実行する（ステップＳ５７）。
【０１５６】
なお、このシーケンスの例では、例えば、中央管理装置５００が、ステップＳ５７の処理において、複合機（３）１００−３が、既存外部アプリ１１８のバージョンアップ不足により対象外部アプリ１１８のインストールに失敗したことを認識し、リモート制御により失敗原因を解決できる、即ち、解決可と判定する。
【０１５７】
そして、中央管理装置５００では、前記した図８のステップＳ２３の処理と同様の処理として、複合機（１）１００−１に対してインストール環境の解決指示信号を送信する（ステップＳ５８）。なお、この例では、解決指示信号には、バージョンアップの必要な既存外部アプリ１１８のバージョンアップを指示する情報が含まれている。
【０１５８】
続いて、解決指示信号を受信した複合機（１）１００−１では、受信した解決指示信号を、複合機（３）１００−３に対して送信する（ステップＳ５９）。
【０１５９】
すると、複合機（３）１００−３が、受信した解決指示信号に含まれる指示情報に従って、所定の解決処理を実行する（ステップＳ６０）。即ち、この例では、バージョンアップを指示された既存外部アプリ１１８のバージョンアップ処理を実行する。
【０１６０】
その後、複合機（３）１００−３は、解決処理（この例では、既存外部アプリ１１８のバージョンアップ処理）が成功すると、複合機（１）１００−１に対して解決処理が成功したことを通知する成功通知信号を送信する（ステップＳ６１）。
【０１６１】
続いて、複合機（１）１００−１では、受信した成功通知信号を中央管理装置５００に対して転送する（ステップＳ６２）。
【０１６２】
すると、成功通知信号を受信した中央管理装置５００では、対象外部アプリ１１８の再インストールを指示する再インストール指示信号を複合機（１）１００−１に送信する（ステップＳ６３）。なお、複合機（１）１００−１からの解決指示の応答が失敗通知信号であった場合には、中央管理装置５００では、再インストール指示信号ではなく、ロールバック指示信号を複合機（１）１００−１に対して送信する。
【０１６３】
続いて、複合機（１）１００−１では、受信した再インストール指示信号を複合機（３）１００−３に対して転送する（ステップＳ６４）。
【０１６４】
これにより、複合機（３）１００−３が、再インストール処理を実行し（ステップＳ６５）、再インストールに成功すると、複合機（１）１００−１に対して再インストールが成功した旨を通知する成功通知信号を送信する（ステップＳ６６）。
【０１６５】
続いて、複合機（１）１００−１では、受信した成功通知信号を中央管理装置５００に対して転送するとともに（ステップＳ６７）、ユーザに対しても、ステップＳ２１の方法と同様の通知方法により、全ての複合機１００において対象外部アプリ１１８のインストールが成功した旨を通知する（ステップＳ６８）。
【０１６６】
なお、前記した実施形態では、ステップＳ５６において、スレーブに設定された複合機１００のうち一台でも対象外部アプリ１１８のインストールに失敗した場合に、その旨が通知される場合について説明したが、これ以外にも、１回失敗したらではなく、中央管理装置５００において、所定のリトライ回数を設定しておき、そのリトライ回数分のインストールのリトライを行っても成功しなかった場合にのみ通知するような形態とすることも可能である。
【０１６７】
図１２は、中央管理装置５００が、図１１のステップＳ５７で示す失敗原因の解析処理において、解決不可と判定した場合の処理の流れを示すシーケンス図である。
【０１６８】
なお、図１２のシーケンスでは、図１１のシーケンス図におけるステップＳ５０〜ステップＳ５６までの処理が同一である事と説明の簡略化のため、ステップＳ１１〜ステップＳ１８及びステップＳ５０〜ステップＳ５６の図示を省略し、ステップＳ１１〜ステップＳ１８及びステップＳ５０〜ステップＳ５６の処理の説明を省略する。
【０１６９】
図１２に示すように、このシーケンスでは、ステップＳ５７の失敗原因の解析処理において、解決不可と判定され、続いて、中央管理装置５００では、前記した図１０のステップ３６の処理と同様の処理により、未インストール情報登録テーブルＴ１に対して複合機（３）１００−３で未インストールの外部アプリ１１８の情報を登録する（ステップＳ７０）。
【０１７０】
その後、中央管理装置５００では、複合機（１）１００−１に対して解決不可通知信号を送信する（ステップＳ７１）。
【０１７１】
続いて、複合機（１）１００−１では、前記した図１０のステップＳ３８と同様の処理により、ユーザに対して、リモート制御により失敗原因を解決できない旨を通知する（ステップＳ７２）。なお、ステップＳ７１及びステップＳ７２の処理は省略することも可能である。
【０１７２】
その後、ステップＳ７３において、複合機（３）１００−３側で、ユーザなどにより、故障していたデバイスの交換処理、即ち、インストールの失敗原因の解決処理が行われ、複合機（３）１００−３がインストール可能状態に復帰した場合、複合機（３）１００−３では、複合機（１）１００−１に対して、未インストール情報の有無を問い合わせるための問合せ信号を送信する（ステップＳ７４）。
【０１７３】
続いて、複合機（１）１００−１では、受信した問合せ信号を中央管理装置５００に転送する（ステップＳ７５）。
【０１７４】
すると、中央管理装置５００では、問合せ信号に含まれる情報に基づいて、未インストール情報登録テーブルＴ１を検索し、該当する複合機（３）１００−３においてインストールする未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有るか否かをチェックする（ステップＳ７６）。
【０１７５】
このチェックの結果、未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有った場合、中央管理装置５００では、複合機（１）１００−１に対して、対象外部アプリ１１８の再インストールを指示する再インストール指示信号を送信する（ステップＳ７７）。
【０１７６】
続いて、複合機（１）１００−１では、受信した再インストール指示信号を複合機（３）１００−３に転送する（ステップＳ７８）。
【０１７７】
これにより、複合機（３）１００−３が、未インストールの対象外部アプリ１１８の再インストール処理を実行し（ステップＳ７９）、再インストール成功後、複合機（１）１００−１に対して再インストールの成功通知信号を送信する（ステップＳ８０）。
【０１７８】
続いて、複合機（１）１００−１では、受信した成功通知信号を中央管理装置５００に転送するとともに（ステップＳ８１）、ユーザに対しても、ステップＳ２１の通知方法と同様の通知方法により、再インストールが成功した旨を通知する（ステップＳ８２）。
【０１７９】
次に、図８〜図１２のシーケンスにおけるマスタに設定された複合機１００における処理の詳細について、図１３〜図１５のフローチャートを用いて説明する。
【０１８０】
図１３〜図１５は、マスタに設定された複合機１００のアプリインストール制御サービス１３１が実行する処理の手順を示すフローチャートである。
【０１８１】
図１３に示すように、まず、ユーザが、ユーザ端末（不図示）または操作表示部２０を用いて複合機（１）１００−１に対して対象外部アプリ１１８のインストール要求を行うと、ステップＳ１０１において、マスタに設定された複合機（１）１００−１のアプリインストール制御サービス１３１では、データ受信部１３１ａ−１を介してインストール要求を受信する。
【０１８２】
その後、アプリインストール制御サービス１３１では、ユーザからのリクエストを解析し、Ｗｅｂアプリ１１７（図３参照）で実現されるＨＴＴＰリクエスト生成部（不図示）などを利用して購入契約を要求する購入契約要求信号を、データ送信部１３１ａ−２を介してＷｅｂサーバ（ポータル販売サイト）６００に送信する。
【０１８３】
これにより、ステップＳ１０２において、アプリインストール制御サービス１３１では、データ受信部１３１ａ−１を介して、Ｗｅｂサーバ６００からプロダクトキー（Ｐｒｏｄｕｃｔ  Ｋｅｙ）を含む応答信号を受信する。
【０１８４】
続いて、ステップＳ１０３において、アプリインストール制御サービス１３１では、データ送信部１３１ａ−２を介して、プロダクトキーを含むライセンス要求信号をライセンス管理サーバ３００に送信する。これにより、アプリインストール制御サービス１３１では、データ受信部１３１ａ−１を介して、ライセンス管理サーバ３００から対象外部アプリ１１８のライセンス情報を含む応答信号を受信する。
【０１８５】
続いて、ステップＳ１０４において、アプリインストール制御サービス１３１では、インストール実行部１３１ｂが、データ送信部１３１ａ−２を介して、アプリ管理サーバ４００に対して、ライセンスを含み、対象外部アプリ１１８の本体情報を要求するソフトウェア要求信号を送信する。これにより、アプリインストール制御サービス１３１では、インストール実行部１３１ｂが、データ受信部１３１ａ−１を介して、対象外部アプリ１１８の本体情報を受信する。
【０１８６】
続いて、ステップＳ１０５において、インストール実行部１３１ｂが、受信した対象外部アプリ１１８のインストール処理を実行する。
【０１８７】
その後、ステップＳ１０６において、インストール結果通知部１３１ｃが、インストール実行部１３１ｂによるインストール処理の成否結果を判定する。
【０１８８】
その判定の結果、インストールに成功したと判定された場合には（ステップＳ１０６：ＹＥＳ）、続いて、ステップＳ１０７において、インストール同期部１３１ｆが、その時点でインストール同期制御の必要なスレーブとなる複合機（以下、単に「スレーブ複合機」という。）１００が有るか否かを判定する。
【０１８９】
その判定の結果、スレーブ複合機１００が無いと判定された場合（ステップＳ１０７：ＮＯ）、続いて、ステップＳ１０８において、インストール結果通知部１３１ｃが、インストール成功通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２が入力したインストール成功通知信号を中央管理装置５００に送信する。そして、ここでの処理を終了する。
【０１９０】
なお、このステップＳ１０８においては、インストール結果通知部１３１ｃの制御のもと、操作表示部２０（図２参照）の表示やユーザ端末（不図示）に対する信号の送信により、インストールに成功した旨をユーザに通知する処理も行われる。
【０１９１】
一方、前記したステップＳ１０６の判定の結果、インストールに失敗したと判定された場合には（ステップＳ１０６：ＮＯ）、続いて、ステップＳ１１２において、インストール結果通知部１３１ｃが、インストール失敗通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２が入力したインストール失敗通知信号を中央管理装置５００に送信する。
【０１９２】
なお、このステップＳ１１２においては、インストール結果通知部１３１ｃの制御のもと、操作表示部２０（図２参照）の表示やユーザ端末（不図示）に対する信号の送信により、インストールに失敗した旨をユーザに通知する処理も行われる。
【０１９３】
また、一方、前記したステップＳ１０７の判定の結果、スレーブ複合機１００が有ると判定された場合（ステップＳ１０７：ＹＥＳ）、続いて、ステップＳ１０９において、インストール同期部１３１ｆが、インストール同期制御対象となる複合機１００（例えば、複合機（３）１００−３など）に対して対象外部アプリ１１８のインストールを指示する。
【０１９４】
その後、ステップＳ１１０において、全てのスレーブ複合機１００からのインストールの成否結果の通知信号の受信を監視し、この監視の結果、全てのスレーブ複合機１００からインストール成功通知信号を受信した場合には（ステップＳ１１０：ＹＥＳ）、前記したステップＳ１０８の処理に移行して以下同様の処理を行う。
【０１９５】
他方、ステップＳ１１０の監視の結果、少なくともいずれか一つのスレーブ複合機１００からインストール失敗通知信号を受信した場合（ステップＳ１１０：ＮＯ）、続いて、ステップＳ１１１において、インストール結果通知部１３１ｃが、一部失敗通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２が入力した一部失敗通知信号を中央管理装置５００に送信する。
【０１９６】
なお、このステップＳ１１１においては、インストール結果通知部１３１ｃの制御のもと、操作表示部２０（図２参照）の表示やユーザ端末（不図示）に対する信号の送信により、一部のスレーブ複合機１００においてインストールが失敗した旨をユーザに通知する処理も行われる。
【０１９７】
また、前記したステップＳ１１１及びステップＳ１１２の処理後、続いて、ステップＳ１１３において、アプリインストール制御サービス１３１では、データ受信部１３１ａを介して、中央管理装置５００から解決指示信号（または解決不可通知信号）の受信を監視する。
【０１９８】
その監視の結果、解決支持信号を受信した場合（ステップＳ１１３：ＹＥＳ）、続くステップＳ１１４において、インストール実行部１３１ｂが、受信した解決指示信号に含まれる指示情報に従って、所定の解決処理を実行する。具体的には、既存外部アプリ１１８のバージョンアップを指示する指示情報などに基づいて、インストール実行部１３１ｂが、自己（マスタ複合機（１）１００−１における）該当する既存外部アプリ１１８のバージョンアップ処理を実行したり、または、インストール同期部１３１ｆが、スレーブ複合機１００に対して中央管理装置５００から受信した解決指示信号を転送する。
【０１９９】
その後、ステップＳ１１５において、インストール結果通知部１３１ｃが、解決処理の成否結果を判定する。
【０２００】
その判定の結果、解決処理に成功したと判定された場合には（ステップＳ１１５：ＹＥＳ）、続いて、ステップＳ１１６において、インストール結果通知部１３１ｃが、解決処理が成功した旨を通知するための解決成功通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２から解決成功通知信号が中央管理装置５００に対して送信される。
【０２０１】
他方、ステップＳ１１５の判定の結果、解決処理に失敗したと判定された場合には（ステップＳ１１５：ＮＯ）、続いて、ステップＳ１１７において、インストール結果通知部１３１ｃが、解決処理が失敗した旨を通知するための解決失敗通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２から解決失敗通知信号が中央管理装置５００に対して送信される。
【０２０２】
また、前記したステップＳ１１６の処理後、ステップＳ１１８において、インストール実行部１３１ｂが、データ受信部１３１ａ−１を介して中央管理装置５００から再インストール指示信号を受信すると、続いて、ステップＳ１１９において、インストール実行部１３１ｂが対象外部アプリ１１８の再インストール処理を実行する。
【０２０３】
その後、ステップＳ１２０において、インストール結果通知部１３１ｃが、再インストール処理の成否結果を判定する。
【０２０４】
その判定の結果、再インストール処理に成功したと判定された場合には（ステップＳ１２０：ＹＥＳ）、続いて、ステップＳ１２１において、インストール結果通知部１３１ｃが、再インストール処理が成功した旨を通知するための再インストール成功通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２から再インストール成功通知信号が中央管理装置５００に対して送信される。その後、ここでの処理を終了する。
【０２０５】
他方、ステップＳ１２０の判定の結果、再インストール処理に失敗したと判定された場合には（ステップＳ１２０：ＮＯ）、続いて、ステップＳ１２２において、インストール結果通知部１３１ｃが、再インストール処理が失敗した旨を通知するための再インストール失敗通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ａ−２から再インストール失敗通知信号が中央管理装置５００に対して送信される。
【０２０６】
また、前記したステップＳ１１７の処理後、ステップＳ１２３において、ロールバック処理部１３１ｄが、データ受信部１３１ａ−１を介して中央管理装置５００からロールバック指示信号を受信すると、続いて、ステップＳ１２４において、ロールバック処理部１３１ｄが対象外部アプリ１１８のインストール処理を実行する前の状態に戻すロールバック処理を実行する。
【０２０７】
ステップＳ１２４のロールバック処理が完了すると、続いて、ステップＳ１２５において、ロールバック処理部１３１ｄが、ロールバック処理が完了した旨を通知するためのロールバック完了通知信号をデータ送信部１３１ａ−２に出力する。これにより、データ送信部１３１ｂ−２からロールバック完了通知信号が中央管理装置５００に対して送信される。その後、ここでの処理を終了する。
【０２０８】
また、図１５に示すように、マスタに設定された複合機１００では、ユーザによりデバイス交換が行われてインストール可能状態に復帰した場合、または、スレーブ複合機１００がユーザによりデバイス交換が行われてインストール可能状態に復帰して当該スレーブ複合機１００から未インストール情報の有無の問合せ信号を受信した場合（ステップＳ１３０：ＹＥＳ）、続くステップＳ１３１において、未インストール情報問合せ部１３１ｅが、未インストール情報の有無を問合せる問合せ信号を出力する。これにより、データ送信部１３１ａ−２が中央管理装置５００に対して問合せ信号を送信する。
【０２０９】
続いて、ステップＳ１３２及びステップＳ１３３において、アプリインストール制御サービス１３１では、中央管理装置５００からの未インストール情報の再インストール指示信号、または、未インストール情報無しの通知信号の受信を監視しており、この監視の結果、未インストール情報の再インストール指示信号を受信すると（ステップＳ１３２：ＹＥＳ）、続いて、ステップＳ１３４において、インストール実行部１３１ｂが未インストール情報の再インストール処理を実行し、その後、処理をステップＳ１２０に移行させて以下同様の処理を行う。
【０２１０】
他方、ステップＳ１３２及びステップＳ１３３の監視の結果、未インストール情報無しの通知信号を受信した場合（ステップＳ１３３：ＹＥＳ）、ここでの処理を終了する。
【０２１１】
次に、図８〜図１２のシーケンスの中央管理装置５００における処理の詳細について、図１６及び図１７のフローチャートを用いて説明する。
【０２１２】
図１６及び図１７は、中央管理装置５００のインストール管理部５１０が実行する処理の手順を示すフローチャートである。
【０２１３】
図１６に示すように、本実施形態の中央管理装置５００のインストール管理部５１０では、ステップＳ２０１において、複合機１００からのインストール失敗通知信号または一部失敗通知信号の受信を監視している。
【０２１４】
この監視の結果、失敗原因判定部５１２が、データ受信部５１１ａを介して、複合機１００からインストール失敗通知信号を受信すると（ステップＳ２０１：ＹＥＳ）、続いて、ステップＳ２０２において、受信したインストール失敗通知信号または一部失敗通知信号に基づいて対象外部アプリ１１８のインストールの失敗原因を解析し、中央管理装置５００からのリモート制御により失敗原因を解決できるか否かを判定する。
【０２１５】
その判定の結果、リモート制御により失敗原因を解決できると判定された場合（ステップＳ２０２：ＹＥＳ）、続いて、ステップＳ２０３において、解決指示部５１３が、インストール環境を整えるための解決指示信号をデータ送信部５１１ｂに出力する。これにより、データ送信部５１１ｂが入力した解決指示信号を中央管理装置５００に対して送信する。
【０２１６】
その後、ステップＳ２０４及びステップＳ２０５において、インストール管理部５１０では、複合機１００からの解決処理の成否結果を通知する信号の受信を監視し、この監視の結果、データ受信部５１１ａを介して解決処理が成功した旨を通知する解決成功通知信号を受信すると（ステップＳ２０４：ＹＥＳ）、続いて、ステップＳ２０６において、再インストール指示部５１４が、再インストールを指示する再インストール指示信号をデータ送信部５１１ｂに出力する。これにより、データ送信部５１１ｂが複合機１００に対して入力した再インストール指示信号を送信する。
【０２１７】
その後、ステップＳ２０７及びステップＳ２０８において、インストール管理部５１０では、複合機１００からの再インストールの成否結果を通知する信号の受信を監視し、この監視の結果、データ受信部５１１ａを介して再インストール成功通知信号を受信すると（ステップＳ２０７：ＹＥＳ）、ここでの処理を終了する。
【０２１８】
一方、前記したステップＳ２０４及びステップＳ２０５の監視の結果、データ受信部５１１ａを介して解決処理が失敗した旨を通知する解決失敗通知信号を受信すると（ステップＳ２０４：ＮＯ）、続いて、ステップＳ２０９において、ロールバック指示部５１５が、ロールバック処理を指示するロールバック指示信号をデータ送信部５１１ｂに出力する。これにより、データ送信部５１１ｂが複合機１００に対して入力したロールバック指示信号を送信する。
【０２１９】
続いて、ステップＳ２１０において、インストール管理部５１０では、複合機１００からのロールバック完了通知信号の受信を監視し、この監視の結果、データ受信部５１１ａを介してロールバック完了通知信号を受信すると（ステップＳ２１０：ＹＥＳ）、続くステップＳ２１１において、所定のロールバック後処理を実行し、ここでの処理を終了する。なお、ステップＳ２１１の処理は省略することも可能である。
【０２２０】
また、一方、前記したステップＳ２０７及びステップＳ２０８の監視の結果、データ受信部５１１ａを介して再インストール失敗通知信号を受信すると（ステップＳ２０８：ＹＥＳ）、処理を前記したステップＳ２０９の処理に移行させて以下同様の処理を行う。
【０２２１】
更に、一方、前記したステップＳ２０２の判定の結果、リモート制御により失敗原因を解決できないと判定された場合（ステップＳ２０２：ＮＯ）、続いて、ステップＳ２１２において、未インストール情報登録部５１７が、未インストール情報登録テーブルＴ１に当該複合機１００の宛先情報（ＩＰアドレス）及び対象外部アプリ１１８の情報を追加登録する。
【０２２２】
続いて、ステップＳ２１３において、インストール管理部５１０では、解決指示部５１３が、複合機１００に対してインストール環境を整えるための解決指示信号を送信する。
【０２２３】
その後、ステップＳ２１４において、インストール管理部５１０では、複合機１００からの未インストール情報の問合せ信号の受信を監視し、この監視の結果、データ受信部５１１ａを介して問合せ信号を受信すると、続いて、ステップＳ２１５において、未インストール情報チェック部５１８が、未インストール情報登録テーブルＴ１を検索し、該当する複合機１００においてインストールが必要な未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有るか否かをチェックする。
【０２２４】
このチェックの結果、未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が無かった場合（ステップＳ２１５：ＮＯ）、続いて、ステップＳ２１７において、未インストール情報チェック部５１８が、未インストール情報が無い旨を通知するための無し通知信号をデータ送信部５１１ｂに出力する。これにより、データ送信部５１１ｂが入力した無し通知信号を該当する複合機１００に対して送信する。その後、ここでの処理を終了する。
【０２２５】
一方、ステップＳ２１５のチェックの結果、未インストール情報、即ち、インストール対象となる対象外部アプリ１１８が有った場合（ステップＳ２１５：ＹＥＳ）、続いて、ステップＳ２１６において、未インストール情報チェック部５１８が、未インストール情報が有る旨及び未インストールである対象外部アプリ１１８の情報を通知するため未インストール情報の再インストール指示信号をデータ送信部５１１ｂに出力する。これにより、データ送信部５１１ｂが入力した再インストール指示信号を該当する複合機１００に対して送信する。その後、処理を、ステップＳ２０７の処理に移行させて以下同様の処理を行う。
【０２２６】
即ち、以上説明してきた実施形態によれば、複合機１００において、中央管理装置５００からのリモート制御により解決できないデバイス故障などの物理的な障害が原因で対象外部アプリ１１８のインストールに失敗した場合でも、その後の再インストール処理で対象外部アプリ１１８のインストールを成功させることが可能となる。
【０２２７】
以上、例示的な実施形態に基づいて本発明を説明したが、本発明は前記した実施形態により限定されるものではなく、特許請求の範囲の記載により表される技術的思想の範囲内において種々の変更、改変を行うことが可能である。
【０２２８】
例えば、前記した実施形態では、購入対象の外部アプリ（ソフトウェア）１１８のインストールの失敗を回避するための処理について説明したが、これ以外にも、複合機１００にインストール済みの既存外部アプリ１１８を最新の外部アプリ１１８にしたり、不具合を修正した正常な外部アプリ１１８にするアップデートの場合や、既存外部アプリ１１８よりバージョンが上の外部アプリ１１８にバージョンアップするインストールの失敗を回避するための処理とすることも可能である。
【０２２９】
また、前記した実施形態では、処理対象のソフトウェアとして外部アプリ１１８を例にする場合について説明したが、これ以外にも、図３に示したプリンタアプリ１１１、コピーアプリ１１２、ファックスアプリ１１３、スキャナアプリ１１４、ネットファイルアプリ１１５、工程検査アプリ１１６、Ｗｅｂアプリ１１７等のソフトウェアを対象のソフトウェアとして処理するようにしても良い。
【０２３０】
また、前記した実施形態では、中央管理装置５００で保守管理される画像形成装置として、プリンタ機能、コピー機能、ファクシミリ機能、スキャナ機能等の各機能のうちの少なくとも二つ以上の機能を有し、アプリ管理サーバ４００からダウンロードされた外部アプリ１１８をインストールすることが可能な複合機について説明したが、これ以外にも、例えば、アプリ管理サーバ４００からダウンロードされた外部アプリ１１８をインストールすることが可能なプリンタ装置、コピー装置、ファクシミリ装置、スキャナ装置等のその他の画像形成装置としても良い。
【０２３１】
また、前記した実施形態の複合機（画像形成装置）１００、仲介装置（機器管理装置）２００及び中央管理装置５００で実行される各種プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０２３２】
また、前記した実施形態では、アプリインストール制御サービス１３１を有する装置として画像形成装置である複合機１００を例にした場合について説明したが、これに限定されず、他の装置であっても良く、例えば、一般的なパーソナルコンピュータ（ＰＣ）などの情報処理装置であっても良いものとする。また、その場合、対象となるソフトウェアとしては、インターネットなどのネットワーク経由で外部装置からダウンロードしてインストールされたソフトウェアや、ＣＤ−ＲＯＭ等の記憶媒体を介してインストールされたソフトウェアなどがある。
【０２３３】
その他、前記した実施形態における装置構成、機能構成、テーブル構成等は単なる例として記載したものであり、本発明はこれらにより限定されない。
【符号の説明】
【０２３４】
１  機器管理システム（情報処理システム）
１００、１００−１、１００−２、・・・、１００−Ｎ  複合機（情報処理装置）
２００  仲介装置
３００  ライセンス管理サーバ
４００  アプリ管理サーバ
５００  中央管理装置（管理装置）
８０  外部ネットワーク
９０  ファイアウォール
１０  コントローラ
２０  操作表示部
６０  エンジン部
１１８、１１８（１）〜１１８（Ｍ）  外部アプリ（ソフトウェア）
１３１  アプリインストール制御サービス
１３１ａ  入出力処理部
１３１ａ−１  データ受信部
１３１ａ−２  データ送信部
１３１ｂ  インストール実行部（インストール実行手段）
１３１ｃ  インストール結果通知部（成否結果通知手段）
１３１ｄ  ロールバック処理部
１３１ｅ  未インストール情報問合せ部（問合せ手段）
１３１ｆ  インストール同期部
５１０  インストール管理部
５１１  入出力処理部
５１１ａ  データ受信部
５１１ｂ  データ送信部
５１２  失敗原因判定部（判定手段）
５１３  解決指示通知部
５１４  再インストール指示部（再インストール指示手段）
５１５  ロールバック指示部
５１６  解決不可通知部
５１７  未インストール情報登録部（記憶処理手段）
５１８  未インストール情報チェック部
Ｔ１  未インストール情報登録テーブル
【先行技術文献】
【特許文献】
【０２３５】
【特許文献１】特開２００３−２０８３１６号公報
【図１】
0005515904.tif 000002
【図２】
0005515904.tif 000003
【図３】
0005515904.tif 000004
【図４】
0005515904.tif 000005
【図５】
0005515904.tif 000006
【図６】
0005515904.tif 000007
【図７】
0005515904.tif 000008
【図８】
0005515904.tif 000009
【図９】
0005515904.tif 000010
【図１０】
0005515904.tif 000011
【図１１】
0005515904.tif 000012
【図１２】
0005515904.tif 000013
【図１３】
0005515904.tif 000014
【図１４】
0005515904.tif 000015
【図１５】
0005515904.tif 000016
【図１６】
0005515904.tif 000017
【図１７】
0005515904.tif 000018