以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における機器管理システムのシステム構成例を示す図である。同図の機器管理システム1において、ユーザ環境E1は、画像形成装置20(画像形成装置20A、20B、20C、又は20D)のユーザ(顧客)のシステム環境である。例えば、ユーザ環境E1は、画像形成装置20のユーザの企業又はオフィス等に相当する。ユーザ環境E1において、画像形成装置20及び機器管理装置10等は、LAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。画像形成装置20は、印刷、スキャン、コピー、及びファクス送受信等の複数の機能を一台の筐体において実現する複合機である。但し、各画像形成装置20は、単一の機能を実現するプリンタ又はスキャナ等であってもよい。画像形成装置20は、アプリケーションプログラム(以下、単に「アプリケーション」という。)を追加又は更新することにより随時機能拡張等を図ることができる。
機器管理装置10は、ユーザ環境E1における画像形成装置20において動作するアプリケーションや当該アプリケーションのライセンス(利用権限)の取得及び導入等を一括して行うPC(Personal Computer)等のコンピュータであり、プログラム導入支援装置の一例である。なお、ユーザ環境E1は、ユーザ数(企業又はオフィス単位のユーザ数)に応じて複数存在しうる。
一方、メーカー環境E2は、画像形成装置20に追加されるアプリケーションの販売者側のシステム環境である。例えば、メーカー環境E2は、画像形成装置20のメーカーによって運営される。メーカー環境E2は、ライセンス管理サーバ50及びパッケージ管理サーバ60等を有する。
ライセンス管理サーバ50は、ユーザによって購入されたアプリケーションのライセンスを管理するコンピュータである。パッケージ管理サーバ60は、アプリケーションの実体(パッケージファイル)を管理するコンピュータである。
なお、ユーザ環境E1とメーカー環境E2とはインターネット等のネットワーク70を介して接続されている。
図1において、画像形成装置20の符号の末尾のアルファベット(「A」、「B」、「C」、又は「D」)は、機種の違い、又は機器管理装置10からの要求に対応可能であるか否か等を示す。基本的に、アルファベットの違いは機種の違いを意味する。但し、画像形成装置20Bと画像形成装置20Cとは同機種である。以下、画像形成装置20Aが属する機種を「機種A」という。画像形成装置20B及び20Cが属する機種を「機種B」という。画像形成装置20Dが属する機種を機種「D」という。
また、機器管理装置10からの要求とは、本実施の形態ではHTTP(HyperText Transfer Protocol)による所定のリクエスト(アプリケーションのインストール要求やアクティベーション要求等)をいう。
画像形成装置20A及び20Bは、機器管理装置10からの要求に対応可能である。但し、機種の相違に起因し、機器管理装置10からの要求を受信するためのポート(TCP(Transmission Control Protocol)のポート)のポート番号が異なる。画像形成装置20Aは、ポート番号「W」のポートと、ポート番号「X」のポートとによって機器管理装置10からの要求を受信可能である。画像形成装置20Bは、ポート番号「Y」のポートと、ポート番号「Z」のポートとによって機器管理装置10からの要求を受信可能である。なお、W、X、Y、Zは、実際はポート番号を示す数値であり、その値はそれぞれ相互に異なる。本実施の形態では、便宜上、ポート番号を示す数値をアルファベットによって表記する。
画像形成装置20C及び20Dは、機器管理装置10からの要求に対応することはできない。但し、画像形成装置20Cについては、ポートZ(ポート番号が「Z」のポート。以下におけるポートの表記に関しても同様である。)又はポートYによるHTTP通信は可能であり、機器管理装置10からの要求を処理するためのプログラムモジュールをインストールすることにより、当該要求に対応することができる。すなわち、画像形成装置20Bと画像形成装置20Cとの違いは、当該プログラムモジュールがインストールされているか否かである。したがって、画像形成装置20Cに当該プログラムモジュールがインストールされた場合、当該画像形成装置20は、画像形成装置20Bとして分類される。一方、画像形成装置20Dは、ソフトウェアアーキテクチャの都合上、当該プログラムモジュールをインストールすることはできない。したがって、機器管理装置10からの要求に対応することはできない。
なお、図1では、画像形成装置20A、20B、20C、及び20Dのそれぞれについて一台しか記載されていないが、それぞれが複数台配置されていてもよい。また、画像形成装置20A、20B、20C、及び20Dの全てが配置されていなくてもよい。例えば、画像形成装置20A及び画像形成装置20Bのみが配置されていてもよい。
図2は、本発明の実施の形態における機器管理装置のハードウェア構成例を示す図である。図2の機器管理装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。
機器管理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って機器管理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
図3は、本発明の実施の形態における機器管理システムの機能構成例を示す図である。
同図において、画像形成装置20は、要求処理部21、及びライセンスチェック部22等を有する。要求処理部21は、機器管理装置10からの要求に応じ、機器情報の送信、アプリケーションのインストール、ライセンスファイル90の導入、アプリケーションのアンインストール、及びライセンスファイル90の削除等を行う。すなわち、要求処理部21が、画像形成装置20を機器管理装置10からの要求に対応可能とするためのプログラムモジュールに相当する。したがって、同図の画像形成装置20は、画像形成装置20A又は20Bである。画像形成装置20Aの要求処理部21と、画像形成装置20Bの要求処理部とでは、上記したように使用するポートのポート番号が異なる。
ライセンスファイル90とは、アプリケーションに対するライセンスを証明するデータ(アプリケーションの利用を許可するためのデータ)が記録されたファイルである。すなわち、本実施の形態におけるアプリケーションは、その実体を入手するだけでは画像形成装置20において利用することはできない。アプリケーションは、ライセンスファイル90が画像形成装置20に導入されることにより利用可能となる。
ライセンスチェック部22は、アプリケーションが利用される際に、ライセンスファイル90に基づいて利用の許否を判定する。
ライセンス管理サーバ50は、ライセンス管理部51及びライセンス管理テーブル52等を有する。ライセンス管理部51は、アプリケーションに関するライセンスの発行等、ライセンス管理テーブル52を用いてライセンスの管理を行う。ライセンス管理テーブル52は、アプリケーションのライセンスの状態等が記録されるテーブルであり、ライセンス管理サーバ50の記憶装置に記憶されている。
パッケージ管理サーバ60は、パッケージ管理部61、パッケージ記憶部62A、及びパッケージ記憶部62B等を有する。
パッケージ管理部61は、パッケージ記憶部62A及びパッケージ記憶部62Bに記録されているアプリケーションの管理を行う。例えば、パッケージ管理部61は、アプリケーションのダウンロード要求の受信に応じ、当該アプリケーションをパッケージ記憶部62A又はパッケージ記憶部62Bより取得し、要求元に返信する。パッケージ記憶部62Aは、パッケージ管理サーバ60の記憶装置において、画像形成装置20A用のアプリケーションをその識別子(プロダクトID)と関連付けて記憶する記憶領域である。パッケージ記憶部62Bは、パッケージ管理サーバ60の記憶装置において、画像形成装置20B用のアプリケーションをその識別子(プロダクトID)と関連付けて記憶する記憶領域である。ここで、画像形成装置20A用のアプリケーションと、画像形成装置20B用のアプリケーションとが区別されて管理されるのは、二つの画像形成装置20におけるアプリケーションプラットフォームに互換性が無いからである。したがって、同じサービス(機能)を提供するアプリケーションであっても、その実装内容(実行コードの内容)は、画像形成装置20A用と画像形成装置20B用とで異なる。
機器管理装置10は、UI制御部111、機種判定部112、管理対象機器一覧記憶部113、パッケージ情報取得部114、機器情報取得部115、インストール先受付部116、パッケージ取得部117、ライセンス取得部118、及びインストール制御部119等を有する。これら各部は、機器管理装置10にインストールされたプログラムが機器管理装置10のCPU104に実行させる処理によって実現される。
UI制御部111は、ユーザによる指示に応じた処理を起動する。機種判定部112は、各画像形成装置20の機種、及び各画像形成装置20が機器管理装置10の要求に対応可能であるか否かを判定し、機器管理装置10の要求に対応可能な画像形成装置20の識別情報(IPアドレス又はホスト名等)等を管理対象機器一覧記憶部113に記録する。管理対象機器一覧記憶部113は、補助記憶装置102において、機器管理装置10の管理対象とする画像形成装置20の一覧を記憶する記憶領域である。パッケージ情報取得部114は、インストール対象とされたアプリケーションに関する情報をライセンス管理サーバ50より取得する。機器情報取得部115は、インストール先又はライセンスの導入先とされた画像形成装置20A又は20Bより機器情報を取得する。インストール先受付部116は、アプリケーションのインストール先とする画像形成装置20A又は20Bの指定をユーザより受け付ける。パッケージ取得部117は、インストール対象のアプリケーションをパッケージ管理サーバ60よりダウンロード(取得)する。ライセンス取得部118は、インストール対象のアプリケーションに関するライセンスファイル90をライセンス管理サーバ50より取得する。インストール制御部119は、アプリケーション又はライセンスファイル90を、インストール先又はライセンスの導入先とされた画像形成装置20に送信する。
以下、機器管理システム1の処理手順について説明する。機器管理システム1を稼動させるための前処理として、機器管理装置10の管理対象とする画像形成装置20(機器)の登録処理が実行される。
図4は、管理対象機器の登録処理の第一の処理手順を説明するための図である。同図の処理は、一台の画像形成装置20に関する処理である。したがって、同図の処理は、ネットワーク30に接続されている各画像形成装置20に関して実行される。ネットワーク30に接続されている各画像形成装置20のIPアドレスの一覧は、機器検索技術を利用して自動的に機種判定部112によって取得されてもよいし、ユーザによって予め補助記憶装置102に記録されていてもよい。
ステップS101において、機種判定部112は、SNMP(Simple Network Management Protocol)によって、処理対象の画像形成装置20(以下、「対象機器」という。)のネットワークデバイスタイプの値を取得する。ネットワークデバイスタイプとは、画像形成装置20のMIB(Management Information Base)において、機種を識別可能な値が記録されたオブジェクトの名前である。
取得された値が、機種Aを示す値の範囲に含まれない場合(S102でNo)、機種判定部112は、ポートY宛にHTTPによる機器情報の取得要求(以下、単に「機器情報取得要求」という。)を送信する(S103)。なお、機器情報取得要求は、画像形成装置20A又は20Bが有する要求処理部21のインタフェースに従ったものである。以下において実行される機器情報取得要求についても同様である。また、機器情報の内容は、後述において機器情報取得部115によって取得される情報と同じでよい。
当該機器情報取得要求に対して対象機器より機器情報が返信されない場合(S104でNo)、機種判定部112は、ポートZ宛に機器情報取得要求を送信する(S105)。当該機器情報取得要求に対して機器情報が返信された場合(S106でYes)、又はポートY宛の機器情報取得要求に対して機器情報が返信された場合(S104でYes)、機種判定部112は、対象機器は画像形成装置20Bであると判定する。そこで、機種判定部112は、対象機器のIPアドレスと、例えば、機器情報の取得に成功したポート番号(Y又はZ)及び機種Bを示す識別子(以下、機種を示す識別子を「機種ID」という。)とを関連付けて管理対象機器一覧記憶部113に記録する(S107)。
図5は、管理対象機器一覧記憶部の構成例を示す図である。同図に示されるように、管理対象機器一覧記憶部113は、機器管理装置10の管理対象の画像形成装置10ごとに、IPアドレス、ポート番号、及び機種ID等を記録可能なように構成されている。
ポートY宛及びZ宛の機器情報取得要求に対して機器情報が返信されない場合(S106でNo)、機種判定部112は、HTTPレスポンスは返信されたか否かに応じて処理を分岐させる(S108)。すなわち、対象機器に要求処理部が実装されていなくても、対象機器においてポートY又はポートZが開かれていれば、HTTPレベルでの応答は返信される。したがって、ステップS108では、対象機器においてポートY又はポートZが開かれているか否かが判定される。
HTTPレスポンスが返信された場合(S108でYes)、機種判定部112は、SNMPを利用して対象機器より機種情報を取得する(S109)。取得された機種情報が機種Bを示すものである場合(S110でYes)、対象機器は、画像形成装置20Cである。そこで、機種判定部112は、対象機器のIPアドレスと、機器管理装置10に未対応の機種Bであることを示す情報とを関連付けてメモリ装置103に記録する(S111)。
取得された機種情報が機種Bを示すもので無い場合(S110でNo)、又はHTTPレスポンスが返信されなかった場合(S108でNo)、機種判定部112は、対象機器のIPアドレスと、対象機器は管理対象外であることを示す情報とを関連付けてメモリ装置103に記録する(S131)。
一方、ネットワークデバイスタイプの値が機種Aを示す値の範囲内である場合(S102でYes)、機種判定部112は、ポートW宛に機種情報取得要求を送信する(S121)。当該機器情報取得要求に対して対象機器より機器情報が返信されない場合(S122でNo)、機種判定部112は、ポートX宛に機器情報取得要求を送信する(S123)。当該機器情報取得要求に対して機器情報が返信された場合(S124でYes)、又はポートW宛の機器情報取得要求に対して機器情報が返信された場合(S122でYes)、機種判定部112は、対象機器は画像形成装置20Aであると判定する。そこで、機種判定部112は、対象機器のIPアドレスと、例えば、機器情報の取得に成功したポート番号(W又はX)及び機種Aの機種IDとを関連付けて管理対象機器一覧記憶部113に記録する(S125)。
ポートW宛及びX宛の機器情報取得要求に対して機器情報が返信されない場合(S124でNo)、機種判定部112は、対象機器のIPアドレスと、対象機器は管理対象外であることを示す情報とを関連付けてメモリ装置103に記録する(S131)。
図4の処理が、全ての画像形成装置20について完了すると、機種判定部112は、処理結果を含む画面(処理結果画面)を表示装置106に表示させる。
図6は、処理結果画面の表示例を示す図である。同図において、処理結果画面は、処理対象とされた画像形成装置20ごとに、IPアドレスと処理結果を表示させる。メモリ装置103において、管理対象外であることを示す情報が関連付けられているIPアドレスに関しては、「対象外」と表示される。メモリ装置103において、画像形成装置20Cであることを示す情報が関連付けられているIPアドレスに関しては、「対応可能」と表示される。「対応可能」とは、要求処理部をインストールすることにより、管理対象となりうることを示す。また、管理対象機器一覧記憶部113に記録されたIPアドレスに関しては、「登録成功」と表示される。
本実施の形態では、画像形成装置20A及び20Bについては「登録成功」と表示される。画像形成装置20Cについては「対応可能」と表示される。画像形成装置20Dにつついては「対象外」と表示される。
続いて、図4の代替処理について説明する。すなわち、図4の処理は、図7の処理によって代替されてもよい。
図7は、管理対象機器の登録処理の第二の処理手順を説明するための図である。
機種判定部112は、ポートW宛に機種情報取得要求を送信する(S201)。当該機器情報取得要求に対して対象機器より機器情報が返信されない場合(S202でNo)、機種判定部112は、ポートX宛に機器情報取得要求を送信する(S203)。当該機器情報取得要求に対して機器情報が返信された場合(S204でYes)、又はポートW宛の機器情報取得要求に対して機器情報が返信された場合(S202でYes)、機種判定部112は、対象機器は画像形成装置20Aであると判定する。そこで、機種判定部112は、対象機器のIPアドレスと、例えば、機器情報の取得に成功したポート番号(W又はX)及び機種Aの機種IDとを関連付けて管理対象機器一覧記憶部113に記録する(S205)。
ポートW宛及びX宛の機器情報取得要求に対して機器情報が返信されない場合(S204でNo)、機種判定部112は、ポートY宛に機器情報取得要求を送信する(S206)。当該機器情報取得要求に対して対象機器より機器情報が返信されない場合(S207でNo)、機種判定部112は、ポートZ宛に機器情報取得要求を送信する(S208)。当該機器情報取得要求に対して機器情報が返信された場合(S207でYes)、又はポートY宛の機器情報取得要求に対して機器情報が返信された場合(S209でYes)、機種判定部112は、対象機器は画像形成装置20Bであると判定する。そこで、機種判定部112は、対象機器のIPアドレスと、例えば、機器情報の取得に成功したポート番号(Y又はZ)及び機種Bの機種IDとを関連付けて管理対象機器一覧記憶部113に記録する(S210)。
ポートY宛及びZ宛の機器情報取得要求に対して機器情報が返信されない場合(S209でNo)、機種判定部112は、HTTPレスポンスは返信されたか否かに応じて処理を分岐させる(S211)。
HTTPレスポンスが返信された場合(S211でYes)、機種判定部112は、SNMPを利用して対象機器より機種情報を取得する(S212)。取得された機種情報が機種Bを示すものである場合(S213でYes)、対象機器は、画像形成装置20Cである。そこで、機種判定部112は、対象機器のIPアドレスと、機器管理装置10に未対応の機種Bであることを示す情報とを関連付けてメモリ装置103に記録する(S214)。
取得された機種情報が機種Bを示すもので無い場合(S213でNo)、又はHTTPレスポンスが返信されなかった場合(S211でNo)、機種判定部112は、対象機器のIPアドレスと、対象機器は管理対象外であることを示す情報とを関連付けてメモリ装置103に記録する(S215)。
図7の処理が、全ての画像形成装置20について完了すると、機種判定部112は、処理結果画面510を表示装置106に表示させる。
図7の処理は、最初にSNMPによってネットワークデバイスタイプの値を取得しない点において図4と異なる。例えば、ユーザ環境E1に機種Bが多く設置されている場合は、図4の方が高い性能を得ることができる。図7の場合は少なくとも2回の機器情報取得要求を行って初めて対象機器が機種Aでないことが判定可能あるのに対し、図4の場合はネットワークデバイスタイプの値に基づいて対象機器が機種Aでないことを判定可能だからである。
一方、ユーザ環境E1に機種Aが多く設置されている場合は、図7の方が高い性能を得ることができる。対象機器が機種Aの場合、図4の場合の方がネットワークデバイスタイプの値を取得する処理が余計に実行されるからである。
したがって、図4と図7とのいずれを実行するかは、ユーザ環境E1の状況に応じて選択可能としてもよい。例えば、機種判定部112が、処理の実行前に図4の方式と図7の方式とのいずれの方式を利用するかを選択させる画面を表示させ、当該画面における選択内容に応じて図4又は図7を実行するようにしてもよい。または、設定ファイルにいずれの方式を利用するかを示す情報を記録させ、当該情報に基づいて図4又は図7が実行されるようにしてもよい。
また、図4では、ステップS102において、ネットワークデバイスタイプの値に基づいて対象機器が機種Aであるか否かについて判定されている。したがって、ネットワークデバイスタイプの値として、機種Aに属する新たな値が定義された場合(新たな値を有する画像形成装置20Aが市場に投入された場合)、当該新たな値に基づいて機種Aであることが判定されるように機種判定部112の実装が変更される必要がある。そして、ユーザ環境E1において、機種判定部112のアップデートが行われる必要がある。
しかし、ユーザ環境E1において、かならずしも機種判定部112のアップデートが適切に行われるとは限らない。そうすると、図4では、新たなネットワークデバイスタイプの値を有する画像形成装置20Aついて、その機種を適切に判定できない場合が生じうる。具体的には、新たなネットワークデバイスタイプの値を有する画像形成装置20Aついて、ステップS102において機種Aでないと判定され、最終的に管理対象外であると判定される場合が生じうる。
そこで、図4において、ステップS102において対象機器が機種Aでないと判定された場合において、対象機器が管理対象外であると判定されたときに、ステップS121以降が実行されるようにしてもよい。そうすれば、新たなネットワークデバイスタイプの値を有する画像形成装置20Aについて、ネットワークデバイスタイプの値に基づいて機種Aでないと判定された場合であっても、ポート番号に基づく判定(S121以降の処理)によって機種Aであることを判定することができる。
なお、画像形成装置20Cや画像形成装置20Dが存在しえない場合、図4のS108〜S111、図7のS211〜S214は実行されなくてもよい。
続いて、管理対象の画像形成装置20に対してアプリケーションのインストール及びアクティベーションを実行する際の処理手順を説明する。図8は、アプリケーションのインストール及びアクティベーションの処理手順を説明するためのシーケンス図である。同図において、画像形成装置20のユーザは、アプリケーションを購入し、当該アプリケーションのプロダクトキーを入手済みであるとする。
プロダクトキーとは、アプリケーションが購入されるごとに一意に発行される(又は割り当てられる)識別子であり、アプリケーションに対するライセンス(利用権限)を識別する情報として、また、アプリケーションの正当な購入者であることを証明するための情報として用いられる。
なお、アプリケーションの購入の形態は所定のものに限定されない。店頭における取引によって購入されてもよいし、電子的な取引によって(例えば、Webサイトを利用して)購入されてもよい。前者の場合、プロダクトキーは、アプリケーションが記録されたCD−ROM又はSDカード等に貼付されているのが一般的であろう。後者の場合、アプリケーションを購入したWebサイトにおいて、購入確定時にWebページ上にプロダクトキーが表示されてもよいし、電子メールによってプロダクトキーが通知されてもよい。図8では、ユーザが、購入したアプリケーションに係るアプリケーションに関するインストール及びアクティベーション(ライセンスの取得)を機器管理装置10を利用して各画像形成装置20に対して行う場面を想定する。
機器管理装置10のUI制御部111は、表示装置106に表示させている初期画面を介してアプリケーションのインストールの開始指示の入力を受け付けると、プロダクトキー入力画面を表示装置106に表示させる(S301)。インストール対象のアプリケーション(以下、「カレントアプリケーション」という。)のプロダクトキーがプロダクトキー入力画面を介してユーザによって入力されると(S302)、パッケージ情報取得部114は、入力されたプロダクトキーを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンス管理サーバ50に送信する(S303)。
図9は、プロダクトキーの構成例を示す図である。同図に示されるように、プロダクトキーは、ユニークID及びプロダクトID等を含むデータである。
ユニークIDは、プロダクトキーの生成に伴って生成される一意なIDである。すなわち、ユニークIDによってプロダクトキーの一意性が確保される。プロダクトIDは、購入されたアプリケーションのプロダクトIDである。プロダクトIDは、アプリケーションごとに一意に割り当てられる。なお、プロダクトIDとプロダクトキーとは明確に区別される。すなわち、プロダクトIDは、製品としてのアプリケーションの異同を区別するものであるのに対し、プロダクトキーは、アプリケーションの購入という行為を区別するためのものである。したがって、同一のプロダクトIDに係るアプリケーションに対し、購入のたびに異なるプロダクトキーが発行される。
ライセンス管理サーバ50のライセンス管理部51は、パッケージ情報の取得要求の受信に応じ、当該取得要求において指定されているプロダクトキーの有効性をライセンス管理テーブル52を参照して判定する。
図10は、ライセンス管理テーブルの構成例を示す図である。同図においてライセンス管理テーブル52は、アプリケーションに関して発行されるライセンスごとに管理番号、プロダクトキー、プロダクトID、機体番号、ステータス、ライセンス有効期間、ライセンス有効期限、及びライセンス発行日等の項目を有する。
これらの項目のうち、管理番号、プロダクトキー、プロダクトID、ステータス、及びライセンス有効期間は、アプリケーションが購入された際にライセンス管理テーブル52に記録される。
一方、機体番号、ライセンス有効期限、及びライセンス発行日は、ライセンスの発行(すなわち、ライセンスファイル90の発行)に応じて記録される。また、ライセンスの発行に応じて、ステータスの値も更新される。
管理番号は、ライセンス管理テーブル52に対するレコードの生成に伴って、各レコードに一意に割り当てられる識別子(番号)である。プロダクトキー及びプロダクトID、は、上述した通りである。ライセンス有効期間は、ライセンスが有効な期間を示す。
機体番号には、ライセンスファイル90が発行される際に、アプリケーションを利用する機器として指定された画像形成装置20の機体番号が登録される。機体番号とは、各画像形成装置20を一意に識別するための識別情報(機器識別子)である。ステータスは、ライセンスの状態を示す情報である。本実施の形態において、ライセンスは、「ライセンス無し」、「チェックアウト」、及び「チェックイン」の状態を有する。「ライセンス無し」は、ライセンスが発行されていない状態である。チェックアウトは、ライセンスが使用されている状態である。チェックインは、ライセンスが返却されている(使用可能な)状態である。ライセンス有効期限は、ライセンスファイル90が発行される際に、ライセンス有効期間に基づいて算出されるライセンス(ライセンスファイル90)の有効期限である。ライセンス発行日は、ライセンスファイル90が発行される際に登録される、ライセンス(ライセンスファイル90)の発行日である。
以上のようなライセンス管理テーブル52を用いて、ライセンス管理部51は、例えば、受信されたプロダクトキーを含むレコードがライセンス管理テーブル52に登録されており、当該プロダクトキーを含むレコードのステータスが「チェックアウト」でなく、かつ、当該プロダクトキーを含むレコードのライセンス有効期限が現時点を超えていない場合(ライセンス有効期限の値が登録されていない場合も含む。)、当該プロダクトキーは有効であると判定し、それ以外の場合は、当該プロダクトキーは無効であると判定する。
当該プロダクトキーは無効であると判定された場合、ライセンス管理部51は、プロダクトキーが無効であることを示すエラー情報をパッケージ情報取得部114に返信する。この場合、パッケージ情報取得部114は、当該エラー情報を表示装置106に表示させ、インストール作業を中止させる。
当該プロダクトキーが有効であると判定された場合、ライセンス管理部51は、受信されたプロダクトキーに係るレコードに記録されている情報(パッケージ情報)をパッケージ情報取得部114に返信する(S304)。したがって、パッケージ情報には、少なくとも当該プロダクトキーに関連付けられているプロダクトID(すなわち、カレントアプリケーションのプロダクトID)が含まれている。
パッケージ情報取得部114によってパッケージ情報が受信されると、機器管理装置10のUI制御部111は、受信されたパッケージ情報を含む画面(確認画面)を表示装置106に表示させ、カレントアプリケーションの内容及びそのライセンスの内容をユーザに確認させる(S305)。
ユーザによって、インストール作業の継続指示が入力されると(例えば、確認画面においてOKボタンが押下されると)、インストール先受付部116は、画像形成装置20の一覧を含む機器選択画面を表示装置106に表示させ、カレントアプリケーションをインストールする画像形成装置20をユーザに選択させる(S306)。機器選択画面においては、管理対象機器一覧記憶部113に記録された画像形成装置20の一覧が表示され、当該一覧の中から一つ以上の画像形成装置20を選択することが可能である。
続いて、機器情報取得部115は、機器選択画面において選択された各画像形成装置20に対して機器情報取得要求を送信する(S307)。この際、機器情報取得部115は、画像形成装置20ごとに、管理対象機器一覧記憶部113に記録されているIPアドレス及びポート番号に基づいて機器情報取得要求を送信する。したがって、機器情報取得要求は、機種に応じたポート宛に送信される。
機器情報の取得要求を受信した各画像形成装置20の要求処理部21は、当該画像形成装置20の機体番号を含む情報を機器情報として機器情報取得部115に返信する(S308)。なお、機器情報には、当該画像形成装置にインストールされているアプリケーションの一覧情報が含まれていてもよい。
続くステップS309は、機器情報が取得された(機器選択画面で選択された)画像形成装置20ごとに実行されるループ処理である。ループ処理において処理対象とされる画像形成装置20を以下、「カレント機器」という。
続いて、パッケージ取得部117は、カレントアプリケーションのプロダクトID及びカレント機器の機種IDを指定してダウンロード要求をパッケージ管理サーバ60に送信する(S309−1)。パッケージ管理サーバ60のパッケージ管理部61は、指定されたプロダクトIDに対応するアプリケーションを、機種IDに対応するパッケージ記憶部62より取得し、取得されたアプリケーションをパッケージ取得部117に返信する(S309−2)。すなわち、機種IDが機種Aを示すものである場合、パッケージ管理部61は、パッケージ記憶部62Aよりアプリケーションを取得する。機種IDが機種Bを示すものである場合、パッケージ管理部61は、パッケージ記憶部62Bよりアプリケーションを取得する。
なお、カレントアプリケーションが複数の場合、ダウンロード(S309−1、S309−2)は複数回繰り返される。カレントパッケージが複数である場合とは、ステップS301において複数のプロダクトキーが入力された場合等である。
続いて、ライセンス取得部118は、ステップS301において入力されたプロダクトキーと、カレントアプリケーションのプロダクトIDと、カレント機器の機体番号とを指定して、ライセンスの使用要求をライセンス管理サーバ50に送信する(S309−3)
ライセンス管理サーバ50のライセンス管理部51は、ライセンス管理テーブル52を更新し、ライセンスファイル90を生成する。ライセンス管理サーバ50においては、ライセンスの使用要求に指定されているプロダクトIDに係るレコード(以下、「対象レコード」という。)が更新対象とされる。具体的には、対象レコードに対して、受信された機体番号が記録され、対象レコードのステータスが「チェックアウト」とされる。また、現時点(現在の年月日)に対象レコードの有効期間を加算した時期を示す値が対象レコードの有効期限に記録される。また、現在の年月日が対象レコードのライセンス発行日に記録される。対象レコードが更新されることにより、同一のプロダクトキーに対してライセンス可能な範囲を超えてライセンスファイルが発行されることが防止される。
ライセンスファイル90は、例えば、図11に示されるような構成を有するように生成される。
図11は、ライセンスファイルの構成例を示す図である。同図において、ライセンスファイル90は、プロダクトID、機体番号、及び有効期限を含む。プロダクトIDは、当該ライセンスファイルによってライセンスが付与される(利用が許可される)アプリケーションのプロダクトIDである。機体番号は、当該ライセンスファイルによってプロダクトIDに係るアプリケーションの利用が許可される画像形成装置20の機体番号である。有効期限は、当該ライセンスファイルの有効期限、すなわち、当該ライセンスファイル90によって付与されるライセンスの有効期限である。
ライセンスファイルのプロダクトIDには、ライセンスの使用要求に含まれているプロダクトキーに係るプロダクトID(対象レコードのプロダクトID)が記録される。ライセンスファイルの機体番号には、ライセンスの発行要求に含まれている機体番号が記録される。ライセンスファイルの有効期限には、対象レコードに記録された有効期限が記録される。
ライセンス管理部51は、生成されたラインセンスファイル50をライセンス取得部118に返信する(S309−4)。
続いて、インストール制御部119は、ステップS309−2において取得されているアプリケーション(カレントアプリケーション)、及びステップS309−4において取得されているライセンスファイル90をカレント機器に送信し、当該アプリケーションのインストール及びアクティベーションをカレント機器に要求する(S309−5)。当該要求は、管理対象機器一覧記憶部113に記録されているIPアドレス及びポート番号に基づいて機器情報取得要求を送信される。したがって、当該要求は、カレント機器の機種に応じたポート宛に送信される。
カレント機器の要求処理部21は、当該アプリケーションをインストールし、ライセンスファイル90を所定の記憶領域に記録する。
画像形成装置20において、ライセンスファイル90は、インストールされたアプリケーションの起動の際に実行される、ライセンスチェック部22によるライセンスチェックに利用される。すなわち、ライセンスチェック部22は、起動対象とされたアプリケーションに対応するライセンスファイル90が存在すること、当該ライセンスファイル90の機体番号とアプリケーションが起動されようとしている画像形成装置20の機体番号とが一致すること、及び当該ライセンスファイル90の有効期限が切れてないことが満たされている場合、当該アプリケーションの起動を許可する。それ以外の場合は、当該アプリケーションの起動は許可されない。
上述したように、本実施の形態の機器管理装置10は、画像形成装置20が対応するポート番号及び画像形成装置20の機種を自動的に判定する。また、自動的に判定されたポート番号に基づいて画像形成装置20との通信を行う。また、自動的に判定された機種に基づいてインストール先の画像形成装置20の機種に対応したアプリケーションを取得し、当該画像形成装置20に当該アプリケーションをインストールさせる。
したがって、ユーザは、各画像形成装置20が対応するポート番号や、各画像形成装置20の機種を自ら確認したり、機種の違いに応じた操作を意識したりする必要はない。その結果、複数の画像形成装置20に対するアプリケーションの導入作業の作業負担が軽減される。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。