以下に添付図面を参照して、この発明にかかる情報処理装置、インストール管理方法、インストール管理プログラム、および遠隔管理システムの最良な実施の形態を詳細に説明する。以下の実施の形態においては、本発明における画像処理装置を、コピー、ファックス、プリンタなどの複数の機能を一つの筐体に収納した複合機(MFP:Multi Function Peripherals)に適用した例を示すが、これに限定されることなく、アプリケーションをインストール可能な複写機、ファクシミリ装置、スキャナ装置等の画像処理装置であれば本発明を適用することができる。
(実施の形態1)
図1は、実施の形態1にかかる遠隔管理システムの構成を示す概要図である。図1に示すように、遠隔管理システムは、仲介装置200と、ライセンス管理サーバ300と、アプリダウンロードサーバ400と、管理装置500とが、インターネットなどのネットワーク80を介して接続されている。そして、仲介装置200とネットワーク80との間には、ファイアウォール90が設けられている。また、仲介装置200は、複数の複合機100a、100b、100c(以下、特定しない複合機を単に複合機100と称する。)が接続されている。
ファイアウォール90は、公衆回線やインターネットなどの外部ネットワークを通じて仲介装置200に侵入した第三者により不正が行われないように、外部との境界を流れるデータを監視し、不正なアクセスを検出・遮断する。
複合機100a、100b、100cは、コピー、ファックス、プリンタなどの複数の機能を備えた装置であって、LAN(Local Area Network)などのローカルネットワークにより仲介装置200に接続されている。本実施の形態の遠隔管理システムでは、3台の複合機100a、100b、100cが接続されているが、これに限定されることなく、1台、2台、または4台以上の複合機を接続した構成としてもよい。
アプリダウンロードサーバ400は、複合機100において利用されるアプリケーションを保持しており、該アプリケーションを、仲介装置200を介して複合機100に提供する装置である。
ライセンス管理サーバ300は、アプリダウンロードサーバ400から提供され、複合機100にインストールされるアプリケーションのライセンス(利用権)を、仲介装置200を介して管理する装置である。
仲介装置200は、アプリダウンロードサーバ400およびライセンス管理サーバ300と、複合機100a、100b、100cとの間で行われる処理を仲介する装置である。具体的には、アプリダウンロードサーバ400が提供するアプリケーションを複合機100a、100b、100cに送信したり、ライセンス管理サーバ300が管理するアプリケーションのライセンス情報を要求して、複合機100a、100b、100cに送信する。ここで、ライセンス情報とは、アプリケーションのライセンスが許諾された複合機に関する情報を示す。
管理装置500は、仲介装置200を介して複合機100a、100b、100cを遠隔管理する装置である。管理装置500は、複合機のメーカやサービス提供会社等のサービスセンタ等に設置されたサーバ装置であり、各種の管理データを格納する管理用データベースを備えている。
管理用データベースには、顧客ごとに、顧客サイトでの管理対象の複合機に関するネットワーク機器構成、顧客情報及び技術情報等の管理情報が格納されている。ネットワーク機器構成・管理情報は、例えば、各顧客サイトのネットワーク構成と当該ネットワークに接続されている複合機の構成、当該複合機の機種、機番、納入日、設置場所情報等の各情報で構成され、管理対象である複合機とネットワーク構成を特定できる情報である。また、顧客情報は、例えば、顧客名、住所、電話番号、FAX番号、機器管理者、ネットワーク管理者等で構成され、顧客及び連絡先、特に機器管理者とネットワーク管理者への連絡先情報等を特定できる情報である。また、技術情報は、例えば、機種、機番、印刷枚数やスキャナ枚数等のカウント値、故障コード、推定原因等から構成され、故障した管理対象の複合機の現象に対する原因と処置をある程度特定できる情報である。
そして、本実施例の遠隔管理システムは、遠隔管理を実現するため、各装置に、RPC(Remote Procedure Call)により、相互実装するアプリケーションのメソッドに対する処理の要求、応答を送受信する機能を有しており、また、RPCを実現するために、SOAP(Simple Object Access Protocol)、HTTP(Hyper Text Transfer Protocol)、FTP(File Transfer Protocol)等のプロトコルを利用することができる。
また、上記の接続環境において、仲介装置200とネットワーク80との間にファイアウォール90があるため、管理装置500が直接に仲介装置200に要求を送信する際に、ファイアウォール90にはじかれるという問題点がある。このたため、仲介装置200から定期的に管理装置500にポーリングを行うと、ファイアウォール90のHTTPレスポンスが通過できる特性を利用して、HTTPレスポンスに要求を載せるという方策を用いることができる。
そこで、以降の説明では、管理装置500から仲介装置200に要求を送信する場合には、全て、仲介装置200からの定期ポーリンクを行った後に、HTTPレスポンスに要求を載せて送信するものとする。
次に、仲介装置200について説明する。図2は、実施の形態1にかかる仲介装置のハードウェア構成図である。図2に示すように、仲介装置200は、CPU(Central Processing Unit)201と、RTC(リアルタイムクロック)202と、HDD(Hard Disk Drive)203と、RAM(Random Access Memory)204と、NIC(Network Interface Card)205と、ROM(Read Only Memory)206とにより主に構成されており、各部は、バス207で接続されている。
CPU201は、仲介装置200全体を制御する。RTC202は、発振器、分周器等を備え、クロック信号を生成する内部時計である。HDD203は、不揮発性記憶媒体であって、複合機100のアプリケーション等を保持する。RAM204は、ROM206に格納されたプログラムを実行する際に各種データを一時的に保持する。NIC205は、ローカルネットワークを介して複合機100と、またネットワーク80を介して、外部装置(管理装置500、アプリダウンロードサーバ400、およびライセンス管理サーバ300)と接続するインターフェースである。また、NIC205には、CE(カスタマー・エンジニア)端末が接続され、Webページでユーザインターフェースとなる画面であるWebUIを表示させる。ROM206は、仲介装置200で実行される種々のプログラムを格納する。
仲介装置200は、複合機100a、100b、100cに対して、状態情報やカウンタ情報等の管理情報、ファームウェアバージョン情報の収集、生死確認(故障有無の確認)、IPアドレス不明や変更による接続不可状態下の検索、ファームウェア更新、コマンドの実行等の要求をメソッド単位で送信する機能、また、複合機100a、100b、100cからのメソッドに対する応答を受信し、管理装置500に通報する機能を有している。また、仲介装置200は、複合機100a、100b、100cから定期あるいは即時的にまたは不定期的な異常通報、サプライ通報、起動通報、カウンタ未収集通報等を受信し、管理装置500に通報する機能を有している。さらに、仲介装置200は、スケジューラ機能、ファイル送受信機能、保持するファームウェアの取捨機能を有し、これらの各機能を実現する際のパラメータを設定する。例えば、仲介装置200は、情報の収集タイミング、ファームウェア更新タイミング、コマンド実行タイミング、通報タイミングなどのパラメータを設定する。また、仲介装置200は、WebUI画面表示機能を備えており、管理者端末、CE端末と接続することにより、WebUIから、管理対象となる情報の収集、生死確認、IPアドレス不明や変更による接続不可状態下の検索、管理対象となる複合機のアプリケーションをインストールさせることができる。
図3は、実施の形態1にかかる仲介装置のソフトウェア構成図である。図3に示すように、仲介装置200は、アプリケーション層270と、サービス層280と、プロトコル層290とから構成されている。
アプリケーション層270は、デバイス制御モジュール271と、NRS機能モジュール群272とを有している。デバイス制御モジュール271は、複合機100a、100b、100cの情報管理や通信の設定等を行うためのモジュールである。NRS機能モジュール群272は、複合機100a、100b、100cのカウンタ収集(管理情報の収集)、設定変更、生死確認、管理装置500へのカウンタ通知、異常通知の各メソッドを備え、管理装置500からの要求に従って、複合機100a、100b、100cに動作を行わせるモジュールであり、アプリインストール管理モジュール273を備えている。アプリインストール管理モジュール273は、複合機100a、100b、100cのアプリケーションのインストール管理機能を有しており、詳細は後述する。
サービス層280は、セキュリティサービス281と、通信サービス282と、スケジューラサービス283とを備えている。セキュリティサービス281は、内部情報等の外部への不正流出を予防する等のジョブを生成し、実行するモジュールである。通信サービス282は、仲介装置200と、複合機100a、100b、100cまたは管理装置500との間における情報の送受信を実現するモジュールである。スケジューラサービス283は、所定の設定時間情報に基づいて、各メソッド群の処理を実施させるモジュールである。
プロトコル層290は、情報の送受信対象に応じたプロトコルを用いて情報の送受信を行うジョブを生成し、実行するモジュールである。
図4は、実施の形態1にかかるアプリインストール管理モジュールの詳細を示す説明図である。図4に示すように、アプリインストール管理モジュール273は、イベント処理部221と、インストール処理部222とを備えている。また、イベント処理部221は、通信部241と、入力受付部240とを備えており、インストール処理部222は、取得部242と、カウンタ情報生成部243と、送信部245と、受信部246と、ライセンス数調整部247と、削除部248とを主に備えている。また、記憶部230は、HDDには、アプリ記憶部231と、ライセンス情報記憶部232とが備えられており、NVRAM(Non Volatile Random Access Memory)には、カウンタ情報記憶部233と、その他(仲介装置ID 複合機情報)記憶部234とが備えられている。
アプリ記憶部231は、管理対象の複合機にインストール可能なアプリケーションを保持している。ライセンス情報記憶部232は、アプリケーションのライセンスに関する情報であるライセンス情報を記保持している。ライセンス情報には、例えば、ライセンス(利用権)、ライセンスに固有のライセンスID、ライセンス数、ライセンスの利用期間などが含まれている。
カウンタ情報記憶部233は、カウンタ情報生成部243により生成されたカウンタ情報を保持している。カウンタ情報とは、アプリケーションに固有のアプリIDごとに、アプリケーションのライセンスIDとアプリケーションに対するライセンス数とを対応付けたものである。図5−1は、カウンタ情報の一例を示す図である。図5−1に示すように、カウンタ情報1240aは、アプリID1241(001)に、ライセンスID1242(001)とライセンス数(カウンタ値)1243とが対応付けられている。
また、カウンタ情報は、さらにライセンスの利用期間を対応付けてもよい。図5−2は、カウンタ情報の他の一例を示す図である。図5−2に示すように、カウンタ情報1240bは、アプリID1241(001)に、ライセンスID1242(001)とライセンス数(カウンタ値)1243とライセンス期間1244とが対応付けられている。
その他記憶部234は、仲介装置200に固有の仲介装置IDや、管理対象の複合機に関する情報である複合機情報などを保持している。
通信部241は、上述したように、仲介装置200から定期的に管理装置500にポーリングを行い、HTTPレスポンスにより管理装置500からの要求を受信する。具体的には、通信部241は、管理装置500にポーリングを行った際に、管理装置500において、管理対象の複合機に対し、インストール対象のアプリケーションがあった場合、管理装置500から、当該アプリケーションを管理対象の複合機にインストールさせる旨のアプリインストール要求を受信し、インストール処理部222に送出する。このアプリインストール要求には、アプリIDが含まれている。また、通信部241は、アプリインストール要求に対する返答であるアプリインストール返答をアプリIDとともに管理装置500に送信する。
また、通信部241は、管理装置500にポーリングを行った際に、管理装置500において、管理対象の複合機に対し、既に仲介装置200が保持しているアプリケーションのライセンス数を増加する場合、管理装置500から、ライセンス数を増加する旨のライセンス数増加要求を受信し、インストール処理部222に送出する。また、通信部241は、管理装置500にポーリングを行った際に、管理装置500において、管理対象の複合機に対し、既に仲介装置200が保持しているアプリケーションのライセンス数を削減する場合、管理装置500から、ライセンス数を削減する旨のライセンス数削減要求を受信し、インストール処理部222に送出する。なお、ライセンス数増加要求およびライセンス数削減要求にも、アプリIDが含まれている。
入力受付部240は、仲介装置200の管理者から、管理対象の複合機にインストールされているアプリケーションをアンインストールさせる旨のアプリアンインストール要求の入力を受付け、インストール処理部222に送出する。このアプリインストール要求には、アンインストールするアプリケーションのアプリIDが含まれている。
受信部246は、イベント処理部221の通信部241から、アプリインストール要求、ライセンス数増加要求、ライセンス数削減要求、アプリアンインストール要求を受信する。また、受信部246は、管理対象の複合機から、アプリケーションのインストールが成功した旨を示すインストール完了情報、またはアプリケーションのインストールが失敗した旨のインストール未完了情報を受信する。また、受信部246は、管理対象の複合機から、アプリケーションのアンインストールが成功した旨を示すアンインストール完了情報、またはアプリケーションのアンインストールが失敗した旨を示すアンインストール未完了情報を受信する。
取得部242は、イベント処理部221から、受信部246によりアプリIDを含むアプリインストール要求を受信した場合、ライセンス管理サーバ300に、アプリケーションのライセンスの取得を要求するライセンス取得要求を送信して、アプリケーションのライセンス情報を取得し、取得したライセンス情報をライセンス情報記憶部232に記憶(保持)する。このライセンス取得要求には、その他記憶部234から取得した仲介装置IDが含められている。
また、取得部242は、カウンタ情報生成部243によりカウンタ情報が生成された場合、アプリダウンロードサーバ400に、アプリケーションの取得を要求するアプリ取得要求を送信してアプリケーションを取得し、取得したアプリケーションをアプリ記憶部231に記憶する。また、取得部242は、管理対象の複合機において当該アプリケーションのアンインストールが成功し、削除部248によりアプリケーションが削除された後に、ライセンス数調整部247によりカウンタ情報のライセンス数が0から1に増加された場合、上記と同様の方法で、アプリダウンロードサーバ400からアプリケーションを取得し、取得したアプリケーションをアプリ記憶部231に記憶する。
カウンタ情報生成部243は、イベント処理部221から受信したアプリインストール要求に含まれたアプリIDごとに、取得部242により取得したライセンス情報に含まれたライセンスIDとライセンス数とを対応付けたカウンタ情報を生成して、カウンタ情報記憶部233に記憶するものである(図5−1参照)。また、カウンタ情報生成部243は、イベント処理部221から受信したアプリインストール要求に含まれたアプリIDごとに、取得部242により取得したライセンス情報に含まれたライセンスIDとライセンス数とライセンス利用期間とを対応付けたカウンタ情報を生成して、カウンタ情報記憶部233に記憶するものである(図5−2参照)。また、カウンタ情報生成部243は、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数が無制限であった場合、ライセンス数を変更できない旨のライセンス数変更可否フラグを生成して、カウンタ情報とともにカウンタ情報記憶部233に記憶する。
送信部245は、所定のタイミングで、カウンタ情報記憶部233に記憶されているカウンタ情報を取得し、ライセンス数が1以上であった場合、その他記憶部234から複合機情報を取得し、アプリ記憶部231からアプリケーションを取得し、ライセンス情報記憶部232からライセンス情報を取得し、取得したアプリケーションとライセンス情報とともに、アプリケーションを管理対象の複合機にインストールさせる旨のインストール要求を、管理対象の複合機に送信する。また、送信部245は、受信部246によりアプリアンインストール要求を受信した場合、管理対象の複合機にインストールされているアプリケーションをアンインストールさせる旨のアンインストール要求を送信する。
ライセンス数調整部247は、管理対象の複合機において、送信部245が送信したインストール要求によるインストールが成功し、受信部246により複合機からインストール完了情報を受信した場合、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を、成功したインストールの数だけ減少させる。また、ライセンス数調整部247は、管理対象の複合機において、送信部245が送信したアンインストール要求によるアンインストールが成功し、受信部246によりアンインストール完了情報を受信した場合、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を、成功したアンインストールの数だけ増加させる。
また、ライセンス数調整部247は、受信部246により受信したライセンス数増加要求に応じて、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を、要求された増加数だけ増加させる。また、ライセンス数調整部247は、受信部246により受信したライセンス数削減要求に応じて、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を、要求された削減数だけ減少させる。
また、ライセンス数調整部247は、送信部245が送信したインストール要求によるインストールが失敗し、受信部246により複合機からインストール未完了情報を受信した場合、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を減少させない。また、ライセンス数調整部247は、送信部245が送信したアンインストール要求によるアンインストールが失敗し、受信部246により複合機からアンインストール未完了情報を受信した場合、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を増加させない。
また、ライセンス数調整部247は、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数が無制限であった場合、カウンタ情報のライセンス数を1として維持し、増減機能を無効にする。また、ライセンス数調整部247は、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンスの利用期間が期間外(有効期間切れ)であった場合、カウンタ情報のライセンス数を減少させる。
削除部248は、カウンタ情報記憶部233のカウンタ情報のライセンス数が0になった場合、アプリ記憶部231に記憶されたアプリケーションを削除し、インストールが完了した旨をイベント処理部221に送出する。
次に、複合機100について説明する。図6は、実施の形態1にかかる複合機のハードウェア構成図である。図6に示すように、この複合機100は、コントローラ10とエンジン部(Engine)60とをPCI(Peripheral Component Interface)バスで接続した構成となる。コントローラ10は、複合機100全体の制御と描画、通信、図示しない操作部からの入力を制御するコントローラである。エンジン部60は、PCIバスに接続可能なプリンタエンジンなどであり、たとえば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部60には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
コントローラ10は、CPU11と、ノースブリッジ(NB)13と、システムメモリ(MEM−P)12と、サウスブリッジ(SB)14と、ローカルメモリ(MEM−C)17と、ASIC(Application Specific Integrated Circuit)16と、ハードディスクドライブ(HDD)103とを有し、ノースブリッジ(NB)13とASIC16との間をAGP(Accelerated Graphics Port)バス15で接続した構成となる。また、MEM−P12は、ROM12aと、RAM12bと、をさらに有する。
CPU11は、複合機100の全体制御を行うものであり、NB13、MEM−P12およびSB14からなるチップセットを有し、このチップセットを介して他の機器と接続される。
NB13は、CPU11とMEM−P12、SB14、AGP15とを接続するためのブリッジであり、MEM−P12に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
MEM−P12は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM12aとRAM12bとからなる。ROM12aは、プログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM12bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
SB14は、NB13とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB14は、PCIバスを介してNB13と接続されており、このPCIバスには、ネットワークインターフェース(I/F)部なども接続される。
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はASIC16に直接接続されている。
MEM−C17は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD103は、画像データの蓄積、プログラムの蓄積、フォントデータの蓄積、フォームの蓄積を行うためのストレージである。
AGP15は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレーターカード用のバスインターフェースであり、MEM−P12に高スループットで直接アクセスすることにより、グラフィックスアクセラレーターカードを高速にするものである。
図7は、実施の形態1にかかる複合機のソフトウェア構成図である。図7に示すように、複合機100は、白黒レーザプリンタ(B&W LP)101と、カラーレーザプリンタ(Color LP)102と、HDD103と、スキャナ、ファクシミリ、メモリなどのハードウェアリソース104、ネットワークインターフェース(I/F)105を有するとともに、プラットホーム120と、アプリケーション130とから構成されるソフトウェア群110とを備えている。
プラットホーム120は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)123と、汎用OS121とを有する。
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)122と、ECS(エンジンコントロールサービス)124と、MCS(メモリコントロールサービス)125と、OCS(オペレーションパネルコントロールサービス)126と、FCS(ファックスコントロールサービス)127と、NCS(ネットワークコントロールサービス)128と、NRS(ニューリモートサービス)129と、アプリインストール制御サービス131と、から構成される。このプラットホーム120は、あらかじめ定義された関数により前記アプリケーション130から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
汎用OS121は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム120並びにアプリケーション130の各ソフトウェアをそれぞれプロセスとして並列実行する。
SRM123のプロセスは、SCS122とともにシステムの制御およびリソースの管理を行うものである。SRM123のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
具体的には、このSRM123は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM123は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
SCS122のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
ECS124のプロセスは、白黒レーザプリンタ(B&W LP)101、カラーレーザプリンタ(Color LP)102、スキャナ、ファクシミリなどからなるハードウェアリソース104のエンジンの制御を行う。
MCS125のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
FCS127のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
NCS128のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
本実施の形態では、NCS128のプロセスは、仲介装置200から、アプリケーションおよびライセンス情報とともに、インストール要求やアンインストール要求を受信する。また、NCS128のプロセスは、インストール要求に基づくプリケーションのインストールが成功した場合は、仲介装置200にインストール完了情報を通知する。一方、インストール要求に基づくアプリケーションのインストールが失敗した場合は、仲介装置200にインストール未完了情報を通知する。また、NCS128のプロセスは、アンインストール要求に基づくアプリケーションのアンインストールが成功した場合は、仲介装置200にアンインストール完了情報を通知する。一方、アンインストール要求に基づくアプリケーションのアンインストールが失敗した場合は、仲介装置200にアンインストール未完了情報を通知する。
OCS126のプロセスは、オペレータ(利用者)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)910の制御を行う。OCS126は、オペレーションパネルからキー押下(またはタッチ操作)をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS122に送信するOCSプロセスの部分と、アプリケーション130またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション130およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS126のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS126のすべてをOCSライブラリとして構成しても良い。
アプリインストール制御サービス131は、NCS128のプロセスにより受信したインストール要求に基づいて、受信したアプリケーションおよびライセンス情報により、アプリケーションのインストール処理を行う。また、アプリインストール制御サービス131は、NCS128のプロセスにより受信したアンインストール要求に基づいて、受信したライセンス情報により、アプリケーションのアンインストール処理を行う。
NRS129のプロセスは、ネットワークを介してデータを送受信する際のデータの変換を行う等のネットワークを介した機器遠隔管理に関する機能及びスケジューラ機能を有している。
アプリケーション130は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ111と、コピー用アプリケーションであるコピーアプリ112と、ファクシミリ用アプリケーションであるファックスアプリ113と、スキャナ用アプリケーションであるスキャナアプリ114と、ネットワークファイル用アプリケーションであるネットファイルアプリ115と、工程検査用アプリケーションである工程検査アプリ116と、インターネットに接続されたPC等のクライアント端末に対してWEBサーバ(httpサーバ)として動作し、クライアント端末上で動作するWEBブラウザに各種画面を表示するWEBアプリ117とを有している。
アプリケーション130の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
このように、実施の形態1にかかる複合機100には、複数のアプリケーション130および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション130に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
また、複合機100には、複合機100の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリ172を開発して搭載することが可能となっている。この外部アプリ172は、仲介装置200から受信したアプリケーションであり、アプリインストール制御サービス131によりインストールされる。
なお、実施の形態1にかかる複合機100では、複数のアプリケーション130のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション130とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション130は、アプリケーションごとに追加または削除することができる。すなわち、上述したように、外部アプリ172をインストール可能であり、かつアンインストールも可能となっている。
次に、管理装置500について説明する。図8は、実施の形態1にかかる管理装置の構成図である。図8に示すように、管理装置500は、制御部501と、操作者端末507と、データベース502と、ネットワークI/F506とから主に構成されている。ネットワークI/F506は、仲介装置200などの他の装置との間の通信制御を行う。操作者端末507は、キーボード、マウス、ディスプレイ等で構成されたオペレータによる各種データの入力インターフェースである。データベース502は、複合機100a、100b、100cの管理に用いる各種管理パラメータ(管理情報)、管理プログラム、オペレータが入力するデータを記憶するパラメータ記憶エリア503と、複合機100a、100b、100cのカウンタ値を記憶するカウンタ記憶エリア504とから構成される。制御部501は、図示しないCPU、ROM、RAM等から構成させるマイクロコンピュータを備え、管理装置500を全体的に制御して、カウンタ情報の受信機能を実現する。
次に、アプリダウンロードサーバ400について説明する。図9は、実施の形態1にかかるアプリダウンロードサーバの構成図である。図9に示すように、アプリダウンロードサーバ400は、制御部401と、操作者端末407と、データベース402と、ネットワークI/F406とから主に構成されている。ネットワークI/F406は、通信制御を行うものである。操作者端末407は、キーボード、マウス、ディスプレイ等で構成されたオペレータによる各種アプリの管理などの入力インターフェースである。データベース402は、各種複合機のアプリを管理に用いる各種パラメータ、管理プログラム、オペレータが入力するデータを記憶するパラメータ記憶エリア403と、アプリケーションを記憶するアプリ保持エリア404とから構成される。制御部401は、図示しないCPU、ROM、RAM等から構成させるマイクロコンピュータを備え、アプリダウンロードサーバ400を全体的に制御し、アプリのダウンロード要求の受信/応答機能を実現する。
次に、ライセンス管理サーバ300について説明する。図10は、実施の形態1にかかるライセンス管理サーバ300の構成図である。図10に示すように、ライセンス管理サーバ300は、制御部301と、操作者端末307と、データベース302と、ネットワークI/F306とから主に構成されている。ネットワークI/F306は、通信制御を行うものである。操作者端末307は、キーボード、マウス、ディスプレイ等で構成されたオペレータによる各種アプリのライセンスの管理などの入力インターフェースである。データベース302は、お客様ごとに各種複合機のアプリのライセンスを管理に用いる各種パラメータ、管理プログラム、オペレータが入力するデータや管理装置からの送付した購入情報を記憶するパラメータ記憶エリア303と、ライセンスキーを記憶するライセンスキー保持エリア304とから構成される。制御部301は、図示しないCPU、ROM、RAM等から構成させるマイクロコンピュータを備え、ライセンス管理サーバ300を全体的に制御し、仲介装置IDによる各機種の各アプリのライセンス発行要求の受信/応答機能を実現する。
次に、以上のように構成された遠隔管理システムにおけるインストール管理処理の流れを説明する。まず、該インストール管理処理の前提を説明する。アプリケーションの販売者と複合機を所有する利用者との間では、アプリケーションのライセンスに関して本実施の形態の遠隔管理システムによって運用を行うこと、および利用者が別途に購入したアプリケーションは遠隔管理システムを使用してアプリケーションを自動的にインストールすることとが合意されている。
そして、利用者の複合機はすでに遠隔管理システムの管理対象となっている。また、利用者が別途にアプリケーションを購入する契約は済んでいる。また、アプリケーションの購入情報は、管理装置500にインプット済みである。
このインプットは管理装置500の操作者が購入契約情報に基づき、管理装置500の操作者端末から対象のアプリケーションおよび対象の仲介装置IDを入力し、アプリインストール要求を実行するものとする。実行後に該アプリインストール要求は仲介装置200から送信してくる定期的なポーリングが到達するまで、管理装置500に一時的に保持される。仲介装置200からのポーリングが届いている場合、ポーリングの送付元の仲介装置200の仲介装置IDを割り出し、該当仲介装置IDが示す仲介装置200に送信するアプリインストール要求があるかを判定して、該要求がある場合は、前述ポーリングのレスポンスによりアプリインストール要求を仲介装置200に送信する。
図11は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。まず、管理装置500の操作者により、利用者との契約に基づき、アプリケーションの購入情報が管理装置500にインプットされている。仲介装置200のイベント処理部221は、管理装置500に定期ポーリングを行い(ステップS10)、管理装置500において、管理対象の複合機に対し、インストール対象のアプリケーションがあった場合、管理装置500から、アプリIDを含むアプリインストール要求を受信し(ステップS11)、インストール処理部222に送出する(ステップS12)。
次に、インストール処理部222は、その他記憶部234から仲介装置IDを取得して(ステップS13)、仲介装置IDを含むライセンス取得要求を、ライセンス管理サーバ300に送信する(ステップS14)。そして、インストール処理部222は、ライセンス管理サーバ300からアプリケーションのライセンス情報を取得し(ステップS15)、取得したライセンス情報をライセンス情報記憶部232に記憶する(ステップS16)。
そして、インストール処理部222は、ライセンス情報に含まれたライセンス数やライセンスIDを取得し(ステップS17)、アプリIDごとに、ライセンスIDとライセンス数とを対応付けたカウンタ情報を生成して(ステップS18)、ライセンスIDやライセンス数を含むカウンタ情報をカウンタ情報記憶部233に保持する(ステップS19)。
次に、インストール処理部222は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS20)、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS21)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS22)。
そして、インストール処理部222は、所定のタイミングで、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS30)、取得したライセンス数が0より多いか(1以上か)否かを判断する(ステップS31)。ライセンス数が0より多い場合(ステップS31:Yes)、その他記憶部234から複合機情報を取得し(ステップS32)、アプリ記憶部231からアプリケーションを取得し(ステップS33)、ライセンス情報記憶部232からライセンス情報を取得する(ステップS34)。
インストール処理部222は、取得したアプリケーションとライセンス情報とともに、複合機100aにインストール要求を送信し(ステップS35)、複合機100aからインストール完了情報を受信する(ステップS36)。そして、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ減少させる(ステップS37)。
また、インストール処理部222は、取得したアプリケーションとライセンス情報とともに、複合機100bにインストール要求を送信し(ステップS38)、複合機100bからインストール完了情報を受信する(ステップS39)。そして、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ減少させる(ステップS40)。以下、同様に管理対象の複合機に対して、インストール処理を行う。
次に、インストール処理部222は、ライセンス情報のライセンス数が0になった場合(ステップS41)、もしくはステップS31において、ライセンス数が0であった場合(ステップS31:No)、アプリ記憶部231に記憶されたアプリケーションを削除し(ステップS42)、アプリケーションのインストールが完了した旨(ライセンス数の分のインストールが成功した旨、またはライセンスがなくインストールが失敗した旨)を、イベント処理部221に送出する(ステップS43)。イベント処理部221は、アプリIDを含むアプリインストール返答を管理装置500に送信する(ステップS44)。
次に、図11におけるステップS44の後に、仲介装置200の管理者からアプリケーションのアンインストールの要求を受付けた場合について説明する。図12は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。
イベント処理部221は、仲介装置200の管理者から、管理対象の複合機100aに対するアプリアンインストール要求の入力を受付けた場合、アプリIDを含むアプリアンインストール要求をインストール処理部222に送出する(ステップS50)。インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS51)、その他記憶部234から複合機情報を取得し(ステップS52)、ライセンス情報記憶部232からライセンス情報を取得する(ステップS53)。
インストール処理部222は、取得したライセンス情報とともに、複合機100aにアンインストール要求を送信し(ステップS54)、複合機100aからアンインストール完了情報を受信する(ステップS55)。そして、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ増加させる(ステップS56)。
そして、インストール処理部222は、ライセンス情報のライセンス数が1になったか否かを判断し(ステップS57)、ライセンス数が1になってない場合(ステップS57:No)、処理を終了する。一方、ライセンス数が1になっている場合(ステップS57:Yes)、インストール処理部222は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS58)、再度、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS59)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS60)。
次に、図12におけるステップS60の後に、管理装置500からライセンス数の増減の要求を受信した場合について説明する。図13は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。
まず、ライセンス数を増加する場合について説明する。管理装置500の操作者により、利用者との契約に基づき、アプリケーションの購入情報が管理装置500にインプットされている。仲介装置200のイベント処理部221は、管理装置500に定期ポーリングを行い(ステップS70)、管理装置500において、管理対象の複合機に対し、ライセンス数の増加があった場合、管理装置500から、アプリIDを含むライセンス数増加要求を受信し(ステップS71)、インストール処理部222に送出する(ステップS72)。
次に、インストール処理部222は、その他記憶部234から仲介装置IDを取得して(ステップS73)、仲介装置IDを含むライセンス取得要求を、ライセンス管理サーバ300に送信する(ステップS74)。そして、インストール処理部222は、ライセンス管理サーバ300からアプリケーションのライセンス情報を取得し(ステップS75)、取得したライセンス情報をライセンス情報記憶部232に記憶する(ステップS76)。
そして、インストール処理部222は、ライセンス情報記憶部232に記憶されているライセンス情報からライセンス数を取得し(ステップS77)、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS78)、ライセンス数を合算し(ステップS79)、カウンタ情報のライセンスIDおよびライセンス数を増加させて上書きする(ステップS80)。
次に、ライセンス数を削減(減少)する場合について説明する。管理装置500の操作者により、利用者との契約に基づき、アプリケーションの購入情報が管理装置500にインプットされている。仲介装置200のイベント処理部221は、管理装置500に定期ポーリングを行い(ステップS90)、管理装置500において、管理対象の複合機に対し、ライセンス数の削減があった場合、管理装置500から、アプリIDを含むライセンス数削減要求を受信し(ステップS91)、インストール処理部222に送出する(ステップS92)。
次に、インストール処理部222は、その他記憶部234から仲介装置IDを取得して(ステップS93)、仲介装置IDを含むライセンス削減要求を、ライセンス管理サーバ300に送信する(ステップS94)。そして、インストール処理部222は、ライセンス管理サーバ300からアプリケーションのライセンス情報を取得し(ステップS95)、取得したライセンス情報をライセンス情報記憶部232に記憶する(ステップS96)。
そして、インストール処理部222は、ライセンス情報記憶部232に記憶されているライセンス情報からライセンス数(負数)を取得し(ステップS97)、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS98)、ライセンス数を合算し(ステップS99)、カウンタ情報のライセンスIDおよびライセンス数を削減させて上書きする(ステップS100)。
次に、図11におけるステップS44の後に、仲介装置200の管理者からアプリケーションのアンインストールの要求を受付けたが、アンインストールに失敗した場合について説明する。図14は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。
イベント処理部221によるアプリアンインストール要求の送出から、インストール処理部222によるライセンス情報記憶部232からのライセンス情報の取得までの処理(ステップS110〜113)は、図12における処理と同様であるため説明を省略する(ステップS50〜53)。
インストール処理部222は、取得したライセンス情報とともに、複合機100aにアンインストール要求を送信したが(ステップS114)、複合機100aにおいてアンインストールができない場合(ステップS115)、複合機100aからアンインストール未完了情報を受信する(ステップS116)。インストール処理部222は、複合機100aにおけるアンインストールが完了したか否かを判断する(ステップS117)。アンインストールが完了している場合(ステップS117:Yes)、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ増加させる(ステップS118)。
一方、アンインストールが完了していない場合、すなわち未完了である場合(ステップS117:No)、インストール処理部222は、カウンタ情報のライセンス数を増加させない。
そして、インストール処理部222は、ライセンス情報のライセンス数が1になったか否かを判断し(ステップS119)、ライセンス数が1になってない場合(ステップS119:No)、処理を終了する。一方、ライセンス数が1になっている場合(ステップS119:Yes)、インストール処理部222は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS120)、再度、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS121)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS122)。
次に、ライセンス情報におけるライセンス数が無制限であった場合について説明する。図15−1、図15−2、図15−3は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。イベント処理部221による定期ポーリングから、ライセンス情報のライセンス情報記憶部232への記憶までの処理(ステップS130〜136)は、図11における処理と同様であるため説明を省略する(ステップS10〜16)。
そして、インストール処理部222は、ライセンス情報に含まれたライセンス数やライセンスIDを取得し(ステップS137)、ライセンス数が無制限と判断すると(ステップS138)、アプリIDごとに、ライセンスIDとライセンス数とを対応付けたカウンタ情報と、ライセンス数変更可否フラグを生成して(ステップS139)、ライセンスIDや、常に1を示すライセンス数を含むカウンタ情報をカウンタ情報記憶部233に保持する(ステップS140)。
次に、インストール処理部222は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS141)、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS142)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS143)。
そして、インストール処理部222は、所定のタイミングで、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数とライセンス数変更可否フラグを取得し(ステップS150)、取得したライセンス数が0より多いか(1以上か)否かを判断する(ステップS151)。ライセンス数が0より多い場合(ステップS151:Yes)、その他記憶部234から複合機情報を取得し(ステップS152)、アプリ記憶部231からアプリケーションを取得し(ステップS153)、ライセンス情報記憶部232からライセンス情報を取得する(ステップS154)。
インストール処理部222は、取得したアプリケーションとライセンス情報とともに、複合機100aにインストール要求を送信し(ステップS155)、複合機100aからインストール完了情報を受信する(ステップS156)。そして、インストール処理部222は、ライセンス数の変更が可能か否かを判断し(ステップS157)、変更が可能である場合、すなわちライセンス数変更可否フラグがない場合(ステップS157:Yes)、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ減少させる(ステップS158)。一方、変更が可能でない場合、すなわちライセンス数変更可否フラグがある場合(ステップS157:No)、インストール処理部222は、ライセンス数を減少させない。
また、インストール処理部222は、取得したアプリケーションとライセンス情報とともに、複合機100bにインストール要求を送信し(ステップS159)、複合機100bからインストール完了情報を受信する(ステップS160)。そして、インストール処理部222は、ライセンス数の変更が可能か否かを判断し(ステップS161)、変更が可能である場合、すなわちライセンス数変更可否フラグがない場合(ステップS161:Yes)、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ減少させる(ステップS162)。一方、変更が可能でない場合、すなわちライセンス数変更可否フラグがある場合(ステップS161:No)、インストール処理部222は、ライセンス数を減少させない。以下、同様に管理対象の複合機に対して、インストール処理を行う。
次に、インストール処理部222は、ライセンス情報のライセンス数が0になった場合(ステップS163)、もしくはステップS161において、ライセンス数が0であった場合(ステップS161:No)、アプリ記憶部231に記憶されたアプリケーションを削除し(ステップS164)、アプリケーションのインストールが完了した旨(ライセンス数の分のインストールが成功した旨、またはライセンスがなくインストールが失敗した旨)を、イベント処理部221に送出する(ステップS165)。イベント処理部221は、アプリIDを含むアプリインストール返答を管理装置500に送信する(ステップS166)。
次に、イベント処理部221によるアプリアンインストール要求の送出から、インストール処理部222によるアンインストール完了情報の受信までの処理(ステップS170〜175)は、図12における処理と同様であるため説明を省略する(ステップS50〜55)。
そして、インストール処理部222は、複合機100aにおけるアンインストールが完了したか否かを判断する(ステップS176)。アンインストールが完了している場合(ステップS176:Yes)、インストール処理部222は、ライセンス数の変更が可能か否かを判断し(ステップS177)、変更が可能である場合、すなわちライセンス数変更可否フラグがない場合(ステップS177:Yes)、インストール処理部222は、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ増加させる(ステップS178)。一方、アンインストールが完了していない場合(ステップS176:No)、および、ライセンス数の変更が可能でない場合、すなわちライセンス数変更可否フラグがある場合(ステップS177:No)、インストール処理部222は、ライセンス数を増加させない。
そして、インストール処理部222は、ライセンス情報のライセンス数が変更可能であって、かつライセンス数が1になったか否かを判断し(ステップS179)、ライセンス数が変更できない場合、またはライセンス数が1になってない場合(ステップS179:No)、処理を終了する。一方、ライセンス数が変更可能であって、かつライセンス数が1になっている場合(ステップS179:Yes)、インストール処理部222は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS180)、再度、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS181)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS182)。
次に、図11におけるステップS22の後に、ライセンス情報にライセンスの利用期間があった場合について説明する。図16は、実施の形態1の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。
まず、インストール処理部222は、所定のタイミングで、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS190)、さらにライセンス情報記憶部232に記憶されているライセンス情報を取得する(ステップS191)。そして、インストール処理部222は、取得したライセンス情報により、ライセンスが有効期間中か否かを判断し(ステップS192)、有効期間中でない場合(ステップS192:No)、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を1つ減少させる(ステップS193)。一方、有効期間中である場合(ステップS192:Yes)、ライセンス数は減少させない。
インストール処理部222によるライセンス数が0より多いか否かの判断から、イベント処理部221によるアプリインストール返答の送信までの処理(ステップS194〜207)は、図11における処理と同様であるため説明を省略する(ステップS31〜44)。
このように、実施の形態1の遠隔管理システムでは、仲介装置200がアプリケーションを取得して記憶するとともにライセンス数を管理することで、仲介装置200から管理対象の複合機に対してライセンス数に応じたアプリケーションのインストール処理を行う。従って、利用者の所有する複数の複合機にインストールする多種類のアプリケーションを、複合機ごとにダウンロードせずに一括でインストールできるため、アプリケーションの取得回数を軽減してアプリケーションの取得時間を短縮し、ネットワークへの負担を軽減するとともに、ライセンスを簡易に管理できる。
また、複合機のアプリケーションをアンインストールした場合、仲介装置200においてライセンス数を増加させて対応するため、同一の利用者が購入したアプリケーションを特定の複合機(場所)に限定せずに自由に使いまわすことができる。
また、複合機のアプリケーションをアンインストールさせた後、ライセンス数が0から1になった場合は、所定タイミングでアプリダウンロードサーバ400からアプリケーション再度取得するため、利用者がインストールする場合のアプリケーションのインストール準備を早めることができる。
また、管理装置500からアプリケーションのライセンスの数の増減要求を受けた場合、当該要求に応じて、ライセンス数を増減するため、利用者が追加購入したり、ライセンスの利用期間を超えた場合のアプリケーションのインストール管理に対応できる。
また、複合機に対してのアプリケーションのインストールあるいはアンインストールが失敗した場合、ライセンス数を増減しないため、アプリケーションのインストール、アンインストールの失敗によってライセンス数が変更せず、正確なライセンス数を管理できる。
また、ライセンス情報から取得したライセンス数が無制限の場合、ライセンス数を1として保持し、増減機能を無効にするため、アプリケーションが削除されず、新たに取得する手間を省くことができる。
また、ライセンス情報からライセンスの利用期間を取得し、該利用期間中でないと判断された場合、ライセンス数を減少させないため、ライセンス利用期間内におけるアプリケーションの重複取得を省くことがきる。
(実施の形態2)
実施の形態1における遠隔管理システムは、管理対象の複合機に対して、アプリケーションのライセンス数を管理に関するものであった。これに対して、実施の形態2の遠隔管理システムは、管理対象になった場合、若しくは管理対象から外れた場合のライセンス数の管理に関する。
本実施の形態の遠隔管理システムの構成の概要、複合機100の構成、管理装置500の構成、アプリダウンロードサーバ400の構成、ライセンス管理サーバ300の構成は、実施の形態1と同様である。また、仲介装置200におけるハードウェア構成、ソフトウェア構成図も同様であるが、アプリインストール管理モジュールにおける異なる部分のみ、以下で説明する。
図17は、実施の形態2にかかるアプリインストール管理モジュールの詳細を示す説明図である。図17に示すように、アプリインストール管理モジュール274は、イベント処理部224と、インストール処理部225とを備えている。また、イベント処理部224は、通信部251と、入力受付部240と、取得部256と、管理処理部259とを備えている。また、インストール処理部225は、取得部242と、カウンタ情報生成部253と、送信部245と、受信部246と、ライセンス数調整部257と、削除部248とを主に備えている。また、記憶部230は、HDDには、アプリ記憶部231と、ライセンス情報記憶部232とが備えられており、NVRAMには、カウンタ情報記憶部233と、その他(仲介装置ID)記憶部254と、複合機管理情報記憶部255とが備えられている。ここで、入力受付部240と、取得部242と、送信部245と、受信部246と、削除部248と、アプリ記憶部231と、ライセンス情報記憶部232の機能および構成は実施の形態1と同様である。
カウンタ情報記憶部233は、カウンタ情報生成部253により生成されたカウンタ情報を保持している。図18は、カウンタ情報の一例を示す図である。図18に示すように、カウンタ情報260は、アプリID261ごとに、使用済ライセンスのカウンタ領域262と、使用可(可能)ライセンスのカウンタ領域263とを備えている。使用済ライセンスのカウンタ領域262には、複合機に固有の複合機IDとライセンスIDとが対応付けられ、さらに使用済ライセンス数が保持されている。また、使用可ライセンスのカウンタ領域263には、ライセンスIDと使用可ライセンス数が保持されている。
その他記憶部254は、仲介装置200に固有の仲介装置IDを保持している。
複合機管理情報記憶部255は、管理対象の複合機に関する情報である複合機管理情報を保持しており、例えば、複合機のIPアドレス、複合機ID、複合機が管理対象であるか否かを対応付けて保持している。
取得部256は、管理対象に指定された複合機から、指定されたIPアドレス(指定IP)に基づいて複合機IDを取得する。また、所定の複合機が管理対象に追加された場合、その他記憶部254から仲介装置IDを取得する。
通信部251は、実施の形態1の機能に加え、所定の複合機が管理対象に追加された場合、取得部256により取得された仲介者IDと、複合機IDとともに、所定の複合機が追加済みである旨を示す追加済み通報を管理装置500に送信する。また、通信部251は、管理装置500から、管理対象の複合機を削除する旨の管理対象複合機削除要求を、仲介装置IDと複合機IDとともに受信する。
管理処理部259は、取得部256により管理対象に指定された複合機から取得した複合機IDが、複合機管理情報記憶部255に記憶されている複合機管理情報にあるか否かを判断し、該複合機IDが複合機管理情報にない場合は管理対象ではないと判断して複合機管理情報の管理対象に追加する。また、管理処理部259は、通信部251により管理装置500から管理対象複合機削除要求とともに受信した複合機IDが、複合機管理情報記憶部255に記憶されている複合機管理情報にあるか否かを判断し、該複合機IDが複合機管理情報にある場合は管理対象であると判断して管理対象情報の管理対象から削除する。
カウンタ情報生成部253は、イベント処理部221から受信したアプリインストール要求に含まれたアプリIDごとに、ライセンスを使用している複合機の複合機IDとライセンスIDとが対応付けられるとともに、使用済ライセンス数が保持された使用済ライセンスのカウンタ領域と、使用可ライセンス数とライセンスIDとが保持された使用可ライセンスのカウンタ領域が保持されたカウンタ情報を生成して、カウンタ情報記憶部233に記憶する(図18参照)。また、カウンタ情報生成部253は、管理対象に追加された複合機にインストールされたアプリケーションのアプリIDがカウンタ情報にない場合、使用済ライセンス数を1としたカウンタ情報を追加生成して、カウンタ情報記憶部233に記憶する。
ライセンス数調整部257は、アプリケーションがインストールされている管理対象の複合機が管理対象外となった場合、管理対象外となった複合機の台数に応じて、カウンタ情報記憶部233に記憶されたカウンタ情報の使用可ライセンス数をその台数だけ増加させ、使用済ライセンス数をその台数だけ削減させる。また、ライセンス数調整部257は、アプリケーションがインストールされていない複合機が管理対象外となった場合、カウンタ情報記憶部233に記憶されたカウンタ情報の使用可ライセンス数および使用済ライセンス数をともに増加または増減させない。また、ライセンス数調整部257は、アプリケーションがインストールされている複合機が管理対象となった場合、アプリケーションがアンインストールされるまで、カウンタ情報記憶部233に記憶されたカウンタ情報のライセンス数を増減させる対象としない。
次に、以上のように構成された遠隔管理システムにおけるインストール管理処理の流れを説明する。インストール管理処理の前提は、実施の形態1と同様である。図19は、実施の形態2の遠隔管理システムにおけるインストール管理処理の流れを示すシーケンス図である。まず、イベント処理部224は、管理対象を所望する複合機100aから、指定IPに基づいて複合機IDを取得する(ステップS220)。そして、イベント処理部224は、取得した複合機IDが管理対象であるかを照会、すなわち複合機管理情報記憶部255に記憶されている複合機管理情報にあるか否か判断する(ステップS221)。そして、イベント処理部224は、取得した複合機IDの複合機が管理対象でない場合、管理対象に追加し(ステップS222)、複合機管理情報記憶部255に記憶されている複合機管理情報に複合機IDを追加する(ステップS223)。
そして、イベント処理部224は、その他記憶部254から仲介装置IDを取得し(ステップS224)、追加済み通報を、仲介装置IDと複合機IDとともに管理装置500に送信する(ステップS225)。
次に、インストール処理部225は、複合機100aから複合機100aにインストールされているアプリケーションのアプリIDとライセンス情報を取得し(ステップS226)、カウンタ情報記憶部233に記憶されているカウンタ情報に、取得したアプリIDを照会して(ステップS227)、アプリIDが存在するか否かを判断する(ステップS228)。アプリIDが存在しない場合(ステップS228:No)、インストール処理部225は、使用済ライセンス数を1と設定したカウンタ情報を追加生成して、カウンタ情報記憶部233に記憶する(ステップS229)。一方、アプリIDが存在した場合(ステップS228:Yes)、インストール処理部225は、該アプリIDのカウンタ情報を変更して、使用済ライセンス数を1つ増加する(ステップS230)。
イベント処理部224は、管理装置500に定期ポーリングを行い、管理装置500から、アプリIDを含むアプリインストール要求を受信し(ステップS240)、インストール処理部225に送出する(ステップS241)。
次に、インストール処理部225は、その他記憶部234から仲介装置IDを取得して(ステップS242)、仲介装置IDを含むライセンス取得要求を、ライセンス管理サーバ300に送信する(ステップS243)。そして、インストール処理部225は、ライセンス管理サーバ300からアプリケーションのライセンス情報を取得し(ステップS244)、取得したライセンス情報をライセンス情報記憶部232に記憶する(ステップS245)。
そして、インストール処理部225は、ライセンス情報に含まれたライセンス数を取得し(ステップS246)、カウンタ情報記憶部233に記憶されているカウンタ情報に、管理装置500から受信したアプリIDを照会して(ステップS247)、アプリIDが存在するか否かを判断する(ステップS248)。アプリIDが存在しない場合(ステップS248:No)、インストール処理部225は、使用可ライセンス数を設定したカウンタ情報を追加生成して、カウンタ情報記憶部233に記憶する(ステップS249)。一方、アプリIDが存在した場合(ステップS248:Yes)、インストール処理部225は、該アプリIDのカウンタ情報を変更して、使用可ライセンス数を計上する(ステップS250)。
次に、インストール処理部225は、アプリダウンロードサーバ400に、アプリ取得要求を送信して(ステップS251)、アプリダウンロードサーバ400からアプリケーションを取得し(ステップS252)、取得したアプリケーションをアプリ記憶部231に保持する(ステップS253)。
そして、インストール処理部225は、所定のタイミングで、カウンタ情報記憶部233に記憶されているカウンタ情報のライセンス数を取得し(ステップS260)、取得したライセンス数が0より多いか(1以上か)否かを判断する(ステップS261)。ライセンス数が0より多い場合(ステップS261:Yes)、複合機管理情報記憶部255から複合機管理情報を取得し(ステップS262)、アプリ記憶部231からアプリケーションを取得し(ステップS263)、ライセンス情報記憶部232からライセンス情報を取得する(ステップS264)。
インストール処理部225は、取得したアプリケーションとライセンス情報とともに、複合機100aにインストール要求を送信し(ステップS265)、複合機100aからインストール完了情報を受信する(ステップS266)。そして、インストール処理部225は、カウンタ情報記憶部233に記憶されているカウンタ情報の使用済ライセンス数を1つ増加させ、使用可ライセンス数を1つ減少させる(ステップS267)。
また、インストール処理部225は、取得したアプリケーションとライセンス情報とともに、複合機100bにインストール要求を送信し(ステップS268)、複合機100bからインストール完了情報を受信する(ステップS269)。そして、インストール処理部225は、カウンタ情報記憶部233に記憶されているカウンタ情報の使用済ライセンス数を1つ増加させ、使用可ライセンス数を1つ減少させる(ステップS270)。以下、同様に管理対象の複合機に対して、インストール処理を行う。
次に、インストール処理部225は、ライセンス情報の使用可ライセンス数がなくなった場合(ステップS271)、もしくはステップS261において、ライセンス数が0であった場合(ステップS261:No)、アプリ記憶部231に記憶されたアプリケーションを削除し(ステップS272)、アプリケーションのインストールが完了した旨(ライセンス数の分のインストールが成功した旨、またはライセンスがなくインストールが失敗した旨)を、イベント処理部224に送出する(ステップS273)。イベント処理部224は、アプリIDを含むアプリインストール返答を管理装置500に送信する(ステップS274)。
さらに、イベント処理部224は、管理装置500から、管理対象の複合機を削除する旨の管理対象複合機削除要求を、仲介装置IDと複合機IDとともに受信する(ステップS280)。そして、イベント処理部224は、受信した複合機IDが管理対象であるかを照会、すなわち複合機管理情報記憶部255に記憶されている複合機管理情報にあるか否か判断する(ステップS281)。そして、イベント処理部224は、受信した複合機IDの複合機が管理対象である場合、管理対象から削除し(ステップS282)、複合機管理情報記憶部255に記憶されている複合機管理情報の複合機IDを削除する(ステップS283)。
次に、インストール処理部225は、カウンタ情報記憶部233に記憶されているカウンタ情報に、削除した複合機IDを照会して(ステップS284)、複合機IDが存在するか否かを判断する(ステップS285)。複合機IDが存在しない場合(ステップS285:No)、処理を終了する。一方、複合機IDが存在した場合(ステップS285:Yes)、インストール処理部225は、該複合機IDを含むカウンタ情報を変更して、使用済ライセンス数を1つ減少させ、使用可ライセンス数を1つ増加する(ステップS286)。
このように、実施の形態2の遠隔管理システムでは、実施の形態1の効果に加えて、既にアプリケーションがインストールされている複合機が管理対象から外された場合に、仲介装置200において、使用可能なライセンス数を減少させて、ライセンス数を適確に増減することができる。また、アプリケーションがインストールされていない複合機が管理対象から外された場合に、仲介装置200において、使用可能なライセンス数を変更せず、ライセンス数を適確に維持することができる。また、既にアプリケーションがインストールされている複合機が管理対象に追加された場合に、仲介装置200において、使用済のライセンス数を増加させて、ライセンス数を適確に増減することができる。
なお、本実施の形態の仲介装置200で実行されるインストール管理プログラムは、ROM等に予め組み込まれて提供される。
本実施の形態の仲介装置200で実行されるインストール管理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに、本実施の形態の仲介装置200で実行されるインストール管理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の仲介装置200で実行されるインストール管理プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
本実施の形態の仲介装置200で実行されるインストール管理プログラムは、上述した各部(通信部241、251、入力受付部240、管理処理部259、取得部242、256、カウンタ情報生成部243、253、送信部245、受信部246、ライセンス数調整部247、257、削除部248)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMからインストール管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、通信部241、251、入力受付部240、管理処理部259、取得部242、256、カウンタ情報生成部243、253、送信部245、受信部246、ライセンス数調整部247、257、削除部248が主記憶装置上に生成されるようになっている。
なお、上記実施の形態では、複合機にアプリケーションのソフトウェアをインストールする構成について説明したが、これに限定されることはなく、アプリケーション以外のソフトウェアにも適用可能である。
また、上記実施の形態では、仲介装置200と、アプリダウンロードサーバ400、ライセンス管理サーバ300、管理装置500とがインターネットなどのネットワーク80に接続され、仲介装置200と複合機100とがLANなどのローカルネットワークに接続された構成となっているが、これに限定されるものではない。すなわち、例えば、仲介装置200とアプリダウンロードサーバ400とライセンス管理サーバ300と管理装置500と複合機100とがインターネット等の単一のネットワークに接続されている構成としてもよい。