以下、本発明の実施形態について添付図面を参照して説明する。
(システム構成)
まず、本実施形態に係わる機器管理システム1の各種構成について説明する。
図1は、本実施形態に係わる機器管理システム1の概略構成を説明するための概要図である。
図1に示すように、この機器管理システム1は、仲介装置200、ライセンス管理サーバ(ライセンス管理装置)300、アプリ管理サーバ400、中央管理装置500、Webサーバ600等が、インターネットなどの外部ネットワーク80を介して接続されている。
また、仲介装置200と外部ネットワーク80との間には、ファイアウォール90が設けられており、仲介装置200には、複数の複合機(画像形成装置)(複合機(1)100−1、・・・、複合機(N)100−N)(N:2以上の任意の整数)(以下、特定しない複合機を単に複合機100と称する。)が、外部ネットワーク80とは異なるLAN(Local Area Network)などのネットワークで接続されている。
ここで、ファイアウォール90は、インターネットなどの外部ネットワーク80を通じて仲介装置200に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスの検出及び遮断を行うものである。
複合機(MFP(Multi Function Peripherals))100は、プリンタ機能、コピー機能、ファクシミリ機能、スキャナ機能等の各機能のうちの少なくとも二つ以上の機能を有し、アプリ管理サーバ400からダウンロードされたアプリケーションソフトウェア(以下、単に「外部アプリ」という。)(図4参照)をインストールすることが可能な装置であり、LANなどの内部ネットワークを介して仲介装置200に通信可能に接続されている。なお、複数の複合機100−1、・・・、100−Nは、会社、学校、家庭等の同一組織の管理下で設置されるものである。また、この複合機100が、特許請求の範囲に記載の情報処理装置に対応する。
また、本実施形態の複合機100は、仲介装置200から定時情報の取得要求を受信した場合に、サプライ状態情報、ジャム情報、カウンタ情報、バージョン情報、エラー情報、機器設定情報等と、複合機100に新規に追加された外部アプリ118(図4参照)に関するカウンタ情報やパラメータ情報等を含む外部アプリの設定情報とを定時情報として、仲介装置200に送信する。
仲介装置200は、ライセンス管理サーバ300、アプリ管理サーバ400、中央管理装置500、Webサーバ600等と、各複合機100との間で行われる処理を仲介する装置である。
また、本実施形態の仲介装置200は、複合機100に対して、一定時間毎に上述の定時情報の送信要求をメソッド単位で送信し、また、前記送信要求に対応して複合機100から送信される定時情報を受信し、中央管理装置500に送信する機能を有している。
ライセンス管理サーバ300は、アプリ管理サーバ400からダウンロードされて複合機100にインストールされる外部アプリのライセンスキーなどを含むライセンス(利用権)データを管理する装置である。
アプリ管理サーバ400は、複合機100にインストールされる外部アプリを管理する装置である。
中央管理装置500は、複合機100のメーカやサービス提供会社のサービスセンタ等に設置されるサーバ装置であり、仲介装置200を介して管理対象である複合機100を遠隔管理する装置である。
なお、この中央管理装置500は、Webページでユーザインタフェースとなる画面(WebUI)を表示するWebUI画面表示機能を備えており、操作端末と接続することにより、WebUIから、管理対象となる複合機100の情報の収集、エラー状態確認などの検索を行うことが可能となっている。
Webサーバ600は、アプリケーション等のソフトウェアのポータル販売サイトを有するサーバ装置である。即ち、ユーザは、パーソナルコンピュータなどのユーザ端末や複合機100等から、このWebサーバ600のポータル販売サイトにアクセスして、所望の外部アプリを購入することが可能となっている。
図2は、複合機100のハードウェア構成を説明するためのブロック図である。
図2に示すように、この複合機100は、コントローラ10と、操作表示部20と、エンジン部(Engin)60とを主体に構成され、コントローラ10とエンジン部60とがPCI(Peripheral Component Interface)バスで接続され、コントローラ10と操作表示部20とが所定の信号線を介して接続されている。
コントローラ10は、複合機100全体の制御、即ち、描画処理や、通信処理や、操作表示部20に対する操作入力及び表示処理などの各種処理を制御するものであり、本実施形態では、CPU11、システムメモリ(MEM−P)12、ノースブリッジ(NB)13、サウスブリッジ(SB)14、ASIC(Application Specific Integrated Circuit)16、ローカルメモリ(MEM−C)17、ハードディスク装置(HDD:Hard Disk Drive)103等を有している。
なお、ノースブリッジ(NB)13とASIC16は、AGP(Accelerated Graphics Port)バス15で接続されており、MEM−P12は、ROM(Read Only Memory)12aと、RAM(Random Access Memory)12bを有している。
CPU11は、複合機100全体を統括的に制御するものであり、MEM−P12、NB13、SB14からなるチップセットを介して他の機器と接続される。
MEM−P12は、プログラムやデータの格納用及び展開用のメモリ、プリンタの描画用のメモリ等として用いられるシステムメモリである。なお、ROM12aが、プログラムやデータの格納用のメモリとして用いられる読み出し専用のメモリであり、RAM12bが、プログラムやデータの展開用のメモリやプリンタの描画用のメモリなどとして用いられる書き込み/読み出し用のメモリである。
NB13は、CPU11と、MEM−P12、SB14、ASIC16等を接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタ及びAPターゲットとを有する。
SB14は、NB13と、PCIデバイス、周辺デバイス等とを接続するためのブリッジである。なお、このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部なども接続される。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用バスインタフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にする。
ASIC16は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGP15、PCIバス、HDD103及びMEM−C17をそれぞれ接続するブリッジの役割を有する。
また、このASIC16は、PCIターゲットと、AGPマスタと、このASIC16の中核をなすアービタ(ARB)と、MEM−C17を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)と、エンジン部60との間でPCIバスを介したデータ転送を行うPCIユニットなどから構成される。
さらに、このASIC16には、PCIバスを介してFCU(Facsimile Control Unit)30、USB(Universal Serial Bus)40、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース50が接続されるとともに、操作表示部20が信号線を介して接続されている。
MEM−C17は、コピー用画像バッファ、符号バッファ等として用いられるローカルメモリである。
ハードディスク装置(HDD)103は、画像データ、プログラム、フォントデータ、フォーム等の蓄積を行うためのストレージである。
操作表示部20は、押しボタンやタッチパネルなどで構成され、前記タッチパネルには、複合機100の各種機能を利用するための操作方法や機能ボタンを表示するとともに、前記機能ボタンなどを介してユーザからの操作入力を受け付けるためのユーザインタフェースである。
図3は、複合機100の機能的構成を説明するためのブロック図である。
図3に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナまたはファックスユニット、ハードディスク装置(HDD)103、メモリやネットワークインタフェースなどのその他のハードウェアリソース104、通信I/F105等の上述のエンジン部60としてのハードウェアを有するとともに、プラットホーム120とアプリケーション130から構成されるソフトウェア群110を有している。
プラットホーム120は、汎用OS121と、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させる種々のコントロールサービス(122、124〜129、131等)とを有している。なお、プラットホーム120は、予め定義された関数によりアプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有している。
ここで、汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120及びアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列に実行する。
また、上述のコントロールサービスとしては、SCS(システムコントロールサービス)122、ECS(エンジンコントロールサービス)124、MCS(メモリコントロールサービス)125、OCS(オペレーションパネルコントロールサービス)126、FCS(ファックスコントロールサービス)127、NCS(ネットワークコントロールサービス)128、NRS(ニューリモートサービス)129、アプリインストール制御サービス131等を有している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御等を行うものである。
SRM123のプロセスは、SCS122とともにシステムの制御及びリソースの管理を行うものである。また、SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、R232C I/F等)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
より具体的には、SRM123は、要求されたハードウェア資源が利用可能であるか、即ち、他の要求により利用されていないかどうかを判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える処理を実行する。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成等の要求内容を直接実施する。
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、その他のハードウェアリソース104等のエンジン部60の制御を行うものである。
MCS125のプロセスは、画像メモリの取得及び解放、ハードディスク装置(HDD)103の利用、画像データの圧縮及び伸張等を行うものである。
OCS126のプロセスは、オペレータ(ユーザ)と本体制御間の情報伝達手段となる操作表示部(オペレーションパネル)20(図2参照)の制御を行うものである。
より具体的には、OCS126のプロセスは、操作表示部20からキー押下またはタッチ操作をキーイベントとして取得し、該取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130または各種コントロールサービスからの要求により操作表示部20に各種画面を描画出力する描画関数や、その他、操作表示部20に対する制御を行う関数などが予め登録されたOCSライブラリの部分とから構成される。なお、OCSライブラリは、アプリケーション130及びコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126の全てをプロセスとして動作させるように構成しても良いし、OCS126の全てをOCSライブラリとして構成しても良い。
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読み取り、ファクシミリ受信印刷、融合送受信等を行うためのAPIを提供する。
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するものであり、より具体的には、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信したりする際の仲介を行うものである。
NRS129は、ネットワークを介してデータを送受信する際のデータの変換を行うなど、ネットワークを介した遠隔管理に関する機能及びスケジューラ機能を実現するアプリケーションである。
アプリインストール制御サービス131は、複合機100で利用される外部アプリ118のインストールに係わる処理を制御するものであり、具体的には、外部アプリ118のインストール処理を実行するとともに、インストールされた外部アプリ118の固有のライセンス情報を取得する処理を実行する。また、仲介装置200からの定時情報の送信要求を受けて、複合機100のハードディスク装置(HDD)103やRAM12bなどの記憶手段に記憶されている定時情報を取得し、仲介装置200に送信する。
図4は、前記したアプリインストール制御サービス131の詳細な構成を説明するための機能ブロック図である。
図4に示すように、このアプリインストール制御サービス131は、入出力処理部131a、インストール制御部131b、インストール結果通知部131c、ロールバック処理部131d、インストール同期部131e等を有している。
ここで、入出力処理部131aは、各種データの入出力処理を行うものであり、インストール対象の外部アプリ118の情報や、バージョンアップ指示信号や、受信応答信号などの各種データを受信するデータ受信部131a−1と、ソフトウェア要求信号や、インストール結果(失敗又は成功)通知信号などの各種データを送信するデータ送信部131a−2とを有している。
インストール制御部131bは、外部アプリ118のインストールやアンインストールの処理を制御するものであり、インストール実行部131b−1、バージョンアップ指示解析部131b−2、バージョンアップ実行部131b−3、再インストール実行部131b−4等を有している。
ここで、インストール実行部131b−1は、アプリ管理サーバ400から受信した購入対象の外部アプリ118を複合機100にインストールする処理を実行する。
バージョンアップ指示解析部131b−2は、中央管理装置500から受信したバージョンアップ指示信号に基づき、既にインストールされている既存の外部アプリ118の中からバージョンアップが必要な外部アプリ118を特定する。
バージョンアップ実行部131b−3は、バージョンアップ指示解析部131b−2でバージョンアップが必要であると特定された外部アプリ118のバージョンアップ処理を実行する。
再インストール実行部131b−4は、バージョンアップ実行部131b−3によるバージョンアップが無事終了した後、購入対象の外部アプリ118の再インストールを実行する。
インストール結果通知部131cは、購入対象の外部アプリ118のインストールの結果を通知する。
具体的には、このインストール結果通知部131cは、インストール実行部131b−1によるインストールや再インストール実行部131b−4による再インストールが成功した場合に、インストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、インストール成功通知信号を中央管理装置500に送信する。
また、インストール結果通知部131cは、インストール実行部131b−1によるインストールや再インストール実行部131b−4による再インストールが失敗した場合に、インストール失敗通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、インストール失敗通知信号を中央管理装置500に送信する。
なお、インストール結果通知部131cは、購入対象の外部アプリ118のID、及び
、外部アプリ118のバージョンの組合せの不整合、即ち、購入対象の外部アプリ118が依存する依存先の外部アプリ118がバージョンアップされていないことが失敗の原因である失敗原因情報を含むインストール失敗通知信号を生成する。
本実施形態では、インストール結果を中央管理装置500にのみ通知する形態としているが、これ以外にも、例えば、通知先を複数設定しておいてインストール結果通知部131cが、設定されている複数の通知先にインストール結果を通知するような形態とすることも可能である。
ロールバック処理部131dは、インストール実行部131b−1のインストールや再インストール実行部131b−4の再インストールが失敗した場合に、複合機100の外部アプリ118の構成を、前記インストールまたは再インストールが行われる前の状態に戻すロールバック処理を実行する。
インストール同期部131eは、予め同期対象として設定された他の複合機100に対して購入対象の外部アプリ118のインストール指示を行うとともに、同期対象の他の複合機100に対して、購入対象の外部アプリ118が依存する依存先の外部アプリ118のバージョンアップを指示する処理を実行する。
なお、インストール同期部131eは、自己で保持している同期機器リストL1(図5参照)の設定内容に従って前記した処理を実行する。
図5は、インストール同期部131eが保持している同期機器リストL1の一構成例を説明するための図である。
図5に示すように、この同期機器リストL1では、複合機(1)100−1と同期対象となる複合機100のID毎に、各複合機100のIPアドレスを示すIPアドレス情報、同期を行うタイミングを示す同期時刻情報、同期対象の外部アプリの情報(例えば、アプリIDや、全種類の外部アプリIDを示すALLなど)等の情報が対応付けして設定されている。
なお、図5の例では、複合機(1)100−1と同期対象となる複合機(2)100−2のID「1001」に、IPアドレス情報「133.139.173.69」と、同期時刻情報「毎日22:00〜23:00」と、同期対象外部アプリ「アプリID21」とが対応付けられており、また、複合機(1)100−1と同期対象となる複合機(N)100−2のID「100N」に、IPアドレス情報「133.139.173.70」と、同期時刻情報「1週間24:00〜1:00」と、同期対象外部アプリ「ALL」とが対応付けられている。
また、IPアドレスは、URL形式でもドメイン名でも良いものとする。また、同期時刻情報は、月、日、時間等の種々の単位で任意に指定することが可能である。即ち、ユーザが所望する時間帯に同期制御を行うように設定することができる。
また、図5の同期機器リストL1では、同期対象の外部アプリを指定する形態としているが、これ以外にも、全ての外部アプリを指定したり、同期対象外の外部アプリを指定するような形態とすることも可能である。即ち、ユーザが所望する外部アプリ(ソフトウェア)118の同期制御を行うように設定することができる。
なお、前記したアプリインストール制御サービス131の各部(入出力処理部131a、インストール制御部131b、インストール結果通知部131c、ロールバック処理部131d、インストール同期部131e等)は、CPU(プロセッサ)11がROM12a又はHDD103などに記憶されているプログラムをRAM12b上に展開して実行することにより実現されるものである。
図3に戻って、アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、インターネットに接続されたPC等のクライアント端末に対してWEBサーバ(httpサーバ)として動作し、クライアント端末上で動作するWEBブラウザに各種画面を表示するWEBアプリ117と、外部から取得されインストールされた外部アプリ118とを有している。
なお、Webアプリ117は、HTTPリクエストとHTTPレスポンスによるメッセージ交換を制御するWebサーバと、HTTPリクエストを生成し送信するWebクライアントと、他Webサービス提供処理部などの各種機能を有している。
また、前記Webサーバは、HTTPに従った通信制御を行うhttpdと、httpdが受け取ったHTTPリクエストを処理するHTTPリクエスト処理部と、HTTPリクエストに応じて適切なWebサービス提供部に処理を振り分けるディスパッチャと、全Webサービス提供部から共通に利用されるHTTPリクエストのボディのXML文書を読み取るXMLパーサと、HTTPレスポンスのボディにXML文書を書き出すXMLシリアライザと、通信の暗号化を行うためのモジュールであるSSLモジュールと、HTTPレスポンスを生成するHTTPレスポンス生成部とを有する。
また、Webクライアントは、HTTPリクエストを生成するHTTPリクエスト生成部を有する。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、本実施形態に係る複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、コントロールサービス層の上のアプリケーション層に、複合機100の顧客、サードベンダなどの第三者が開発した外部アプリ118を搭載することが可能となっている。なお、図4の例では、外部アプリ118として、複数の外部アプリ(1)118−1、・・・、外部アプリ(M)118−M(M:2以上の任意の整数)(以下、特定しない外部アプリを単に外部アプリ118と称する。)が搭載されている様子を示しているが、これに限らず、一つの外部アプリのみを搭載することも可能である。
なお、本実施形態の複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ118をインストール可能であり、かつアンインストールも可能となっている。
図6は、中央管理装置500のハードウェア構成を説明するためのブロック図である。
図6に示すように、中央管理装置500は、制御部501と、記憶部502と、入出力部503と、ネットワークI/F504とを主体に構成される。なお、各構成要素部は、バス505で相互に接続されている。
ここで、制御部501は、CPU(Central Processing Unit)501a、ROM(Read Only Memory)501b、RAM(Random Access Memory)501c等から構成され、中央管理装置500の制御全般を行い、複合機100や仲介装置200からの定時情報の受信機能を実現し、受信した定時情報によって複合機100及び仲介装置200の管理を行う。
記憶部502は、各種情報を蓄積するものであり、パラメータ記憶エリア502a、既存アプリ構成記憶エリア502b、依存関係記憶エリア502c等を有している。
なお、パラメータ記憶エリア502aには、中央管理装置500が複合機100を管理する際に用いる各種管理パラメータや、中央管理装置500で実行される管理プログラムや、オペレータが入力するデータなどが記憶される。
また、既存アプリ構成記憶エリア502bは、各複合機100に既にインストールされている1又は複数の外部アプリ118の構成情報を登録した既存ソフトウェア構成登録テーブル(図8参照)が記憶される。
更に、依存関係記憶エリア502cは、複合機100にインストールされる複数種類(バージョンの違いも含めた種類)の外部アプリ間の依存関係を登録した依存関係登録テーブル(図9参照)が記憶される。
入出力部503は、キーボード、マウス、ディスプレイ等で構成されたオペレータによる各種データの入力インタフェースである。
ネットワークI/F504は、ネットワーク80と通信接続するためのインタフェースである。
図7は、中央管理装置500の機能的構成を説明するための機能ブロック図である。
図7に示すように、中央管理装置500は、複合機100における購入対象の外部アプリ118のインストールを管理する処理を行うインストール管理部510を有している。
このインストール管理部510は、入出力処理部511、既存アプリ情報取得部512、依存関係情報記憶部513、失敗原因判定部514、ロールバック指示部515、変更アプリ特定部516、バージョンアップ指示部517等を有している。
ここで、入出力処理部511は、信号の入出力処理を行うものであり、データ受信部511aとデータ送信部511bとを有している。具体的には、データ受信部511aが、複合機100からのインストール失敗通知信号やインストール成功通知信号などを受信する処理を行い、データ送信部511bが、バージョンアップ指示信号などを送信する処理を行う。
既存アプリ情報取得部512は、仲介装置200経由で各複合機100から取得した定時情報から、複合機100毎にインストールされている1又は複数の外部アプリ118のID(識別情報)を取得して登録テーブルT1(図8参照)として保持する。
図8は、既存外部アプリ登録テーブルT1の一構成例を説明するための図である。
図8に示すように、この既存外部アプリ登録テーブルT1は、各複合機100のID(識別情報)に、各複合機100にインストールされている外部アプリ118のIDを対応付けて登録している。
なお、図8の例では、複合機(1)100−1のID「1001」に、アプリID「11」及びアプリID「21」が対応付けて登録され、複合機(N)100−NのID「100N」に、アプリID「M1」が対応付けて登録されている様子を示している。
即ち、複合機(1)100−1には、アプリID「11」に対応するバージョン1.0の外部アプリ(1)118−1(後述の図9参照)と、アプリID「21」に対応するバージョン1.0の外部アプリ(2)118−2(後述の図9参照)とがインストールされていることを示している。また、複合機(N)100−Nには、アプリID「M1」に対応するバージョン1.0の外部アプリ(M)118−M(後述の図9参照)がインストールされていることを示している。
図7に戻って、依存関係情報記憶部513は、依存関係記憶エリア502c(図6参照)に記憶される依存関係登録テーブルT2(図9参照)を格納する。
図9は、依存関係登録テーブルT2の一構成例を説明するための図である。
図9に示すように、この依存関係登録テーブルT2では、依存関係を「○」、「×」、「−」で示している。
ここで、「○」は、依存元の外部アプリが依存先の外部アプリに依存しており、バージョンの組合せに整合性があることを示している。
また、「×」は、依存元の外部アプリが依存先の外部アプリに依存しており、バージョンの組合せに整合性がないことを示している。
また、「−」は、依存元の外部アプリが依存先の外部アプリに依存していないことを示している。
図9の例では、外部アプリ(2)118−2が外部アプリ(1)118−1にのみ依存しており、外部アプリ(1)118−1がインストールされていなければ、外部アプリ(2)118−2をインストールすることができないことを示している。即ち、外部アプリ(2)118−2が依存元の外部アプリであり、外部アプリ(1)118−1が依存先の外部アプリであることを示している。
また、外部アプリ(1)118−1と外部アプリ(2)118−2のバージョン間にも依存関係が存在しており、図9の例では、Ver.(バージョン)2.0の外部アプリ(1)118−1がインストールされていなければ、Ver.1.0の外部アプリ(2)118−2をインストールできないことを示している。
また、図7に戻って、失敗原因判定部514は、複合機100における購入対象の外部アプリ118のインストールの失敗原因を判定するものであり、特に、データ受信部511aで受信したインストール失敗通知信号から、失敗原因が、複合機100にインストール済みの既存外部アプリ118のバージョンの組合せの不整合であるか否か、即ち、既存外部アプリ118のうち、購入対象の外部アプリ118が依存する依存先の外部アプリ118がバージョンアップされていないことが失敗原因であるか否かを判定する。
ロールバック指示部515は、失敗原因判定部514により失敗原因がバージョンの不整合以外である、即ち、購入対象の外部アプリ118が依存する依存先の外部アプリ118がバージョンアップされていないことが失敗原因ではないと判定された場合、複合機100に対してロールバックを指示する。
変更アプリ特定部516は、失敗原因判定部514により失敗原因がバージョンの不整合であると判定された場合、インストール失敗通知信号から抽出された購入対象の外部アプリ118のIDと、既存アプリ情報取得部512で保持されている既存外部アプリ登録テーブルT1と、依存関係情報記憶部513で保持されている依存関係登録テーブルT2とに基づいて、購入対象の外部アプリ118のインストールを成功させるのに、バージョンアップが必要な変更対象の外部アプリ118を特定する。
バージョンアップ指示部517は、変更アプリ特定部516で特定された変更対象の外部アプリ118のバージョンアップを複合機100に指示するバージョンアップ指示信号を生成して入出力処理部511に出力する。これにより、データ送信部511bが、該当する複合機100に対してバージョンアップ指示信号を送信する。
(処理動作)
次に、前記説明した構成の機器管理システム1における各種処理動作について説明する。
図10は、機器管理システム1において、ユーザが所望の外部アプリ118を購入契約した場合に、購入対象の外部アプリ118が複合機100にインストールされるまでの処理の流れを示すシーケンス図である。
なお、このシーケンスでは、購入対象の外部アプリ「Ver.1.0の外部アプリ(2)118−2」を複合機(1)100−1にインストールしようとした際、購入対象の外部アプリの依存先の外部アプリ(1)118−1がVer.1.0からVer.2.0にバージョンアップされていないことが原因で、購入対象の外部アプリのインストールに失敗した場合であり、且つ、同期機器リストL1に同期対象の複合機100が登録されていなかった場合のインストール処理の流れを示している。
図10に示すように、このシーケンスでは、まず、ユーザによる購入対象の外部アプリ118(Ver.1.0の外部アプリ(2)118−2)のインストール要求を受けた複合機(1)100−1では、インストール制御部131bが、Webアプリ117(図3参照)で実現されるHTTPリクエスト生成部(不図示)などを利用して購入契約を要求する購入契約要求信号をWebサーバ(ポータル販売サイト)600に送信する(ステップS1)。
すると、購入契約要求信号を受信したWebサーバ600では、受信した購入契約要求信号に基づき、ユーザが購入契約を希望する購入対象の外部アプリ(Ver.2.0の外部アプリ(1)118−2)118のプロダクトキー(Product Key)を含む応答信号を複合機(1)100−1に送信する(ステップS2)。
続いて、複合機(1)100−1では、インストール制御部131bが、プロダクトキーを含むライセンス要求信号をライセンス管理サーバ300に送信する(ステップS3)。
すると、ライセンス要求信号を受信したライセンス管理サーバ300では、受信したライセンス要求信号に基づき、対応する外部アプリ(外部アプリ(2)118−2)118のライセンス情報を含む応答信号を複合機(1)100−1に対して送信する(ステップS4)。
続いて、複合機(1)100−1では、インストール制御部131bが、アプリ管理サーバ400に対してプロダクトキーを含むソフトウェア要求信号を送信する(ステップS5)。
すると、ソフトウェア要求信号を受信したアプリ管理サーバ400では、プロダクトキーに対応した外部アプリ(2)118−2の本体情報を複合機(1)100−1に送信する(ステップS6)。
続いて、外部アプリ118の本体情報を受信した複合機(1)100−1では、インストール制御部131bが、受信した購入対象の外部アプリ(2)118−2のインストール処理を実行する(ステップS7)。
しかし、この場合、複合機(1)100−1には、購入対象の外部アプリ(2)100−2が依存する依存先の外部アプリ(1)118−1がVer.1.0からVer.2.0にバージョンアップされていないため、購入対象の外部アプリ(2)118−2のインストールに失敗してしまう。
その結果、インストール制御部131bの指示により、インストール結果通知部131cが前記したインストール失敗通知信号を生成して入出力処理部131aに出力することにより、データ送信部131a−2からインストール失敗通知信号が中央管理装置500に送信される(ステップS8)。
すると、インストール失敗通知信号を受信した中央管理装置500では、入出力処理部511のデータ送信部511bが、インストール失敗通知信号を受信した旨を通知する受信応答信号を複合機(1)100−1に対して送信する(ステップS9)。
その後、中央管理装置500では、失敗原因判定部514が、当該受信したインストール失敗通知信号を基に失敗原因を解析する(ステップS10)。
この解析の結果、バージョンの不整合が失敗原因であると判定された場合、中央管理装置500では、変更アプリ特定部516が、バージョンアップが必要な外部アプリ118を特定する(ステップS11)。
そして、変更アプリ特定部516は、特定された外部アプリ(1)118−1をバージョンアップ指示部517に通知する。すると、バージョンアップ指示部517が、特定された外部アプリ(1)118−1のバージョンアップを指示する情報を含むバージョンアップ指示信号を生成して入出力処理部511に出力する。これにより、データ送信部511bが、該当する複合機(1)100−1に対してバージョンアップ指示信号を送信する(ステップS12)。
すると、複合機(1)100−1では、バージョンアップ指示信号を受信した旨を通知する受信応答信号を中央管理装置500に送信する(ステップS13)。
続いて、複合機(1)100−1では、インストール制御部131bのバージョンアップ指示解析部131b−2が、受信したバージョンアップ指示信号からバージョンアップ指示内容の解析を行う(ステップS14)。そして、バージョンアップが必要な外部アプリとして特定された外部アプリ(1)118−1をバージョンアップ実行部131b−3に通知する。
これにより、バージョンアップ実行部131b−3が、通知された外部アプリ(1)118−1のVer.1.0からVer.2.0へのバージョンアップ処理を実行する(ステップS15)。
そして、バージョンアップ処理が無事完了した後、再インストール実行部131b−4が、購入対象の外部アプリ118であるVer.1.0の外部アプリ(2)118−2の再インストール処理を実行する(ステップS16)。
なお、このステップS16の再インストール処理は、購入対象の外部アプリ118のインストールを成功させるための環境構築がなされた後のインストール処理であるため、この処理では、購入対象の外部アプリ118のインストールに成功することになる。このため、インストール制御部131bの指示により、インストール結果通知部131cがインストール成功通知信号を生成して入出力処理部511に出力する。これにより、データ送信部511bが、Webアプリ117で実現されるHTTPリクエスト生成部などを利用して中央管理装置500にインストール成功通知信号を送信する(ステップS17)。
すると、インストール成功通知信号を受信した中央管理装置500では、入出力処理部511のデータ送信部511bが、成功通信信号を受信した旨を通知する受信応答信号を複合機(1)100−1に送信する(ステップS18)。
図11は、図10のシーケンスにおいて、同期機器リストL1に同期対象の複合機100が登録されていた場合のステップS16以降の処理の流れを示すシーケンス図であり、この場合、図10のステップS17及びステップS18に変わって、ステップS20〜ステップS27の処理が実行される場合を示している。
図11に示すように、このシーケンスでは、図10のステップS16の処理の後、即ち、購入対象の外部アプリ(2)118−2の再インストールに成功した場合、複合機(1)100−1のインストール同期部131eが、同期機器リストL1を参照して、同期対象となる複合機が存在するか否かの判定を行う。
そして、その判定の結果、同期対象となる複合機(2)100−2があったため、インストール同期部131eが、その複合機(2)100−2に対してバージョンアップが必要な外部アプリのIDを含むバージョンアップ指示信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、バージョンアップ指示信号を複合機(2)100−2に送信する(ステップS20)。
すると、バージョンアップ指示信号を受信した複合機(2)100−2では、バージョンアップ実行部131b−3が、受信したバージョンアップ指示信号に基づいて特定される外部アプリ(外部アプリ(1)118−1)118のバージョンアップ処理を実行する(ステップS21)。
その後、バージョンアップが成功すると、バージョンアップ実行部131b−3が、バージョンアップ成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、バージョンアップ成功通知信号を複合機(1)100−1に送信する(ステップS22)。
続いて、バージョンアップ成功通知信号を受信した複合機(1)100−1では、インストール同期部131eが、購入対象の外部アプリ(2)118−2のインストールを指示するインストール指示信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、インストール指示信号を複合機(1)100−1に送信する(ステップS23)。
すると、インストール指示信号を受信した複合機(2)100−2では、インストール実行部131b−1が、受信したインストール指示信号に基づいて特定される外部アプリ(外部アプリ(2)118−2)118のインストール処理を実行する(ステップS24)。
その後、インストールに成功すると、複合機(2)100−2では、インストール結果通知部131cが、インストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、インストール成功通知信号を複合機(1)100−1に送信する(ステップS25)。
続いて、インストール成功通知信号を受信した複合機(1)100−1では、インストール同期部131eが、同期機器リストL1に他の同期対象となる複合機100が存在するか否かをチェックし、存在しなければ、インストール結果通知部131cがインストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が、インストール成功通知信号を中央管理装置500に送信する(ステップS26)。
その後、インストール結果通知信号を受信した中央管理装置500が、受信応答信号を複合機(1)100−1に送信してここでの処理を終了する。
このような実施形態によれば、購入対象の外部アプリ118のインストール要求を受けたマスタとなる複合機100が、インストールの同期対象として予め設定されている他のスレーブとなる複合機100に対してインストール同期制御を行うように構成したため、外部アプリ118の新旧により利用できない機能が発生するという事態を未然に防ぐことができる。
また、このような実施形態によれば、マスタとなる複合機100のみが中央管理装置500とインストール結果の通信を行い、スレーブとなる複合機100は中央管理装置500と通信を行わないように構成したため、外部ネットワーク80のトラフィック量を軽減することもできる。
図12及び図13は、図10及び図11のシーケンスにおける複合機100のインストール処理の手順を説明するためのフローチャートである。
図12に示すように、複合機100では、まず、外部アプリ118のインストール要求信号を受信すると(ステップS101)、続いて、ステップS102において、インストール制御部131bが、購入契約を要求する購入契約要求信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2が購入契約要求信号をWebサーバ(ポータル販売サイト)600に送信し、その要求信号の応答としてプロダクトキーをデータ受信部131a−1を介してインストール制御部131bが取得する。
続いて、ステップS103において、インストール制御部131bが、ライセンス要求信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がライセンス要求信号をライセンス管理サーバ300に送信し、その要求信号の応答としてライセンス情報をデータ受信部131a−1を介してインストール制御部131bが取得する。
続いて、ステップS104において、インストール制御部131bが、ソフトウェア要求信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がソフトウェア要求信号をアプリ管理サーバ400に送信し、購入対象の外部アプリ118の本体情報を含む外部アプリ情報をデータ受信部131a−1を介してインストール制御部131bが取得する。
続いて、ステップS105において、インストール実行部131b−1が、前記取得した購入対象の外部アプリ118のインストール処理を実行する。
そして、ステップS105の処理により、インストールに成功した場合(ステップS106:YES)、続いて、ステップS107において、インストール同期部131eが、同期対象となる複合機100が存在するか否かをチェックする。
このチェックの結果、同期対象となる複合機100が無いと判定された場合(ステップS107)、続いて、ステップS110において、インストール結果通知部131cが、インストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール成功通知信号を中央管理装置500に送信し、ここでの処理を終了する。
なお、前記ステップS107において、同期対象となる複合機100が有ると判定された場合(ステップS107:YES)、続いて、ステップS108において、インストール同期部131eが、同期対象となる複合機100に対する購入対象の外部アプリ118のインストールを指示するインストール指示信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール指示信号を同期対象となる複合機100に送信する。
その後、インストール同期部131eが、同期対象となる複合機100から送信されたインストール成功通知信号をデータ受信部131a−1を介して受信すると、インストール制御部131bが、インストール結果を集計し、続いて、前記ステップS110に移行して、インストール結果通知部131cが、ステップS109の集計結果を含むインストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール成功通知信号を中央管理装置500に送信し、ここでの処理を終了する。
一方、前記ステップS105のインストール処理の結果、インストールに失敗した場合(ステップS106:NO)、続いて、ステップS111において、インストール結果通知部131cが、インストール失敗通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール失敗通知信号を中央管理装置500に送信し、それ以降、中央管理装置500からのバージョンアップ指示信号の待ち受け処理を行う。
続いて、ステップS112において、中央管理装置500からバージョンアップ指示信号を受信すると、バージョンアップ指示の解析処理を行う。即ち、バージョンアップが必要な外部アプリ118の特定処理を行う。
続いて、ステップS113及びステップS114において、インストール制御部131bのバージョンアップ実行部131b−3が、バージョンアップが必要な1又は複数の外部アプリ118のバージョンアップ処理を実行する。
必要なバージョンアップが全て終了すると(ステップS114:YES)、続いて、ステップS115において、再インストール実行部131b−4が、購入対象の外部アプリ118の再インストール処理を実行する。
そして、ステップS115の処理により購入対象の外部アプリ118の再インストールが成功した場合(ステップS116:YES)、続いて、ステップS117において、前記ステップS107と同様の処理、即ち、インストール同期部131eが同期対象となる複合機100が存在するか否かのチェック処理を実行する。
このチェックの結果、同期対象となる複合機100が無いと判定された場合(ステップS117:NO)、続いて、ステップS121において、ステップS110と同様の処理、即ち、インストール結果通知部131cがインストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール成功通知信号を中央管理装置500に送信し、ここでの処理を終了する。
なお、ステップS116の処理において、再インストールに失敗した場合には(ステップS116:NO)、続いて、ステップS122において、ロールバック処理部131dが、ロールバック処理を実行する。即ち、再インストールされる前の状態の外部アプリ118の構成に戻す処理を実行する。
ロールバック処理が完了すると、続いて、ステップS123において、インストール結果通知部131cが、ロールバック完了通知信号を中央管理装置500に送信する。
一方、ステップS117の処理において、同期対象となる複合機100が有ると判定された場合(ステップS117:YES)、続いて、ステップS118において、インストール同期部131eが、同期対象となる複合機100に対する変更対象の外部アプリ118のバージョンアップを指示するバージョンアップ指示信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がバージョンアップ指示信号を同期対象となる複合機100に送信する。
その後、インストール同期部131eが、同期対象となる複合機100から送信されたバージョンアップ成功通知信号をデータ受信部131a−1を介して受信すると、ステップS119において、ステップS108の処理と同様の処理を行い、続いて、ステップS120において、ステップS109の処理と同様の処理を行い、続いて、ステップS121において、ステップS110の処理と同様の処理を行って、ここでの処理を終了する。
図14は、図10のシーケンスにおいてインストール失敗通知信号を受信した場合の中央管理装置500の処理の手順を説明するためのフローチャートである。
図14に示すように、中央管理装置500では、ステップS201において、複合機100からインストール失敗通知信号を受信すると、インストール管理部510が動作し、続くステップS202において、失敗原因判定部514が、受信したインストール失敗通知信号に含まれる失敗原因情報に基づいて、インストールの失敗原因が、バージョンの不整合によるものであるか否か、即ち、購入対象の外部アプリ118の依存先の外部アプリ118がバージョンアップされていないことによるものであるか否かを判定する。
この判定の結果、失敗原因が、バージョンの不整合であると判定されると(ステップS202:YES)、続いて、ステップS203において、変更アプリ特定部516が、インストール失敗通知信号から抽出された購入対象の外部アプリ118のIDと、既存アプリ情報取得部512で保持されている既存外部アプリ登録テーブルT1と、依存関係情報記憶部513で保持されている依存関係登録テーブルT2とに基づいて、購入対象の外部アプリ118のインストールを成功させるのに、バージョンアップが必要な変更対象の外部アプリ118を特定する。
続いて、ステップS204において、バージョンアップ指示部517が、変更アプリ特定部516により特定された外部アプリ118のIDを含むバージョンアップ指示信号を生成して入出力処理部511に出力する。これにより、データ送信部511bがバージョンアップ指示信号を該当する複合機100に送信する。その後、ここでの処理を終了する。
一方、前記ステップS202において、失敗原因が、バージョンの不整合でないと判定された場合には(ステップS202:NO)、続いて、ステップS205において、ロールバック指示部515が、ロールバック指示信号を生成して入出力処理部511に出力する。これにより、データ送信部511bが該当する複合機100にロールバック指示信号を送信して、ここでの処理を終了する。
ここで、前記した図14のフローチャートにおける具体的な処理について以下に説明する。
まず、図14のステップS202の判定処理において、失敗原因がバージョンの不整合であると判定される場合のステップS203の具体的な処理について、購入対象の外部アプリ118が、「Ver.1.0の外部アプリ(2)118−2」であり、インストール対象の複合機(1)100−1の既存外部アプリの構成として「Ver.1.0の外部アプリ(1)118−1」のみがインストールされていた場合を例にして説明する。
ステップS203において、変更アプリ特定部516は、ステップS201で受信したインストール失敗通知信号に含まれる複合機(1)100−1のID「1001」を基に、既存アプリ情報取得部512で保持されている既存外部アプリ登録テーブルT1から当該複合機(1)100−1の既存外部アプリの構成、即ち、インストールされている外部アプリ118のID「11」及びID「21」を検出する。
続いて、変更アプリ特定部516では、インストール失敗通知信号に含まれる購入対象の外部アプリ118「Ver.1.0の外部アプリ(2)118−2」のID「21」と、前記検出した外部アプリ118のID「11」及びID「21」と、依存関係情報記憶部513で保持されている依存関係登録テーブルT2の登録データとを照合し、購入対象の外部アプリ「Ver.1.0の外部アプリ(2)118−2」の依存先の外部アプリ(1)118−1で、バージョンの組合せに整合性がある「○」符号が設定されている外部アプリ118を検索する。
即ち、その検索の結果、外部アプリIDが「12」の「Ver.2.0の外部アプリ(1)118−1」が検索されることになる。
図15は、スレーブ側となる複合機100の処理の手順を説明するためのフローチャートである。
図15に示すように、スレーブ側の複合機100では、ステップS301、ステップS306、ステップS309において、マスタ側の複合機100から送信されるインストール要求信号、バージョンアップ指示信号、ロールバック指示信号等の各種指示信号の待ち受け処理を行う。
その待ち受け処理において、図12のステップS108の処理で送信されたマスタ側の複合機100からのインストール要求信号をデータ受信部131a−1で受信すると(ステップS301:YES)、続いて、ステップS302において、インストール制御部131bが、購入対象の外部アプリ118のインストール処理を実行する。
その後、インストールに成功すると(ステップS303:YES)、続いて、ステップS304において、インストール結果通知部131cが、インストール成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール成功通知信号をマスタ側の複合機100に送信し、ここでの処理を終了する。
なお、インストールに失敗すると(ステップS303:NO)、続いて、ステップS305において、インストール結果通知部131cが、インストール失敗通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がインストール失敗通知信号をマスタ側の複合機100に送信し、ここでの処理を終了する。
一方、待ち受け処理において、図13のステップS118の処理で送信されたバージョンアップ指示信号をデータ受信部131a−1で受信すると(ステップS306:YES)、続いて、ステップS307において、バージョンアップ実行部131b−3が、バージョンアップ指示信号で特定される外部アプリ118のバージョンアップ処理を実行し、バージョンアップが成功すると、マスタとなる複合機100に対するバージョンアップ成功通知信号を生成して入出力処理部131aに出力する。これにより、データ送信部131a−2がバージョンアップ成功通知信号をマスタ側の複合機100に送信する。
その後、マスタ側の複合機100からインストール要求信号を受信すると(ステップS308:YES)、前記したステップS302に移行して、以下同様の処理を行う。
また、一方、待ち受け処理において、図14のステップS205の処理で送信されたロールバック指示信号をデータ受信部131a−1で受信すると(ステップS309:YES)、続いて、ステップS310において、ロールバック処理部131dが、ロールバック処理を実行し、その後、ここでの処理を終了する。
即ち、以上説明してきた実施形態によれば、複合機100において、購入対象の外部アプリ118が依存する依存先の外部アプリ118がバージョンアップされていないことが原因で購入対象の外部アプリ118のインストールに失敗した場合でも、その後の再インストール処理で購入対象の外部アプリ118のインストールを成功させることが可能となる。
以上、例示的な実施形態に基づいて本発明を説明したが、本発明は前記した実施形態により限定されるものではなく、特許請求の範囲の記載により表される技術的思想の範囲内において種々の変更、改変を行うことが可能である。
例えば、前記した実施形態では、インストール失敗通知信号に購入対象の外部アプリ118のIDが含まれ、変更アプリ特定部516がそのIDを利用して変更対象の外部アプリ118を特定する形態について説明したが、これ以外にも、インストール失敗通知信号に購入対象の外部アプリ118のIDを含めず、変更アプリ特定部516では、既存外部アプリ登録テーブルT1の登録情報と依存関係登録テーブルT2の登録情報のみを用いて、バージョンアップが必要な外部アプリ118を特定するような形態としても良い。
また、前記した実施形態では、処理対象のソフトウェアとして外部アプリ118を例にする場合について説明したが、これ以外にも、例えば、図3に示したプリンタアプリ111、コピーアプリ112、ファックスアプリ113、スキャナアプリ114、ネットファイルアプリ115、工程検査アプリ116、WEBアプリ117等のソフトウェアを対象のソフトウェアとして処理するようにしても良い。
また、前記した実施形態では、スレーブとなる複合機100からマスタとなる複合機100に対してのみ外部アプリ118のバージョンアップがされた旨を通知する形態としているが、これ以外にも、例えば、スレーブとなる複合機100間でも外部アプリ118のバージョンアップがされた旨を通知するような形態としても良く、このような形態によれば、複合機100の管理者やユーザが各複合機100の外部アプリ118がバージョンアップされたことを把握することができる。
また、前記した実施形態では、中央管理装置500で保守管理される画像形成装置として、プリンタ機能、コピー機能、ファクシミリ機能、スキャナ機能等の各機能のうちの少なくとも二つ以上の機能を有し、アプリ管理サーバ400からダウンロードされた外部アプリ118をインストールすることが可能な複合機について説明したが、これ以外にも、例えば、アプリ管理サーバ400からダウンロードされた外部アプリ118をインストールすることが可能なプリンタ装置、コピー装置、ファクシミリ装置、スキャナ装置等のその他の画像形成装置としても良い。
また、前記した実施形態の複合機(画像形成装置)100、仲介装置(機器管理装置)200及び中央管理装置500で実行される各種プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成しても良い。
また、前記した実施形態では、アプリインストール制御サービス131を有する装置として画像形成装置である複合機100を例にした場合について説明したが、これに限定されず、他の装置であっても良く、例えば、一般的なパーソナルコンピュータ(PC)などの情報処理装置であっても良いものとする。また、その場合、対象となるソフトウェアとしては、インターネットなどのネットワーク経由で外部装置からダウンロードしてインストールされたソフトウェアや、CD−ROM等の記憶媒体を介してインストールされたソフトウェアなどがある。
その他、前記した実施形態における装置構成、機能構成などは単なる例として記載したものであり、本発明はこれらにより限定されない。