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