(57)【特許請求の範囲】
【請求項１】
電子機器用のプログラムのライセンスを識別するライセンス識別情報及び前記ライセンス識別情報に係る前記プログラムのライセンスの使用状態を示すライセンス状態情報を関連付けて記憶するライセンス管理装置とネットワークを介して接続されるライセンス導入支援装置であって、
前記ライセンス識別情報が指定されたライセンスの導入要求を受け付ける要求受付手段と、
前記ライセンスの導入先の電子機器の指定を受け付ける導入先受付手段と、
前記ライセンス識別情報を指定して当該ライセンス識別情報に対応するライセンスファイルを前記ライセンス管理装置より取得し、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスの使用中であることを示す情報に更新させ、前記ライセンスファイルを前記導入先の電子機器に関連付けて処理状態記憶手段に記録するライセンス取得手段と、
取得された前記ライセンスファイルをネットワークを介して前記導入先の電子機器に送信し、前記ライセンスファイルの導入を前記電子機器に実行させ、該導入の成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録する導入制御手段と、
前記処理状態記憶手段に基づいて前記導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手段に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルの送信を前記導入制御手段に再実行させる再実行制御手段とを有するライセンス導入支援装置。
【請求項２】
前記導入先受付手段は、複数の前記電子機器の指定を受け付け、
前記導入制御手段は、前記電子機器ごとに、前記導入の成否を示す情報を前記処理状態記憶手段に記録し、
前記再実行制御手段は、前記処理状態記憶手段に基づいていずれかの前記電子機器に対する前記ライセンスファイルの導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手段に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルの送信を前記導入制御手段に再実行させる請求項１記載のライセンス導入支援装置。
【請求項３】
前記要求受付手段は、前記ライセンス識別情報が指定されたライセンスの解放要求を受け付け、
前記解放要求において指定された前記ライセンス識別情報を指定したライセンスの解放要求を前記ライセンス管理装置に送信することにより、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスは使用されていないことを示す情報に更新させ、前記ライセンスは解放されたことを示す情報を前記処理状態記憶手段に記録するライセンス解放手段と、
前記ライセンス識別情報に係る前記ライセンスファイルの削除要求を前記電子機器に送信し、該ライセンスファイルの削除を前記電子機器に実行させ、該削除の成否を示す情報を前記処理状態記憶手段に記録する削除制御手段とを有し、
前記再実行制御手段は、前記処理状態記憶手段に基づいて前記削除に失敗していると判定される場合に、該削除に失敗したことを示す画面を表示手段に表示させ、該画面に基づく入力に応じ、前記ライセンスファイルの削除を前記削除制御手段に再実行させる請求項１又は２記載のライセンス導入支援装置。
【請求項４】
前記ライセンス管理装置は、前記ライセンス識別情報、前記プログラムの製品識別子、及び前記ライセンス状態情報を関連付けて記憶し、
当該ライセンス導入支援装置は、前記プログラムの前記製品識別子及び前記プログラムを関連付けて記憶するプログラム管理装置とネットワークを介して接続され、
前記ライセンスの導入要求において指定された前記ライセンス識別情報に関連付けられている前記製品識別子を前記ライセンス管理装置より取得する製品情報取得手段と、
前記製品情報取得手段によって取得された前記製品識別子に係る前記プログラムを前記プログラム管理装置より取得し、取得された前記プログラムを前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するプログラム取得手段と、
前記取得されたプログラムを前記導入先の電子機器に送信し、該プログラムのインストールを前記電子機器に実行させ、該インストールの成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するインストール制御手段とを有し、
前記再実行制御手段は、前記処理状態記憶手段に基づいて前記インストールに失敗していると判定される場合に、該インストールに失敗したことを示す画面を表示手段に表示させ、該画面に基づく入力に応じ、前記インストールの失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記プログラムの送信を前記インストール制御手段に再実行させる請求項１乃至３いずれか一項記載のライセンス導入支援装置。
【請求項５】
電子機器用のプログラムのライセンスを識別するライセンス識別情報及び前記ライセンス識別情報に係る前記プログラムのライセンスの使用状態を示すライセンス状態情報を関連付けて記憶するライセンス管理装置とネットワークを介して接続されるコンピュータが実行するライセンス導入支援方法であって、
前記ライセンス識別情報が指定されたライセンスの導入要求を受け付ける要求受付手順と、
前記ライセンスの導入先の電子機器の指定を受け付ける導入先受付手順と、
前記ライセンス識別情報を指定して当該ライセンス識別情報に対応するライセンスファイルを前記ライセンス管理装置より取得し、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスの使用中であることを示す情報に更新させ、前記ライセンスファイルを前記導入先の電子機器に関連付けて処理状態記憶手段に記録するライセンス取得手順と、
取得された前記ライセンスファイルをネットワークを介して前記導入先の電子機器に送信し、前記ライセンスファイルの導入を前記電子機器に実行させ、該導入の成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録する導入制御手順と、
前記処理状態記憶手段に基づいて前記導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルについて前記導入制御手順を再実行させる再実行制御手順とを有するライセンス導入支援方法。
【請求項６】
前記導入先受付手順は、複数の前記電子機器の指定を受け付け、
前記導入制御手順は、前記電子機器ごとに、前記導入の成否を示す情報を前記処理状態記憶手段に記録し、
前記再実行制御手順は、前記処理状態記憶手段に基づいていずれかの前記電子機器に対する前記ライセンスファイルの導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルについて前記導入制御手順を再実行させる請求項５記載のライセンス導入支援方法。
【請求項７】
前記要求受付手順は、前記ライセンス識別情報が指定されたライセンスの解放要求を受け付け、
前記解放要求において指定された前記ライセンス識別情報を指定したライセンスの解放要求を前記ライセンス管理装置に送信することにより、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスは使用されていないことを示す情報に更新させ、前記ライセンスは解放されたことを示す情報を前記処理状態記憶手段に記録するライセンス解放手順と、
前記ライセンス識別情報に係る前記ライセンスファイルの削除要求を前記電子機器に送信し、該ライセンスファイルの削除を前記電子機器に実行させ、該削除の成否を示す情報を前記処理状態記憶手段に記録する削除制御手順とを有し、
前記再実行制御手順は、前記処理状態記憶手段に基づいて前記削除に失敗していると判定される場合に、該削除に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記削除制御手順を再実行させる請求項５又は６記載のライセンス導入支援方法。
【請求項８】
前記ライセンス管理装置は、前記ライセンス識別情報、前記プログラムの製品識別子、及び前記ライセンス状態情報を関連付けて記憶し、
前記コンピュータは、前記プログラムの前記製品識別子及び前記プログラムを関連付けて記憶するプログラム管理装置とネットワークを介して接続され、
前記ライセンスの導入要求において指定された前記ライセンス識別情報に関連付けられている前記製品識別子を前記ライセンス管理装置より取得する製品情報取得手順と、
前記製品情報取得手順において取得された前記製品識別子に係る前記プログラムを前記プログラム管理装置より取得し、取得された前記プログラムを前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するプログラム取得手順と、
前記取得されたプログラムを前記導入先の電子機器に送信し、該プログラムのインストールを前記電子機器に実行させ、該インストールの成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するインストール制御手順とを有し、
前記再実行制御手順は、前記処理状態記憶手段に基づいて前記インストールに失敗していると判定される場合に、該インストールに失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記インストールの失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記プログラムについて前記インストール制御手順を再実行させる請求項５乃至７いずれか一項記載のライセンス導入支援方法。
【請求項９】
電子機器用のプログラムのライセンスを識別するライセンス識別情報及び前記ライセンス識別情報に係る前記プログラムのライセンスの使用状態を示すライセンス状態情報を関連付けて記憶するライセンス管理装置とネットワークを介して接続されるコンピュータに、
前記ライセンス識別情報が指定されたライセンスの導入要求を受け付ける要求受付手順と、
前記ライセンスの導入先の電子機器の指定を受け付ける導入先受付手順と、
前記ライセンス識別情報を指定して当該ライセンス識別情報に対応するライセンスファイルを前記ライセンス管理装置より取得し、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスの使用中であることを示す情報に更新させ、前記ライセンスファイルを前記導入先の電子機器に関連付けて処理状態記憶手段に記録するライセンス取得手順と、
取得された前記ライセンスファイルをネットワークを介して前記導入先の電子機器に送信し、前記ライセンスファイルの導入を前記電子機器に実行させ、該導入の成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録する導入制御手順と、
前記処理状態記憶手段に基づいて前記導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルについて前記導入制御手順を再実行させる再実行制御手順とを実行させるためのライセンス導入支援プログラム。
【請求項１０】
前記導入先受付手順は、複数の前記電子機器の指定を受け付け、
前記導入制御手順は、前記電子機器ごとに、前記導入の成否を示す情報を前記処理状態記憶手段に記録し、
前記再実行制御手順は、前記処理状態記憶手段に基づいていずれかの前記電子機器に対する前記ライセンスファイルの導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルについて前記導入制御手順を再実行させる請求項９記載のライセンス導入支援プログラム。
【請求項１１】
前記要求受付手順は、前記ライセンス識別情報が指定されたライセンスの解放要求を受け付け、
前記解放要求において指定された前記ライセンス識別情報を指定したライセンスの解放要求を前記ライセンス管理装置に送信することにより、当該ライセンス識別情報に係る前記ライセンス状態情報をライセンスは使用されていないことを示す情報に更新させ、前記ライセンスは解放されたことを示す情報を前記処理状態記憶手段に記録するライセンス解放手順と、
前記ライセンス識別情報に係る前記ライセンスファイルの削除要求を前記電子機器に送信し、該ライセンスファイルの削除を前記電子機器に実行させ、該削除の成否を示す情報を前記処理状態記憶手段に記録する削除制御手順とを有し、
前記再実行制御手順は、前記処理状態記憶手段に基づいて前記削除に失敗していると判定される場合に、該削除に失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記削除制御手順を再実行させる請求項９又は１０記載のライセンス導入支援プログラム。
【請求項１２】
前記ライセンス管理装置は、前記ライセンス識別情報、前記プログラムの製品識別子、及び前記ライセンス状態情報を関連付けて記憶し、
前記コンピュータは、前記プログラムの前記製品識別子及び前記プログラムを関連付けて記憶するプログラム管理装置とネットワークを介して接続され、
前記ライセンスの導入要求において指定された前記ライセンス識別情報に関連付けられている前記製品識別子を前記ライセンス管理装置より取得する製品情報取得手順と、
前記製品情報取得手順において取得された前記製品識別子に係る前記プログラムを前記プログラム管理装置より取得し、取得された前記プログラムを前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するプログラム取得手順と、
前記取得されたプログラムを前記導入先の電子機器に送信し、該プログラムのインストールを前記電子機器に実行させ、該インストールの成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録するインストール制御手順とを有し、
前記再実行制御手順は、前記処理状態記憶手段に基づいて前記インストールに失敗していると判定される場合に、該インストールに失敗したことを示す画面を表示手順に表示させ、該画面に基づく入力に応じ、前記インストールの失敗を示す情報が記録されている前記電子機器に関連付けられて前記処理状態記憶手段に記録されている前記ライセンスファイルについて前記インストール制御手順を再実行させる請求項９乃至１１いずれか一項記載のライセンス導入支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラムに関し、特に電子機器用のプログラムのライセンスの導入を支援するライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラムに関する。
【背景技術】
【０００２】
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に新たなアプリケーションの開発や開発されたアプリケーションのインストールが可能とされているものがある。斯かるアプリケーションを利用するためのライセンスを、アプリケーションの実体と分離してユーザの利用形態に合わせて提供することができればユーザにとって便宜であるばかりでなく、アプリケーションを販売する側にとってもビジネスチャンスの拡大を期待できる。
【０００３】
但し、多数の画像形成装置を利用しているユーザ環境において、ライセンスの導入を画像形成装置ごとに行うのは非常に煩雑であるという問題がある。そこで、特許文献１には、複数の画像形成装置に対するアプリケーションのライセンスの導入作業等をライセンス取得装置によって一括して行うことが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ライセンスの発行元であるライセンスサーバと、ライセンスに基づいてアプリケーションを実行させる画像形成装置との間にライセンス取得装置が介在することにより、ライセンスサーバ側のライセンスの管理状態と、画像形成装置側のライセンスの導入状態の実態との間に不整合が生じる可能性が高まるという問題がある。例えば、ライセンスサーバからライセンス取得装置へのライセンスの発行は成功したにも拘わらず、ライセンス取得装置から画像形成装置へのライセンスの配布（ライセンスの導入）には失敗してしまう可能性がある。このような場合、画像形成装置にはライセンスは導入されていないにも拘わらず、ライセンスサーバにおいてはライセンスは発行済みであると認識されてしまう。そうすると、ライセンスサーバに対して再度ライセンスの発行要求を行っても、ライセンスは既に発行済みであるとして拒否されてしまい、画像形成装置上においてアプリケーションを利用することができないという事態が発生しうる。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、プログラムのライセンスの導入に関する処理が途中で失敗した場合であっても適切に修復することのできるライセンス導入支援装置、ライセンス導入支援方法、及びライセンス導入支援プログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、電子機器用のプログラムのライセンスを識別するライセンス識別子及び前記ライセンス識別子に係る前記プログラムのライセンスの使用状態を示すライセンス状態情報を関連付けて記憶するライセンス管理装置とネットワークを介して接続されるライセンス導入支援装置であって、前記ライセンス識別子が指定されたライセンスの導入要求を受け付ける要求受付手段と、前記ライセンスの導入先の電子機器の指定を受け付ける導入先受付手段と、前記ライセンス識別子を指定して当該ライセンス識別子に対応するライセンスファイルを前記ライセンス管理装置より取得し、当該ライセンス識別子に係る前記ライセンス状態情報をライセンスの使用中であることを示す値に更新させ、前記ライセンスファイルを前記導入先の電子機器に関連付けて処理状態記憶手段に記録するライセンス取得手段と、取得された前記ライセンスファイルをネットワークを介して前記導入先の電子機器に送信し、前記ライセンスファイルの導入を前記電子機器に実行させ、該導入の成否を示す情報を前記導入先の電子機器に関連付けて前記処理状態記憶手段に記録する導入制御手段と、前記処理状態記憶手段に基づいて前記導入に失敗していると判定される場合に、該導入に失敗したことを示す画面を表示手段に表示させ、該画面に基づく入力に応じ、前記処理状態記憶手段において前記導入の失敗を示す情報が記録されている前記電子機器に関連付けられている前記ライセンスファイルの送信を前記導入制御手段に再実行させる再実行制御手段とを有する。
【０００７】
このようなライセンス導入支援装置では、プログラムのライセンスの導入に関する処理が途中で失敗した場合であっても適切に修復することができる。
【発明の効果】
【０００８】
本発明によれば、プログラムのライセンスの導入に関する処理が途中で失敗した場合であっても適切に修復することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における機器管理システムのシステム構成例を示す図である。
【図２】販売パッケージの構成例を示す図である。
【図３】販売パッケージ情報の構成例を示す図である。
【図４】機能パッケージ情報の構成例を示す図である。
【図５】本発明の実施の形態における機器管理システムの機能構成例を示す図である。
【図６】本発明の実施の形態における機器管理装置のハードウェア構成例を示す図である。
【図７】販売パッケージのインストール及びアクティベーションの処理手順を説明するためのシーケンス図である。
【図８】プロダクトキーの構成例を示す図である。
【図９】ライセンス管理テーブルの構成例を示す図である。
【図１０】パッケージ情報取得後の処理状態記憶部の記憶内容の例を示す図である。
【図１１】インストール情報管理テーブルの構成例を示す図である。
【図１２】機器情報取得後の処理状態記憶部の記憶内容の例を示す図である。
【図１３】機器管理テーブルの構成例を示す図である。
【図１４】依存関係管理テーブルの構成例を示す図である。
【図１５】パッケージ管理テーブルの構成例を示す図である。
【図１６】販売パッケージダウンロード後の処理状態記憶部の記憶内容の例を示す図である。
【図１７】ライセンスファイルの構成例を示す図である。
【図１８】ライセンスファイル取得後の処理状態記憶部の記憶内容の例を示す図である。
【図１９】再実行処理の処理手順を説明するためのフローチャートである。
【図２０】ライセンス管理部によるライセンスファイル生成処理の処理手順を説明するためのフローチャートである。
【図２１】販売パッケージのアンインストール及びディアクティベーションの処理手順を説明するためのシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における機器管理システムのシステム構成例を示す図である。同図の機器管理システム１において、ユーザ環境Ｅ１は、画像形成装置２０のユーザ（顧客）のシステム環境である。例えば、ユーザ環境Ｅ１は、画像形成装置２０のユーザの企業又はオフィス等に相当する。ユーザ環境Ｅ１において、一台以上の画像形成装置２０及び機器管理装置１０等は、ＬＡＮ（Local Area Network）等のネットワーク３０（有線又は無線の別は問わない。）を介して接続されている。画像形成装置２０は、印刷、スキャン、コピー、及びファクス送受信等の複数の機能を一台の筐体において実現する複合機であり、電子機器の一例である。但し、画像形成装置１０は、必ずしも複合機でなくてもよい。プリンタやスキャナ等、単一の機能を実現する機器であってもよい。画像形成装置２０は、プログラムコンポーネント（以下、単に「コンポーネント」という。）を追加又は更新することにより随時機能拡張等を図ることができる。
【００１１】
機器管理装置１０は、ユーザ環境Ｅ１における画像形成装置２０において動作するコンポーネントや当該コンポーネントのライセンス（利用権限）の取得及び導入等を一括して行うＰＣ（Personal Computer）等のコンピュータであり、ライセンス導入支援装置の一例である。なお、ユーザ環境Ｅ１は、ユーザ数（企業又はオフィス単位のユーザ数）に応じて複数存在しうる。
【００１２】
一方、メーカー環境Ｅ２は、画像形成装置２０に追加されるコンポーネントの販売者側のシステム環境である。例えば、メーカー環境Ｅ２は、画像形成装置２０のメーカーによって運営される。メーカー環境Ｅ２は、ライセンス管理サーバ５０及びパッケージ管理サーバ６０等を有する。
【００１３】
ライセンス管理サーバ５０は、ユーザによって購入されたコンポーネントのライセンスを管理するコンピュータである。パッケージ管理サーバ６０は、コンポーネントの実体を管理するコンピュータである。
【００１４】
なお、ユーザ環境Ｅ１とメーカー環境Ｅ２とはインターネット等のネットワーク７０を介して接続されている。
【００１５】
本実施の形態におけるコンポーネントは、販売パッケージと呼ばれる単位で流通する。また、複数の販売パッケージの集合がセットとして流通単位となる場合もある。複数の販売パッケージの集合を、本実施の形態では「グループ」という。
【００１６】
図２は、販売パッケージの構成例を示す図である。同図に示されるように、一つの販売パッケージは、一つの販売パッケージ情報ファイルと、一つ以上の機能パッケージを含む書庫ファイルとして構成される。
【００１７】
販売パッケージ情報ファイルは、販売パッケージの属性情報（販売パッケージ情報）が記録されたファイルである。
【００１８】
図３は、販売パッケージ情報の構成例を示す図である。同図において、販売パッケージ情報は、プロダクトＩＤ、バージョン、名称、説明、及びベンダ名等を含む。
【００１９】
プロダクトＩＤは、各販売パッケージ及び各機能パッケージに一意に割り当てられた識別子（製品識別子）である。バージョンは、販売パッケージのバージョン番号である。名称は、販売パッケージの名前である。説明は、販売パッケージに関する説明である。ベンダ名は、販売パッケージのベンダ（開発者）の名前である。
【００２０】
図２に戻る。機能パッケージは、機能単位でパッケージ化されたソフトウェアパッケージである。一つの機能パッケージは、一つの機能パッケージ情報ファイルと一つのコンポーネントの実体とを含む書庫ファイル（例えば、ＪＡＲ（Java（登録商標） Archive）ファイル）として構成される。
【００２１】
機能パッケージ情報ファイルは、機能パッケージの属性情報（機能パッケージ情報）が記録されたファイルである。
【００２２】
図４は、機能パッケージ情報の構成例を示す図である。同図において、機能パッケージ情報は、プロダクトＩＤ、バージョン、名称、説明、ベンダ名、及びパッケージ依存情報等を含む。
【００２３】
プロダクトＩＤは、機能パッケージに対するプロダクトＩＤである。バージョンは、機能パッケージのバージョン番号である。名称は、機能パッケージの名前である。説明は、機能パッケージに関する説明である。ベンダ名は、機能パッケージのベンダ（開発者）の名前である。
【００２４】
なお、同図では、三つの販売パッケージによって１つのグループが構成されている。グループに属する販売パッケージであっても単独で流通しうる。
【００２５】
図５は、本発明の実施の形態における機器管理システムの機能構成例を示す図である。
【００２６】
同図において、画像形成装置２０は、要求処理部２１、ライセンスチェック部２２、及びインストール情報管理テーブル２３等を有する。要求処理部２１は、機器管理装置１０からの要求に応じ、機器情報の送信、販売パッケージのインストール、ライセンスファイル９０の導入、販売パッケージのアンインストール、及びライセンスファイル９０の削除等を行う。
【００２７】
ライセンスファイル９０とは、販売パッケージに対するライセンスを証明するデータ（販売パッケージの利用を許可するためのデータ）が記録されたファイルである。すなわち、本実施の形態における販売パッケージ（コンポーネント）は、その実体を入手するだけでは画像形成装置２０において利用することはできない。販売パッケージは、ライセンスファイル９０が画像形成装置２０に導入されることにより利用可能となる。
【００２８】
ライセンスチェック部２２は、販売パッケージが利用される際に、ライセンスファイル９０に基づいて利用の許否を判定する。インストール情報管理テーブル２３は、画像形成装置２０にインストールされている販売パッケージ等の情報を管理するテーブルであり、画像形成装置２０の記憶装置に記憶されている。
【００２９】
ライセンス管理サーバ５０は、ライセンス管理部５１及びライセンス管理テーブル５２等を有する。ライセンス管理部５１は、販売パッケージに関するライセンスの発行、ライセンスの解放等、ライセンス管理テーブル５２を用いてライセンスの管理を行う。ライセンス管理テーブル５２は、販売パッケージのライセンスの状態等が記録されるテーブルであり、ライセンス管理サーバ５０の記憶装置に記憶されている。
【００３０】
パッケージ管理サーバ６０は、妥当性検証部６１、パッケージ管理部６２、依存関係管理テーブル６３、パッケージ管理テーブル６４、及びパッケージ記憶部６５等を有する。
【００３１】
妥当性検証部６１は、インストール対象とされている販売パッケージに含まれている機能パッケージの依存関係が、インストール先の画像形成装置２０に既にインストールされている機能パッケージ等によって解決されるか否かを依存関係管理テーブル６３を参照して判定する。具体的には、妥当性検証部６１は、インストール対象とされている販売パッケージに含まれている機能パッケージの依存先の機能パッケージ等が、既に画像形成装置２０にインストールされているか否か等を判定する。
【００３２】
パッケージ管理部６２は、パッケージ記憶部６５に記録されている販売パッケージの管理を行う。例えば、パッケージ管理部６２は、販売パッケージのダウンロード要求の受信に応じ、当該販売パッケージをパッケージ記憶部６５より取得し、要求元に返信する。
【００３３】
依存関係管理テーブル６３は、機能パッケージ間及び機能パッケージとファームウェア間の依存関係を示す情報が記録されたテーブルであり、パッケージ管理サーバ６０の記憶装置に記憶されている。パッケージ管理テーブル６４は、販売パッケージと機能パッケージとの関連付け情報を管理するテーブルであり、パッケージ管理サーバ６０の記憶装置に記憶されている。パッケージ記憶部６５は、パッケージ管理サーバ６０の記憶装置において、販売パッケージやファームウェア等のコンポーネントの実体をそれぞれのプロダクトＩＤと関連付けて記憶する記憶領域である。
【００３４】
機器管理装置１０は、ＵＩ制御部１１１、パッケージ情報取得部１１２、機器情報取得部１１３、インストール先受付部１１４、妥当性確認部１１５、パッケージ取得部１１６、ライセンス取得部１１７、インストール制御部１１８、アクティベート部１１９、アンインストール先判定部１２０、ディアクティベート部１２１、アンインストール制御部１２２、再実行制御部１２３、及び処理状態記憶部１２４等を有する。これら各部は、機器管理装置１０にインストールされたプログラムが機器管理装置１０のＣＰＵに実行させる処理によって実現される。
【００３５】
ＵＩ制御部１１１は、ユーザによる指示（販売パッケージのインストール又はアンインストール等の指示等）を受け付ける。パッケージ情報取得部１１２は、インストール又はアンインストール対象とされた販売パッケージに関する情報をライセンス管理サーバ５０より取得する。機器情報取得部１１３は、画像形成装置２０より機器情報を取得する。機器情報には、画像形成装置２０にインストールされている販売パッケージ及びファームウェアに関する情報が含まれる。インストール先受付部１１４は、販売パッケージのインストール先とする画像形成装置２０の指定をユーザより受け付ける。妥当性確認部１１５は、インストール対象とされた販売パッケージについて、インストール先とされた画像形成装置２０へのインストールの妥当性の検証をパッケージ管理サーバ６０の妥当性検証部６１に実行させる。
【００３６】
パッケージ取得部１１６は、インストール対象の販売パッケージをパッケージ管理サーバ６０よりダウンロード（取得）する。ライセンス取得部１１７は、インストール対象の販売パッケージに関するライセンスファイル９０をライセンス管理サーバ５０より取得する。インストール制御部１１８は、販売パッケージを画像形成装置２０に送信することにより、画像形成装置２０に販売パッケージのインストール処理を実行させる。アクティベート部１１９は、ライセンスファイル９０を画像形成装置２０に送信することにより、画像形成装置２０にライセンスの導入処理を実行させる。
【００３７】
アンインストール先判定部１２０は、アンインストール対象とされた販売パッケージがインストールされている画像形成装置２０を判定する。ディアクティベート部１２１は、画像形成装置２０に対してライセンスファイル９０の削除要求を送信し、ライセンス管理サーバ５０に対して当該ライセンスファイル９０に係るライセンスの解放を要求する。アンインストール制御部１２２は、販売パッケージのアンインストールを画像形成装置２０に要求する。
【００３８】
再実行制御部１２３は、処理状態記憶部１２４に記録された情報に基づいて、販売パッケージのインストール処理及びライセンスの導入処理、又はライセンスの解放処理及び販売パッケージのアンインストール処理等に関する一連の処理の成否を判定する。再実行制御部１２３は、該一連の処理の途中においてエラーが発生し、処理が中断されている場合は、中断された箇所から処理を再開させる。処理状態記憶部１２４は、補助記憶装置１０２において、販売パッケージのインストール等又は販売パッケージのアンインストール等に関する一連の処理の進行に応じて、そのときの処理状態が逐次記録される記憶手段である。処理状態記憶部１２４は、例えば、一つのファイル（例えば、書庫ファイル）であってもよいし、フォルダ等であってもよい。
【００３９】
図６は、本発明の実施の形態における機器管理装置のハードウェア構成例を示す図である。図６の機器管理装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５と、表示装置１０６と、入力装置１０７とを有する。
【００４０】
機器管理装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００４１】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って機器管理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００４２】
以下、機器管理システム１の処理手順について説明する。図７は、販売パッケージのインストール及びアクティベーションの処理手順を説明するためのシーケンス図である。同図において、画像形成装置２０のユーザは、販売パッケージに係るいずれかの商品を購入し、当該商品のプロダクトキーを入手済みであるとする。
【００４３】
本実施の形態において、商品は、販売パッケージ又はグループと、そのライセンスの内容とによって構成される概念である。したがって、同一の販売パッケージであってもライセンスの内容（ライセンス形態、ライセンス有効期間、ライセンスボリューム数等）が異なれば、異なる商品として扱われる。ライセンス形態とは、商品に属する販売パッケージに関するライセンスについて売り切り型、時限ライセンス、及びトライアルライセンス等の別を示す情報である。売り切り型は、購入後無期限に使用可能なライセンスである。時限ライセンスは、所定期間に限り有効な（使用可能な）ライセンスである。トライアルライセンスは、お試し用としての使用に対するライセンスである。ライセンス有効期間は、ライセンス形態が時限ライセンス又はトライアルライセンスの場合に有効な属性であり、ライセンスが有効な期間を示す。ボリューム数は、ライセンスのボリューム数である。ボリューム数が２以上の商品を購入した場合、ボリュームライセンスが与えられ、当該ボリューム数の範囲内で同一の販売パッケージの同時使用が許可される。
【００４４】
したがって、商品の購入という行為には、販売パッケージの選択の他に、ライセンスの内容の選択という意思決定も含まれる。
【００４５】
また、プロダクトキーとは、商品が購入されるごとに一意に発行される（又は割り当てられる）識別子であり、商品に含まれる販売パッケージに対するライセンス（利用権限）を識別する情報（ライセンス識別子）として、また、商品の正当な購入者であることを証明するための情報として用いられる。なお、本実施の形態において、プロダクトＩＤとプロダクトキーとは明確に区別される。すなわち、プロダクトＩＤは、製品としての販売パッケージの異同を区別するものであるのに対し、プロダクトキーは、商品の購入という行為を区別するためのものである。したがって、同一のプロダクトＩＤに係る販売パッケージに対し、商品の購入のたびに異なるプロダクトキーが発行される。
【００４６】
なお、商品の購入の形態は所定のものに限定されない。店頭における取引によって購入されてもよいし、電子的な取引によって（例えば、Ｗｅｂサイトを利用して）購入されてもよい。前者の場合、プロダクトキーは、販売パッケージが記録されたＣＤ−ＲＯＭ等に貼付されているのが一般的であろう。後者の場合、商品を購入したＷｅｂサイトにおいて、購入確定時にＷｅｂページ上にプロダクトキーが表示されてもよいし、電子メールによってプロダクトキーが通知されてもよい。図７では、ユーザが、購入した商品に係る販売パッケージに関するインストール及びアクティベーション（ライセンスの取得）を機器管理装置１０を利用して各画像形成装置２０に対して行う場面を想定する。
【００４７】
機器管理装置１０のＵＩ制御部１１１は、表示装置１０６に表示させている初期画面を介して販売パッケージのインストールの開始指示の入力を受け付けると、プロダクトキー入力画面を表示装置１０６に表示させる（Ｓ１０１）。インストール対象の販売パッケージ（以下、「カレント販売パッケージ」という。）のプロダクトキーがプロダクトキー入力画面を介してユーザによって入力されると（Ｓ１０２）、パッケージ情報取得部１１２は、入力されたプロダクトキーを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンス管理サーバ５０に送信する（Ｓ１０３）。
【００４８】
図８は、プロダクトキーの構成例を示す図である。同図に示されるように、プロダクトキーは、ユニークＩＤ、商品ＩＤ、ライセンス形態、及びグループライセンスフラグ等を含むデータである。
【００４９】
ユニークＩＤは、プロダクトキーの生成に伴って生成される一意なＩＤである。すなわち、ユニークＩＤによってプロダクトキーの一意性が確保される。商品ＩＤは、購入された商品の販売パッケージのプロダクトＩＤ又はグループＩＤである。ライセンス形態は、購入した商品のライセンス形態である。グループライセンスフラグは、当該プロダクトキー内の商品ＩＤが、グループＩＤであるか（ｔｒｕｅ）否か（ｆａｌｓｅ）を示すパラメータである。
【００５０】
ライセンス管理サーバ５０のライセンス管理部５１は、パッケージ情報の取得要求の受信に応じ、当該取得要求において指定されているプロダクトキーの有効性をライセンス管理テーブル５２を参照して判定する。
【００５１】
図９は、ライセンス管理テーブルの構成例を示す図である。同図においてライセンス管理テーブル５２は、販売パッケージに関して発行されるライセンスごとに管理番号、プロダクトキー、プロダクトＩＤ、機体番号、ステータス、ライセンス形態、ライセンス有効期間、ライセンス有効期限、及びライセンス発行日等の項目を有する。
【００５２】
これらの項目のうち、管理番号、プロダクトキー、プロダクトＩＤ、ステータス、ライセンス形態、及びライセンス有効期間は、商品が購入された際にライセンス管理テーブル５２にその値が記録される。
【００５３】
一方、機体番号、ライセンス有効期限、及びライセンス発行日は、ライセンスの発行（すなわち、ライセンスファイル９０の発行）に応じてその値が記録される。また、ライセンスの発行に応じて、ステータスの値も更新される。
【００５４】
管理番号は、ライセンス管理テーブル５２に対するレコードの生成に伴って、各レコードに一意に割り当てられる識別子（番号）である。プロダクトキー、プロダクトＩＤ、ライセンス形態、及びライセンス有効期間は、上述した通りである。
【００５５】
機体番号には、ライセンスファイル９０が発行される際に、販売パッケージを利用する機器として指定された画像形成装置２０の機体番号が登録される。機体番号とは、各画像形成装置２０を一意に識別するための識別情報（機器識別子）である。ステータスは、ライセンスの状態を示す情報である。本実施の形態において、ライセンスは、「ライセンス無し」、「チェックアウト」、及び「チェックイン」の状態を有する。「ライセンス無し」は、ライセンスが発行されていない状態である。チェックアウトは、ライセンスが使用されている状態である。チェックインは、ライセンスが解放されている（使用可能な）状態である。ライセンス有効期限は、ライセンスファイル９０が発行される際に、ライセンス有効期間に基づいて算出されるライセンス（ライセンスファイル９０）の有効期限である。ライセンス発行日は、ライセンスファイル９０が発行される際に登録される、ライセンス（ライセンスファイル９０）の発行日である。
【００５６】
なお、同図において、管理番号１〜３のレコードのプロダクトキー及びプロダクトＩＤは共通する。これは、プロダクトキー「ＫＥＹ００１」に係る商品が、ライセンス数が３のボリュームライセンスに係る商品であることを示す。また、管理番号４及び５のレコードについては、プロダクトキーは共通し、プロダクトＩＤは異なる。これは、プロダクトキー「ＫＥＹ００２」に係る商品は、二種類の販売パッケージを含むグループライセンスに係る商品であることを示す。なお、グループライセンスとは、グループに対するライセンスをいう。
【００５７】
以上のようなライセンス管理テーブル５２を用いて、ライセンス管理部５１は、例えば、受信されたプロダクトキーを含むレコードがライセンス管理テーブル５２に登録されており、当該プロダクトキーを含むレコードのステータスが「チェックアウト」でなく、かつ、当該プロダクトキーを含むレコードのライセンス有効期限が現時点を超えていない場合（ライセンス有効期限の値が登録されていない場合も含む。）、当該プロダクトキーは有効であると判定し、それ以外の場合は、当該プロダクトキーは無効であると判定する。
【００５８】
当該プロダクトキーは無効であると判定された場合、ライセンス管理部５１は、プロダクトキーが無効であることを示すエラー情報をパッケージ情報取得部１１２に返信する。この場合、パッケージ情報取得部１１２は、当該エラー情報を表示装置１０６に表示させ、インストール作業を中止させる。
【００５９】
当該プロダクトキーが有効であると判定された場合、ライセンス管理部５１は、受信されたプロダクトキーに係るレコード（ライセンス管理テーブル５２のレコード）に記録されている情報（パッケージ情報）をパッケージ情報取得部１１２に返信する（Ｓ１０４）。したがって、パッケージ情報には、少なくとも当該プロダクトキーに関連付けられているプロダクトＩＤ（すなわち、カレント販売パッケージのプロダクトＩＤ）が含まれている。また、当該プロダクトキーがグループライセンス又はボリュームライセンスに係るものである場合、複数のプロダクトＩＤ（複数のレコード）に係る情報がパッケージ情報に含まれる。
【００６０】
パッケージ情報取得部１１２は、パッケージ情報を受信すると、今回の処理に対する処理状態記憶部１２４を補助記憶装置１０２に生成し、現在の処理状態を保存する（Ｓ１０５）。具体的には、パッケージ情報取得部１１２は、プロダクトキーと、当該パッケージ情報とを処理状態記憶部１２４に記録する。その結果、処理状態記憶部１２４の記憶内容は、図１０に示されるようになる。
【００６１】
図１０は、パッケージ情報取得後の処理状態記憶部の記憶内容の例を示す図である。同図に示されるように、ステップＳ１０４の完了後において、処理状態記憶部１２４には、プロダクトキー及びパッケージ情報が記録されている。
【００６２】
続いて、機器管理装置１０のＵＩ制御部１１１は、受信されたパッケージ情報を含む画面（確認画面）を表示装置１０６に表示させ、カレント販売パッケージの内容及びそのライセンスの内容をユーザに確認させる（Ｓ１０６）。
【００６３】
ユーザによって、インストール作業の継続指示が入力されると（例えば、確認画面においてＯＫボタンが押下されると）、インストール先受付部１１４は、画像形成装置２０の一覧を含む機器選択画面を表示装置１０６に表示させ、カレント販売パッケージをインストールする画像形成装置２０をユーザに選択させる（Ｓ１０７）。機器選択画面においては、複数の画像形成装置２０を選択することも可能である。なお、機器選択画面では、予めそのＩＰアドレス及びホスト名等が補助記憶装置１０２に記憶されている画像形成装置２０が表示対象とされる。または、機器情報取得部１１３が、ブロードキャスト等をネットワーク３０上に発行することにより、ネットワーク３０に接続されている画像形成装置２０を動的に検索し、検索された画像形成装置２０のホスト名等を機器選択画面に表示させてもよい。
【００６４】
続いて、機器情報取得部１１３は、機器選択画面において選択された各画像形成装置２０に対して機器情報の取得要求を送信する（Ｓ１０８）。機器情報の取得要求を受信した各画像形成装置２０の要求処理部２１は、インストール情報管理テーブル２３に記録されている情報を取得し、取得された情報と当該画像形成装置２０の機体番号とを含む情報を機器情報として機器情報取得部１１３に返信する（Ｓ１０９）。
【００６５】
図１１は、インストール情報管理テーブルの構成例を示す図である。同図において、インストール情報管理テーブル２３には、当該画像形成装置２０にインストールされている販売パッケージ又はファームウェアごとに、プロダクトＩＤ、バージョン、機能パッケージのプロダクトＩＤ、アクティベーションフラグ、及び有効期限等が登録されている。
【００６６】
機能パッケージのプロダクトＩＤは、販売パッケージに属する機能パッケージのプロダクトＩＤの一覧である。アクティベーションフラグは、販売パッケージについてアクティベーションされているか否か（アクティベーション済みか否か）を示す。ライセンス有効期限は、販売パッケージに対して発行されたライセンスの有効期限（ライセンスファイル９０の有効期限）である。各機能パッケージのアクティベーションフラグ及びライセンス有効期限は、当該機能パッケージが属する販売パッケージのアクティベーションフラグ及びライセンス有効期限に従う。また、インストール情報管理テーブル２３の内容は、後述される販売パッケージのインストール時に登録される。なお、ステップＳ１０９において返信される機器情報には、インストール情報管理テーブル２３に登録されている全ての情報が含められる。また、ファームウェアとは、機能パッケージより下層に位置するプログラムコンポーネントである。すなわち、ファームウェアは、機能パッケージに比較して基本的な機能を機能パッケージに提供する。ファームウェアは、画像形成装置２０の予め組み込まれているものであり、ファームウェアを利用するためにライセンスの取得の必要はない。したがって、インストール情報管理テーブル２３において、ファームウェアに関するレコードについては、機能パッケージ、アクティベーションフラグ、及びライセンス有効期限の項目は無効である。同図では、便宜上、ファームウェアの情報と販売パッケージの情報とを同じテーブルで管理する例を示しているが、それぞれを別のテーブルで管理してもよい。
【００６７】
続いて、機器情報取得部１１３は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１０）。具体的には、機器情報取得部１１３は、取得された機体番号及び機器情報を画像形成装置２０ごとに含む機器管理テーブルを処理状態記憶部１２４に記録（生成）する。その結果、処理状態記憶部１２４の記憶内容は、図１２に示されるようになる。
【００６８】
図１２は、機器情報取得後の処理状態記憶部の記憶内容の例を示す図である。同図に示されるように、処理状態記憶部１２４には、機器管理テーブルが追加される。
【００６９】
処理状態記憶部１２４に記録される機器管理テーブルは、例えば、図１３に示されるような構成を有する。
【００７０】
図１３は、機器管理テーブルの構成例を示す図である。同図に示されるように、機器管理テーブルは、ＩＰアドレス、機体番号、機器情報、妥当性検証結果、及び作業ステータス等が画像形成装置２０ごとに記録可能なように構成されている。機器情報の取得後においては、ＩＰアドレス、当該ＩＰアドレスに基づいて取得された機体番号及び機器情報が機器管理テーブルに記録される。妥当性検証結果は、後述される妥当性の検証処理の結果を画像形成装置２０ごとに記録するための項目である。作業ステータスは、処理状態を画像形成装置２０ごとに記録するための項目である。したがって、ここでは、機器情報の取得が完了したことを示す値（「機器情報取得完了」）が作業ステータスに記録される。但し、機器情報の取得に失敗した画像形成装置２０が有った場合は、当該画像形成装置２０に対する作業ステータスには、何も記録されない。又は、機器情報の取得に失敗したことを示す値（「機器情報取得失敗」）が記録されてもよい。この場合、当該画像形成装置２０の機体番号及び機器情報は、機器管理テーブルに登録されない。したがって、機器管理テーブルの作業ステータスの値を参照することにより、画像形成装置２０ごとに機器情報の取得の成否を判定することができる。
【００７１】
続くステップＳ１１１は、機器情報の取得に成功した画像形成装置２０ごとに実行されるループ処理である。ループ処理において処理対象とされる画像形成装置２０を以下、「カレント機器」という。なお、機器情報の取得に失敗した画像形成装置２０については、以降の処理は実行されない。
【００７２】
ステップＳ１１１−１において、妥当性確認部１１５は、カレント機器の機器情報と、パッケージ情報取得部１１２によって取得されたパッケージ情報とを含む妥当性検証要求をパッケージ管理サーバ６０に送信する。ここでいう「妥当性」とは、カレント販売パッケージに含まれる機能パッケージをカレント機器にインストールすることの妥当性である。パッケージ管理サーバ６０の妥当性検証部６１は、妥当性検証要求の受信に応じ、依存関係管理テーブル６３を参照して妥当性を検証する。
【００７３】
図１４は、依存関係管理テーブルの構成例を示す図である。同図において、依存関係管理テーブル６３は、機能パッケージごとに当該機能パッケージのプロダクトＩＤ、及び当該機能パッケージが依存する（当該機能パッケージの依存先の）機能パッケージ又はファームウェアのプロダクトＩＤが登録されている。依存する機能パッケージ又はファームウェアのプロダクトＩＤは、複数登録されていてもよい。なお、同図において、「０」は、依存する機能パッケージ等が無いことを示す。
【００７４】
妥当性検証部６１は、妥当性の検証において、カレント販売パッケージに属する機能パッケージのプロダクトＩＤの一覧をパッケージ管理テーブル６４より取得する。
【００７５】
図１５は、パッケージ管理テーブルの構成例を示す図である。同図に示されるように、パッケージ管理テーブル６４には、販売パッケージごとに、プロダクトＩＤ、バージョン、及び機能パッケージのプロダクトＩＤ等が登録されている。機能パッケージのプロダクトＩＤは、販売パッケージに属する機能パッケージのプロダクトＩＤの一覧である。
【００７６】
続いて、妥当性検証部６１は、取得された各機能パッケージのプロダクトＩＤと依存関係管理テーブル６３とに基づいて、当該機能パッケージが依存する機能パッケージ又はファームウェア（以下、「依存先パッケージ」という。）を特定する。依存先パッケージが有る場合、当該依存先パッケージのプロダクトＩＤが機器情報に含まれているか否かを判定する。全ての依存先パッケージのプロダクトＩＤが機器情報に含まれている場合、妥当性検証部６１は、妥当性は有ると判定する。機器情報に含まれていない依存先パッケージ（以下、「未解決パッケージ」という。）が少なくとも一つ存在する場合、妥当性検証部６１は、妥当性は無いと判定する。なお、一つの機能パッケージに対して依存先パッケージは複数存在しうる。また、依存関係の探索は、再帰的に行われる。
【００７７】
続いて、妥当性検証部６１は、妥当性の検証結果を妥当性確認部１１５に返信する（Ｓ１１１−２）。妥当性が無いと判定された場合、検証結果には、未解決パッケージのプロダクトＩＤが含まれる。
【００７８】
続いて、妥当性確認部１１５は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１１−３）。具体的には、妥当性確認部１１５は、機器管理テーブルにおいて、カレント機器に対応するレコードの妥当性検証結果の値として妥当性の検証結果を記録する。したがって、妥当性が無いと判定された場合、未解決パッケージのプロダクトＩＤが、当該レコードの妥当性検証結果に記録される。また、妥当性確認部１１５は、妥当性の検証に成功した場合は、当該レコードの作業ステータスの値を、妥当性の検証が完了したことを示す値（「妥当性検証完了」）に更新する。妥当性の検証の成功とは、妥当性の有無に拘わらず、妥当性の判定自体が正常に行われ、その判定結果を受信できたことをいう。妥当性の検証に失敗した場合、当該レコードの妥当性検証結果には何も記録されず、当該レコードの作業ステータスの値も更新されない。また、妥当性の検証に失敗した場合、カレント機器については以降の処理は実行されず、次の画像形成装置２０についてステップＳ１１１−１以降が実行される。
【００７９】
続いて、パッケージ取得部１１６は、カレント販売パッケージのプロダクトＩＤを指定してダウンロード要求をパッケージ管理サーバ６０に送信する（Ｓ１１１−４）。パッケージ管理サーバ６０のパッケージ管理部６２は、指定されたプロダクトＩＤに対応する販売パッケージをパッケージ記憶部６５より取得し、取得された販売パッケージをパッケージ取得部１１６に返信する（Ｓ１１１−５）。カレント販売パッケージが複数の場合、ダウンロード（Ｓ１１１−４、Ｓ１１１−５）は複数回繰り返される。また、ステップＳ１１１−２において妥当性が無い旨の検証結果が受信された場合、未解決パッケージに関してもダウンロードが実行される。なお、カレント販売パッケージが複数である場合とは、例えば、ステップＳ１０１において入力されたプロダクトキーがグループライセンスに係るものである場合や、複数のプロダクトキーが入力された場合等である。
【００８０】
続いて、パッケージ取得部１１６は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する。具体的には、パッケージ取得部１１６は、取得された販売パッケージ又は未解決パッケージをカレント機器に関連付けて処理状態記憶部１２４に記録する（Ｓ１１１−６）。販売パッケージ又は未解決パッケージとカレント機器との関連付けの方法は、所定のものに限定されない。本実施の形態では、取得（ダウンロード）された販売パッケージ又は未解決パッケージを一つの書庫ファイル（以下、「パッケージ書庫ファイル」という。）内に格納し、パッケージ書庫ファイルのファイル名にカレント機器の機体番号を含めることにより、当該関連付けを実現する。他の方法として、例えば、カレント機器の機体番号をフォルダ名とするフォルダを作成し、ダウンロードされた販売パッケージ又は未解決パッケージを当該フォルダ内に保存するようにしてもよい。その結果、処理状態記憶部１２４の記憶内容は、図１６に示されるようになる。
【００８１】
図１６は、販売パッケージダウンロード後の処理状態記憶部の記憶内容の例を示す図である。同図に示されるように、処理状態記憶部１２４には、パッケージ書庫ファイルが追加される。
【００８２】
パッケージ取得部１１６は、また、ダウンロード対象とされている全ての販売パッケージ又は未解決パッケージのダウンロードに成功した場合は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、販売パッケージのダウンロード（取得）が完了したことを示す値（「パッケージ取得完了」）に更新する。
【００８３】
なお、いずれかの販売パッケージ又は未解決パッケージの取得に失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されず、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ１１１−１以降が実行される。
【００８４】
続いて、ライセンス取得部１１７は、ステップＳ１０１において入力されたプロダクトキーと、カレント販売パッケージのプロダクトＩＤと、カレント機器の機体番号とを指定して、ライセンスの使用要求（ライセンスファイル９０の発行要求）をライセンス管理サーバ５０に送信する（Ｓ１１１−７）。
【００８５】
ライセンス管理サーバ５０のライセンス管理部５１は、ライセンスの使用要求に含まれている情報及びライセンス管理テーブル５２に基づいてライセンスファイル９０を生成し、生成されたラインセンスファイル５０をライセンス取得部１１７に返信する（Ｓ１１１−８）。
【００８６】
図１７は、ライセンスファイルの構成例を示す図である。同図において、ライセンスファイル９０は、プロダクトＩＤ、機体番号、及び有効期限を含む。プロダクトＩＤは、当該ライセンスファイル９０によってライセンスが付与される（利用が許可される）販売パッケージのプロダクトＩＤである。機体番号は、当該ライセンスファイル９０によってプロダクトＩＤに係る販売パッケージの利用が許可される画像形成装置２０の機体番号である。有効期限は、当該ライセンスファイル９０の有効期限、すなわち、当該ライセンスファイル９０によって付与されるライセンスの有効期限である。
【００８７】
ライセンスファイル９０のプロダクトＩＤには、ライセンスの使用要求に含まれているプロダクトキーに係るプロダクトＩＤが登録される。ここで、当該プロダクトキーがグループライセンスに係るものである場合、すなわち、プロダクトキーに対して複数の異なるプロダクトＩＤがライセンス管理テーブル５２に登録されている場合、ライセンス管理部５１は、販売パッケージごとにライセンスファイル９０を生成する。したがって、グループライセンスの場合であっても、ライセンスファイル９０のプロダクトＩＤには、グループＩＤではなく販売パッケージのプロダクトＩＤが登録される。
【００８８】
ライセンスファイル９０の機体番号には、ライセンスの使用要求に含まれている機体番号が登録される。ライセンスファイル９０の有効期限には、ライセンスの使用要求に含まれているプロダクトキー及びプロダクトＩＤに対してライセンス管理テーブル５２に登録されている有効期間を現時点に加算することに得られる時期（例えば、年月日）が登録される。
【００８９】
続いて、ライセンス取得部１１７は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１１−９）。具体的には、ライセンス取得部１１７は、取得されたライセンスファイル９０をカレント機器に関連付けて処理状態記憶部１２４に記録する。本実施の形態では、取得されたライセンスファイル９０を一つの書庫ファイル（以下、「ライセンス書庫ファイル」という。）内に格納し、ライセンス書庫ファイルのファイル名にカレント機器の機体番号を含めることにより、当該関連付けを実現する。但し、販売パッケージとカレント機器との関連付けと同様、他の方法によってライセンスファイル９０とカレント機器との関連付けが行われてもよい。その結果、処理状態記憶部１２４の記憶内容は、図１８に示されるようになる。
【００９０】
図１８は、ライセンスファイル取得後の処理状態記憶部の記憶内容の例を示す図である。同図に示されるように、処理状態記憶部１２４には、ライセンス書庫ファイルが追加される。
【００９１】
ライセンス取得部１１７は、また、ライセンスファイル９０のダウンロードに成功した場合は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、販売ライセンスの取得が完了したことを示す値（「ライセンス取得完了」）に更新する。
【００９２】
なお、ライセンスファイル９０の取得に失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されず、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ１１１−１以降が実行される。
【００９３】
続いて、インストール制御部１１８は、ステップＳ１１１−５において未解決パッケージが取得されている場合、パッケージ書庫ファイルに格納されている当該未解決パッケージをカレント機器に送信し、当該未解決パッケージのインストールをカレント機器に要求する（Ｓ１１１−１０）。カレント機器の要求処理部２１は、未解決パッケージをインストールし、当該未解決パッケージの情報（プロダクトＩＤ等）をインストール情報管理テーブル２３に記録する。
【００９４】
続いて、インストール制御部１１８は、未解決パッケージのインストール結果をカレント機器に問い合わせる（Ｓ１１１−１１）。当該問い合わせ（ポーリング）は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
【００９５】
続いて、インストール制御部１１８は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１１−１２）。具体的には、未解決パッケージのインストールに成功した場合、インストール制御部１１８は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、未解決パッケージのインストールが完了したことを示す値（「未解決パッケージインストール完了」）に更新する。一方、未解決パッケージのインストールに失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されず、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ１１１−１以降が実行される。
【００９６】
先に未解決パッケージをインストールさせるのは、依存先のコンポーネントがインストールされていないことによる、販売パッケージのインストールの失敗を回避するためである。
【００９７】
続いて、インストール制御部１１８は、ステップＳ１１１−５において取得されている販売パッケージ（パッケージ書庫ファイルの格納されている販売パッケージ）をカレント機器に送信し、当該販売パッケージのインストールをカレント機器に要求する（Ｓ１１１−１３）。カレント機器の要求処理部２１は、当該販売パッケージをインストールし、当該販売パッケージの情報（プロダクトＩＤ等）をインストール情報管理テーブル２３に記録する。
【００９８】
続いて、インストール制御部１１８は、販売パッケージのインストール結果をカレント機器に問い合わせる（Ｓ１１１−１４）。当該問い合わせ（ポーリング）は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
【００９９】
続いて、インストール制御部１１８は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１１−１５）。具体的には、販売パッケージのインストールに成功した場合、インストール制御部１１８は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、販売パッケージのインストールが完了したことを示す値（「販売パッケージインストール完了」）に更新する。この場合、カレント機器に関連付けられているパッケージ書庫ファイルは削除されてもよい。
【０１００】
一方、販売パッケージのインストールに失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されない。また、カレント機器に関連付けられているパッケージ書庫ファイルは削除されない。更に、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ１１１−１以降が実行される。
【０１０１】
続いて、アクティベート部１１９は、ステップＳ１１１−６において取得されているライセンスファイル９０（ライセンス書庫ファイルに格納されているライセンスファイル９０）をカレント機器に送信し、ライセンスファイルの導入（設定）をカレント機器に要求する（Ｓ１１１−１６）。カレント機器の要求処理部２１は、ライセンスファイル９０について所定の記憶領域への記録等を行い、ライセンスファイル９０を利用可能な状態とする。
【０１０２】
続いて、アクティベート部１１９は、販売パッケージのライセンス導入結果をカレント機器に問い合わせる（Ｓ１１１−１７）。当該問い合わせ（ポーリング）は、カレント機器においてライセンスファイル９０の所定の記憶領域への記録等が完了し、ライセンス導入結果が返信されるまで繰り返される。
【０１０３】
続いて、アクティベート部１１９は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ１１１−１８）。具体的には、ライセンス導入に成功した場合、アクティベート部１１９は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、ライセンス導入が完了したことを示す値（「アクティベーション完了」）に更新する。この場合、カレント機器に関連付けられているライセンス書庫ファイルは削除されてもよい。
【０１０４】
一方、ライセンス導入に失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されない。また、カレント機器に関連付けられているライセンス書庫ファイルは削除されない。
【０１０５】
ステップＳ１０７において選択された全ての画像形成装置２０についてステップＳ１１１の実行が完了すると、再実行制御部１２３は、処理状態記憶部１２４に基づいて再実行処理を実行する（Ｓ１１１−１９）。
【０１０６】
続いて、ステップＳ１１１−１９における、再実行制御部１２３による再実行処理の詳細について説明する。図１９は、再実行処理の処理手順を説明するためのフローチャートである。
【０１０７】
再実行制御部１２３は、処理状態記憶部１２４を参照し（Ｓ３０１）、機器管理テーブルに基づいて確認画面を表示装置１０６に表示させる（Ｓ３０２）。確認画面には機器管理テーブルの内容が表示される。したがって、ユーザは、作業ステータスを参照することにより、ライセンス導入が完了していない画像形成装置２０を確認することができる。ライセンス導入が完了していないとは、作業ステータスの値が「ライセンス導入完了」以外である場合（すなわち、途中でエラーが発生した場合）をいう。なお、ライセンス導入が完了していない画像形成装置２０のレコードの視認性を高めるため、確認画面においてエラーが発生したことを示す列を追加したり、当該レコードを赤等の目立つ色によって表示させてもよい。又は、数百台のように多数の画像形成装置２０が一度にインストール先として指定される場合を考慮して、作業ステータスの値が「ライセンス導入完了」以外である画像形成装置２０に関するレコードのみを表示させてもよい。又は、一部又は全部の画像形成装置２０について途中でエラーが発生したことを示すメッセージだけを表示させてもよい。いずれの場合であっても、作業ステータスの値が「ライセンス導入完了」以外である画像形成装置２０が有るときは、再実行の指示入力を受け付けるための表示部品（例えば、ボタン）が確認画面に表示される。
【０１０８】
ユーザは、各画像形成装置２０の作業ステータスを確認画面において確認し、エラーが発生した原因を調査することができる。例えば、ネットワークの状態や、画像形成装置２０の状態等を確認することができる。エラーの原因が特定され、その原因が除かれた後、ユーザは、確認画面を介して再実行指示を入力する。但し、エラーの原因が特定できない場合であっても、再実行指示は入力されてもよい。
【０１０９】
確認画面を介して再実行指示が入力された場合（Ｓ３０３でＹｅｓ）、再実行制御部１２３は、作業ステータスが「ライセンス導入完了」以外の各画像形成装置２０について、順次処理対象（カレント機器）とし、カレント機器の作業ステータスに応じた再実行処理を制御する（Ｓ３０４）。具体的には、カレント機器の作業ステータスが「機器情報取得完了」である場合、再実行制御部１２３は、妥当性確認部１１５に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−１以降が実行される。また、カレント機器の作業ステータスが「妥当性検証完了」である場合、再実行制御部１２３は、パッケージ取得部１１６に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−４以降が実行される。また、カレント機器の作業ステータスが「パッケージ取得完了」である場合、再実行制御部１２３は、ライセンス取得部１１７に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−７以降が実行される。また、カレント機器の作業ステータスが「ライセンス取得完了」である場合、再実行制御部１２３は、インストール制御部に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−１０又はＳ１１１−１３以降が実行される。また、カレント機器の作業ステータスが「未解決パッケージインストール完了」である場合、再実行制御部１２３は、インストール制御部に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−１３以降が実行される。また、カレント機器の作業ステータスが「販売パッケージインストール完了」である場合、再実行制御部１２３は、アクティベート部１１９に対し、カレント機器に関する処理の再実行を要求する。その結果、カレント機器についてステップＳ１１１−１６以降が実行される。
【０１１０】
再実行制御部１２３より処理の再実行を要求された各部は、カレント機器に関連付けられて処理状態記憶部１２４に記録されているデータに基づいて処理を実行することができる。作業ステータスに応じた再実行処理に必要なデータは処理状態記憶部１２４に記録されているからである。したがって、一回目の実行の際に途中でエラーになってしまった画像形成装置２０についても、ライセンスの導入まで完了できる可能性を高めることができる。その結果、ライセンス管理サーバ５０のライセンス管理テーブル５２の状態と、画像形成装置２０に対するライセンスの導入状態との不整合が解消される可能性が高まる。すなわち、ライセンス管理テーブル５２においては「チェックアウト」とされているライセンスについて、画像形成装置２０にライセンスファイル９０が導入されていないという事態が発生する可能性を低減させることができる。
【０１１１】
なお、作業ステータスが「ライセンス導入完了」以外の全ての画像形成装置２０について自動的に再実行が行われなくてもよい。例えば、確認画面において再実行の対象とする画像形成装置２０をユーザに選択させてもよい。
【０１１２】
また、再実行制御部１２３による処理（図１９の処理）は、図７の処理の一部として実行されなくてもよい。図７の処理の完了後、他の機会において改めて実行されてもよい。その場合、処理対象とする処理状態記憶部１２４をユーザに選択又は指定させる必要がある。したがって、いつ実行されたインストール処理であるか等が容易に判別可能な識別情報（例えば、ファイル名）を処理状態記憶部１２４（例えば、書庫ファイル）に付与しておくとよい。
【０１１３】
続いて、図７のステップＳ１１１−７のライセンスの使用要求に応じて、ライセンス管理サーバ５０のライセンス管理部５１によって実行される処理の詳細について説明する。
【０１１４】
図２０は、ライセンス管理部によるライセンスファイル生成処理の処理手順を説明するためのフローチャートである。なお、図２０では、一つのプロダクトキーを処理対象として説明する。したがって、複数のプロダクトキーが受信された場合、ステップＳ１９２以降はプロダクトキーごとに実行される。
【０１１５】
ステップＳ１９１（図７のステップＳ１１１−７）において、ライセンス管理部５１は、プロダクトキー、プロダクトＩＤ、及び機体番号を含むライセンスの使用要求をライセンス取得部１１７より受信する。続いて、ライセンス管理部５１は、当該プロダクトキーに係るライセンスの使用の可否を判定する。具体的には、ライセンス管理部５１は、受信されたプロダクトキーがライセンス管理テーブル５２に登録されているか否かを確認する（Ｓ１９２）。プロダクトキーが登録されている場合（Ｓ１９２でＹｅｓ）、ライセンス管理部５１は、受信された機体番号と同じ機体番号が当該プロダクトキーに対してライセンス管理テーブル５２に登録されているか否かを確認する（Ｓ１９３）。同じ機体番号が登録されていない場合（Ｓ１９３でＮｏ）、ライセンス管理部５１は、当該プロダクトキー及び受信されたプロダクトＩＤに係るレコードの中で、ステータスが「チェックイン」のレコードがライセンス管理テーブル５２に有るか否かを確認する（Ｓ１９４）。該当するレコードが有る場合（Ｓ１９４でＹｅｓ）、ライセンス管理部５１は、当該レコードに対して受信された機体番号を記録し、当該レコードのステータスを「チェックアウト」とする（Ｓ１９６）。すなわち、当該プロダクトキーに対応するライセンスは使用されていることが記録される。また、ライセンス管理部５１は、当該レコードに「ライセンス有効期間」が記録されている場合（すなわち、当該レコードが時限ライセンスに対応するレコードである場合）、現在日時にライセンス有効期間を加算して得られる日時をライセンス期限として当該レコードに記録する。
【０１１６】
続いて、ライセンス管理部５１は、当該レコードにおける、プロダクトＩＤ、機体番号、及び有効期限を含むライセンスファイル９０（図１７参照）を生成する（Ｓ１９７）。なお、ライセンスファイル９０は、ライセンス管理テーブル５２のレコードごと、すなわち、販売パッケージに対するライセンスごとに生成される。続いて、ライセンス管理部５１は、生成されたライセンスファイル９０を機器管理装置１０のライセンス取得部１１７に返信する（Ｓ１９８）。
【０１１７】
一方、当該プロダクトキーに対して受信された機体番号と同じ機体番号が登録されているレコードが有る場合（Ｓ１９３でＹｅｓ）、ライセンス管理部５１は、当該レコードのステータスが「チェックイン」であるか否かを確認する（Ｓ１９５）。ステータスが「チェックイン」である場合（Ｓ１９５でＹｅｓ）、ステップＳ１９６以降の処理が実行される。
【０１１８】
また、当該プロダクトキーに係るレコードがライセンス管理テーブル５２に無い場合（Ｓ１９２でＮｏ）、当該プロダクトキー及び受信されたプロダクトＩＤに係るレコードの中で、ステータスが「チェックイン」のレコードがライセンス管理テーブル５２に無い場合（Ｓ１９４でＮｏ）、又は、当該プロダクトキーに対して受信された機体番号と同じ機体番号が登録されているレコードのステータスが「チェックイン」でない場合（Ｓ１９５でＮｏ）、ライセンス管理部５１は、エラーを検出したとし、ライセンスファイル９０の生成、すなわち、ライセンスの発行は行わない。
【０１１９】
画像形成装置２０において、ライセンスファイル９０は、インストールされた販売パッケージに含まれる機能パッケージの起動の際に実行される、ライセンスチェック部２２によるライセンスチェックに利用される。すなわち、ライセンスチェック部２２は、起動対象とされた機能パッケージが属する販売パッケージに対応するライセンスファイル９０が存在すること、当該ライセンスファイル９０の機体番号と機能パッケージが起動されようとしている画像形成装置２０の機体番号とが一致すること、及び当該ライセンスファイル９０の有効期限が切れてないことが満たされている場合、当該機能パッケージの起動を許可する。それ以外の場合は、当該機能パッケージの起動は許可されない。
【０１２０】
続いて、販売パッケージのアンインストール及びディアクティベーション（ライセンスの解放）に関する処理について説明する。
【０１２１】
図２１は、販売パッケージのアンインストール及びディアクティベーションの処理手順を説明するためのシーケンス図である。
【０１２２】
ステップＳ２０１において、機器管理装置１０のＵＩ制御部１１１は、表示装置１０６に表示させているアンインストール画面を介してアンインストール対象のプロダクトキーの入力をユーザより受け付ける。続いて、パッケージ情報取得部１１２は、入力されたプロダクトキーを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンス管理サーバ５０に送信する（Ｓ２０２）。
【０１２３】
続いて、ライセンス管理サーバ５０のライセンス管理部５１は、受信されたプロダクトキーに係るレコード（ライセンス管理テーブル５２のレコード）に記録されている情報（パッケージ情報）をパッケージ情報取得部１１２に返信する（Ｓ２０３）。当該プロダクトキーがグループライセンスに係るものである場合、複数の販売パッケージに関するパッケージ情報が返信される。
【０１２４】
パッケージ情報取得部１１２は、パッケージ情報を受信すると、今回の処理に対する処理状態記憶部１２４を補助記憶装置１０２に生成し、現在の処理状態を保存する（Ｓ２０４）。具体的には、パッケージ情報取得部１１２は、プロダクトキーと、当該パッケージ情報とを処理状態記憶部１２４に記録する。その結果、処理状態記憶部１２４の記憶内容は、図１０に示されるようになる。
【０１２５】
当該プロダクトキーがグループライセンスに係るものである場合、すなわち、複数の販売パッケージに関するパッケージ情報が受信された場合、ＵＩ制御部１１１は、当該販売パッケージの一覧情報を含む販売パッケージ選択画面を表示装置１０６に表示させ、アンインストール対象とする販売パッケージをユーザに選択させる（Ｓ２０５）。以下、選択された販売パッケージを「カレント販売パッケージ」という。
【０１２６】
続いて、機器情報取得部１１３は、各画像形成装置２０に対して機器情報の取得要求を送信する（Ｓ２０６）。各画像形成装置２０の要求処理部２１は、機器情報の取得要求に応じ、インストール情報管理テーブル２３に記録されている情報を取得し、取得された情報と当該画像形成装置２０の機体番号とを含む情報を機器情報として機器情報取得部１１３に返信する（Ｓ２０７）。
【０１２７】
なお、ここで機器情報の取得対象とされる画像形成装置２０は、予めそのＩＰアドレス及びホスト名等が補助記憶装置１０２に記憶されているものである。または、機器情報取得部１１３が、ブロードキャスト等をネットワーク３０上に発行することにより、ネットワーク３０に接続されている画像形成装置２０を動的に検索し、検索された画像形成装置２０を機器情報の取得対象としてもよい。
【０１２８】
続いて、アンインストール先判定部１２０は、ステップＳ２０３において取得されたパッケージ情報を、ステップＳ２０７で各画像形成装置２０より取得された機器情報と照合し、当該パッケージ情報に係る販売パッケージがインストールされている画像形成装置２０を判定する（Ｓ２０８）。具体的には、当該パッケージ情報に含まれているプロダクトＩＤ（販売パッケージのプロダクトＩＤ）を含む機器情報に係る画像形成装置２０が、当該販売パッケージのインストールされている画像形成装置２０（すなわち、販売パッケージのアンインストール先の画像形成装置２０）であると判定される。
【０１２９】
続いて、アンインストール先判定部１２０は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ２０９）。具体的には、アンインストール先判定部１２０は、機体番号及び機器情報を販売パッケージのアンインストール先の画像形成装置２０ごとに含む機器管理テーブルを処理状態記憶部１２４に記録（生成）する。その結果、処理状態記憶部１２４の記憶内容は、図１２に示されるようになる。
【０１３０】
続くステップＳ２１０は、販売パッケージのアンインストール先の画像形成装置２０ごとに実行されるループ処理である。ループ処理において処理対象とされる画像形成装置２０を以下、「カレント機器」という。
【０１３１】
ステップＳ２１０−１において、ディアクティベート部１２１は、カレント販売パッケージのプロダクトＩＤを指定して、ディアクティベート要求（ライセンスファイル９０の削除要求）をカレント機器に送信する。カレント機器の要求処理部２１は、当該要求に応じ、指定されたプロダクトＩＤに係るライセンスファイル９０を削除する。
【０１３２】
続いて、ディアクティベート部１２１は、ライセンスファイル９０の削除処理の結果をカレント機器に問い合わせる（Ｓ２１０−２）。当該問い合わせ（ポーリング）は、カレント機器においてライセンスファイル９０の削除処理が完了し、当該削除処理の処理結果が返信されるまで繰り返される。
【０１３３】
続いて、ディアクティベート部１２１は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ２１０−３）。具体的には、ライセンスファイル９０の削除に成功した場合、ディアクティベート部１２１は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、ライセンスファイル９０の削除が完了したことを示す値（「ライセンス削除完了」）に更新する。一方、ライセンスファイル９０の削除に失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されず、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ２１０−１以降が実行される。
【０１３４】
続いて、アンインストール制御部１２２は、カレント販売パッケージのプロダクトＩＤを指定して、アンインストール要求（販売パッケージの削除要求）をカレント機器に送信する（Ｓ２１０−４）。カレント機器の要求処理部２１は、当該要求に応じ、指定されたプロダクトＩＤに係る販売パッケージをアンインストール（削除）する。
【０１３５】
続いて、アンインストール制御部１２２は、カレント販売パッケージのアンインストール結果をカレント機器に問い合わせる（Ｓ２１０−５）。当該問い合わせ（ポーリング）は、カレント機器においてアンインストールが完了し、アンインストール結果が返信されるまで繰り返される。
【０１３６】
続いて、アンインストール制御部１２２は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ２１１）。具体的には、カレント販売パッケージのアンインストールに成功した場合、アンインストール制御部１２２は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、カレント販売パッケージのアンインストールが完了したことを示す値（「アンインストール完了」）に更新する。一方、カレント販売パッケージのアンインストールに失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されず、カレント機器については以降の処理は実行されない。したがって、次の画像形成装置２０についてステップＳ２１０−１以降が実行される。
【０１３７】
ステップＳ２１０が、販売パッケージのアンインストールの対象とされた全ての画像形成装置２０について実行された後、ディアクティベート部１２１は、カレント販売パッケージのプロダクトＩＤと、当該全ての画像形成装置２０の機体番号とを指定してディアクティベート要求（ライセンスの解放要求）をライセンス管理サーバのライセンス管理部５１に送信する（Ｓ２１２）。ライセンス管理部５１は、ライセンス管理テーブル５２において、指定されたプロダクトＩＤ及び機体番号に係るレコードのステータスを「チェックアウト」から「チェックイン」に変更する。すなわち、当該ライセンスは使用されていないことを示す情報がライセンス管理テーブル５２に記録される。なお、ディアクティベーションは、ステータスが「チェックアウト」のライセンスに関して実行可能である。したがって、対象となるレコードのステータスが「チェックアウト」でない場合、ライセンス管理部５１は、ディアクティベーションは失敗したと判断する。
【０１３８】
続いて、ライセンス管理部５１は、ディアクティベーションの処理結果（処理の成否）を画像形成装置２０のディアクティベート部１２１に返信する（Ｓ２１３）。
【０１３９】
続いて、ディアクティベート部１２１は、処理状態記憶部１２４を更新することにより、現在の処理状態を保存する（Ｓ２１４）。具体的には、ディアクティベーションに成功した場合、ディアクティベート部１２１は、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値を、ディアクティベーションが完了したことを示す値（「ディアクティベーション完了」）に更新する。一方、ディアクティベーションに失敗した場合、機器管理テーブルのカレント機器に対応するレコードの作業ステータスの値は更新されない。
【０１４０】
アンインストール先の全ての画像形成装置２０についてステップＳ２１０の実行が完了すると、再実行制御部１２３は、処理状態記憶部１２４に基づいて再実行処理を実行する（Ｓ２１５）。再実行処理については、図１９において説明した通りである。アンインストールに関する再実行処理の具体的処理内容は、インストール処理に関する再実行処理の説明より自明であるため、ここでの説明は省略する。
【０１４１】
再実行処理の結果、一回目の実行の際に途中でエラーになってしまった画像形成装置２０についても、ディアクティベーションまで完了できる可能性を高めることができる。その結果、ライセンス管理サーバ５０のライセンス管理テーブル５２の状態と、画像形成装置２０に対するライセンスの導入状態との不整合が解消される可能性が高まる。すなわち、ライセンス管理テーブル５２においては「チェックイン」とされているライセンスについて、画像形成装置２０のライセンスファイル９０が削除されていないという事態が発生する可能性を低減させることができる。
【０１４２】
図２１の処理の実行により、アンインストール先とされた画像形成装置２０では当該販売パッケージに含まれる機能パッケージの利用ができなくなる。一方、当該販売パッケージのライセンスは解放されたため、当該ライセンスの有効期限内であれば必要に応じて他の画像形成装置２０において当該ライセンスを利用することができる。すなわち、ディアクティベーション処理は、或る画像形成装置２０における販売パッケージのライセンスを当該画像形成装置２０のリース期間切れ等の理由により他の画像形成装置２０に移動させたい場合に特に有用である。
【０１４３】
なお、本実施の形態における機器管理システム１によれば、プロダクトキーの入力に応じ、画像形成装置２０に対する当該プロダクトキーに係る販売パッケージのインストール及びライセンスファイル９０の導入等を自動的に行うことができる。したがって、ユーザに対する作業負担を著しく軽減することができる。その結果、画像形成装置２０のカスタマーエンジニアだけでなく、エンドユーザによる販売パッケージ（プログラムコンポーネント）の実行環境の構築も可能となる。
【０１４４】
また、本実施の形態の機器管理装置１０によれば、複数の画像形成装置２０に対して一括してインストール及びアクティベーション（ライセンスの使用開始）等を行うことができる。斯かる点においてもユーザの作業負担の軽減を期待することができる。
【０１４５】
なお、本実施の形態においては画像形成装置２０を電子機器の一例として説明したが、本発明の適用範囲は画像形成装置２０に限定されない。プログラムを追加（インストール）可能な電子機器であれば、本発明は有効に適用されうる。
【０１４６】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０１４７】
１            機器管理システム
１０          機器管理装置
２０          画像形成装置
２１          要求処理部
２２          ライセンスチェック部
２３          インストール情報管理テーブル
５０          ライセンス管理サーバ
５１          ライセンス管理部
５２          ライセンス管理テーブル
６０          パッケージ管理サーバ
６１          妥当性検証部
６２          パッケージ管理部
６３          依存関係管理テーブル
６４          パッケージ管理テーブル
６５          パッケージ記憶部
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１０６        表示装置
１０７        入力装置
１１１        ＵＩ制御部
１１２        パッケージ情報取得部
１１３        機器情報取得部
１１４        インストール先受付部
１１５        妥当性確認部
１１６        パッケージ取得部
１１７        ライセンス取得部
１１８        インストール制御部
１１９        アクティベート部
１２０        アンインストール先判定部
１２１        ディアクティベート部
１２２        アンインストール制御部
１２３        再実行制御部
１２４        及び処理状態記憶部
Ｂ            バス
【先行技術文献】
【特許文献】
【０１４８】
【特許文献１】特開２００８−２４３１７９号公報
【図１】
0005428685.tif 000002
【図２】
0005428685.tif 000003
【図３】
0005428685.tif 000004
【図４】
0005428685.tif 000005
【図５】
0005428685.tif 000006
【図６】
0005428685.tif 000007
【図７】
0005428685.tif 000008
【図８】
0005428685.tif 000009
【図９】
0005428685.tif 000010
【図１０】
0005428685.tif 000011
【図１１】
0005428685.tif 000012
【図１２】
0005428685.tif 000013
【図１３】
0005428685.tif 000014
【図１４】
0005428685.tif 000015
【図１５】
0005428685.tif 000016
【図１６】
0005428685.tif 000017
【図１７】
0005428685.tif 000018
【図１８】
0005428685.tif 000019
【図１９】
0005428685.tif 000020
【図２０】
0005428685.tif 000021
【図２１】
0005428685.tif 000022