説明

ライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造

【課題】プログラム及びプログラムに対するライセンスの導入作業を適切に支援すること。
【解決手段】プログラムの購入ごとに購入されたプログラムの製品識別子及び該プログラムのライセンス情報に関連付けられたライセンス識別子を生成し、該ライセンス識別子を発行するライセンス識別子発行手段と、前記ライセンス識別子をライセンス情報記憶手段に記録するライセンス記録手段と、ネットワークを介して受信される前記ライセンス識別子の受信に応じ、受信された前記ライセンス識別子が前記ライセンス情報記憶手段に記録されているかを判定する判定手段と、前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合、該製品識別子に係るプログラムの取得指示又は該プログラム本体と、前記プログラムの利用を許可するためのライセンスファイルとを前記ネットワークを介して返信する送信手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造に関し、特に機器において利用されるプログラムのライセンスを管理するライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造に関する。
【背景技術】
【0002】
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に新たなプログラムの開発や開発したプログラムのインストールが可能とされているものがある。斯かるプログラムのインストールやプログラムを利用するためのライセンスを、ユーザの利用形態に合わせて提供することができればユーザにとって便宜であるばかりでなく、プログラムを販売する側にとってもビジネスチャンスの拡大を期待できる。
【0003】
例えば、特許文献1には、プログラムを利用可能な画像形成装置を所定のものに限定することができるライセンス管理方法等が開示されている。特許文献1に係る技術によれば、プログラムを利用する台数に応じて課金額を変化させることができる。また、プログラムの不正コピーによる不正利用を適切に防止することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、プログラムとライセンスとが分離して配布されることにより、画像形成装置に対するプログラムの導入手順が複雑化しているという問題がある。すなわち、ユーザは、プログラムの実体を入手し、インストールするだけでは当該プログラムを利用することはできず、プログラムの利用に対するライセンスを獲得するための作業が必要とされる。
【0005】
また、プログラム間には依存関係が存在しうるところ、依存する側のプログラムと依存される側のプログラムとは必ずしも一つのパッケージとして流通するとは限らない。この場合、プログラムをインストールし、更に当該プログラムに対するライセンスを取得したとしても当該プログラムの依存先のプログラムが存在しないため、インストールされたプログラムが正常に動作しないということが発生しうる。そして、プログラムの依存関係は複数階層にわたることがある。したがって、ユーザには、プログラムの依存関係を解決するために更なる作業負担が課せられるとう問題がある。
【0006】
本発明は、上記の点に鑑みてなされたものであって、プログラム及びプログラムに対するライセンスの導入作業を適切に支援することのできるライセンス管理装置、機器、ライセンス管理方法、プログラム、及びデータ構造の提供を目的とする。
【課題を解決するための手段】
【0007】
そこで上記課題を解決するため、本発明は、プログラムの購入ごとに購入されたプログラムの製品識別子及び該プログラムのライセンス情報に関連付けられたライセンス識別子を生成し、該ライセンス識別子を発行するライセンス識別子発行手段と、前記ライセンス識別子をライセンス情報記憶手段に記録するライセンス記録手段と、ネットワークを介して受信される前記ライセンス識別子の受信に応じ、受信された前記ライセンス識別子が前記ライセンス情報記憶手段に記録されているかを判定する判定手段と、前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合、該製品識別子に係るプログラムの取得指示又は該プログラム本体と、前記プログラムの利用を許可するためのライセンスファイルとを前記ネットワークを介して返信する送信手段とを有する。
【0008】
このようなライセンス管理装置では、プログラム及びプログラムに対するライセンスの導入作業を適切に支援することができる。
【発明の効果】
【0009】
プログラム及びプログラムに対するライセンスの導入作業を適切に支援することができる。
【図面の簡単な説明】
【0010】
【図1】第一の実施の形態における機器管理システム構成例を示す図である。
【図2】販売パッケージの構成例を示す図である。
【図3】販売パッケージ情報の構成例を示す図である。
【図4】機能パッケージ情報の構成例を示す図である。
【図5】第一の実施の形態における機器管理システムの機能構成例を示す図である。
【図6】本発明の実施の形態におけるライセンス管理サーバのハードウェア構成例を示す図である。
【図7】本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。
【図8】販売サーバによる販売パッケージの一覧情報の取得処理を説明するためのシーケンス図である。
【図9】販売サイトマスタの構成例を示す図である。
【図10】販売パッケージマスタの構成例を示す図である。
【図11】グループIDマスタの構成例を示す図である。
【図12】商品マスタへの商品情報の登録処理の処理手順を説明するためのフローチャートである。
【図13】販売サーバにおける商品マスタの構成例を示す図である。
【図14】商品の販売時における処理手順を説明するためのシーケンス図である。
【図15】プロダクトキー発行部によるプロダクトキー生成処理の処理手順を説明するためのフローチャートである。
【図16】ライセンス管理テーブルの構成例を示す図である。
【図17】プロダクトキーの構成例を示す図である。
【図18】販売パッケージのインストール時の処理手順を説明するためのシーケンス図である。
【図19】機能拡張設定メニュー画面の表示例を示す図である。
【図20】プロダクトキー入力画面の表示例を示す図である。
【図21】プロダクトキーが無効であるときのエラー画面の表示例を示す図である。
【図22】コンポーネント管理テーブルの構成例を示す図である。
【図23】インストール一覧画面の表示例を示す図である。
【図24】インストール情報管理テーブルの構成例を示す図である。
【図25】依存関係に問題が無い場合の確認画面の表示例を示す図である。
【図26】依存パッケージも同時にインストール可能な場合の確認画面の表示例を示す図である。
【図27】依存パッケージを同時にインストール出来ない場合の確認画面の表示例を示す図である。
【図28】ライセンスファイルの構成例を示す図である。
【図29】コンポーネントサーバ部による依存関係の検証処理及び確認画面データの生成処理の処理手順を説明するためのフローチャートである。
【図30】依存関係管理テーブルの構成例を示す図である。
【図31】アクティベーションサーバ部によるライセンスファイル生成処理の処理手順を説明するためのフローチャートである。
【図32】画像形成装置による販売パッケージのインストール処理の処理手順を説明するためのフローチャートである。
【図33】ライセンス更新処理の処理手順を説明するためのシーケンス図である。
【図34】拡張機能管理画面の表示例を示す図である。
【図35】ライセンス取得/更新画面の表示例を示す図である。
【図36】販売パッケージ更新処理の処理手順を説明するためのシーケンス図である。
【図37】更新一覧画面の表示例を示す図である。
【図38】ディアクティベーション処理の処理手順を説明するためのシーケンス図である。
【図39】画像形成装置におけるディアクティベーションの自動実行処理の処理手順を説明するためのフローチャートである。
【図40】第二の実施の形態における機器管理システム構成例を示す図である。
【図41】第二の実施の形態における機器管理装置の機能構成例を示す図である。
【図42】第二の実施の形態における販売パッケージのインストール及びアクティベーションの処理手順を説明するためのシーケンス図である。
【図43】第二の実施の形態における販売パッケージのアンインストール及びディアクティベーションの処理手順を説明するためのシーケンス図である。
【図44】第三の実施の形態における機器管理システム構成例を示す図である。
【図45】第三の実施の形態における機器管理システムの機能構成例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、第一の実施の形態における機器管理システム構成例を示す図である。同図の機器管理システム1は、ユーザ環境E1とメーカー環境E2との二つのシステム環境に大別される。ユーザ環境E1とメーカー環境E2とは、インターネット等の広域的なネットワーク80を介して接続されている。
【0012】
ユーザ環境E1は、被インストール機器としての画像形成装置40のユーザ(顧客)のシステム環境である。例えば、ユーザ環境E1は、画像形成装置40のユーザである企業又はオフィス等に相当する。ユーザ環境E1は、一台以上の画像形成装置40及び一台以上のユーザPC50を有する。画像形成装置40は、印刷、スキャン、コピー、及びファクス送受信等の複数の機能を一台の筐体において実現する複合機である。但し、いずれか一つの機能のみを実現可能な機器であってもよい。画像形成装置40は、ソフトウェアコンポーネント(以下、単に「コンポーネント」という。)を追加又は更新することにより随時機能拡張等を図ることができる。ユーザPC50は、画像形成装置40に追加するコンポーネントの購入手続き等を行うために利用されるコンピュータである。なお、ユーザ環境E1は、ユーザ数(企業又はオフィス単位のユーザ数)に応じて複数存在しうる。
【0013】
一方、メーカー環境E2は、画像形成装置40に追加されるコンポーネントの販売者側のシステム環境である。例えば、メーカー環境E2は、画像形成装置40のメーカーによって運営される。メーカー環境E2は、ライセンス管理サーバ10、販売サーバ20、及びダウンロードサーバ30を有する。販売サーバ20は、ユーザ環境E1よりコンポーネントの購入申請を受け付けるコンピュータである。販売サーバ20は、画像形成装置40の販売地域(例えば、米国、欧州、日本、日本を除くアジア等)ごとに設置され、各販売サーバ20が担当する販売地域に属するユーザ環境E1より購入申請を受け付ける。
【0014】
ダウンロードサーバ30は、コンポーネントの実体を管理するコンピュータである。ユーザ環境E1は、購入申請したコンポーネントの実体をダウンロードサーバ30よりダウンロードする。ライセンス管理サーバ10は、購入されたコンポーネントのライセンス(利用権限)を管理するコンピュータである。
【0015】
本実施の形態におけるコンポーネントは、販売パッケージと呼ばれる単位で流通する。また、複数の販売パッケージの集合がセットとして流通単位となる場合もある。複数の販売パッケージの集合を、本実施の形態では「グループ」という。
【0016】
図2は、販売パッケージの構成例を示す図である。同図に示されるように、一つの販売パッケージは、一つの販売パッケージ情報ファイルと、一つ以上の機能パッケージを含む書庫ファイルとして構成される。
【0017】
販売パッケージ情報ファイルは、販売パッケージの属性情報(販売パッケージ情報)が記録されたファイルである。
【0018】
図3は、販売パッケージ情報の構成例を示す図である。同図において、販売パッケージ情報は、プロダクトID、バージョン、名称、説明、ベンダ名、及び配布タイプ等を含む。
【0019】
プロダクトIDは、各販売パッケージ及び各機能パッケージに一意に割り当てられた識別子(製品識別子)である。バージョンは、販売パッケージのバージョン番号である。説明は、販売パッケージに関する説明である。ベンダ名は、販売パッケージのベンダ(開発者)の名前である。名称は、販売パッケージの名前である。配布タイプは、アクティベーション(ライセンスの認証)の要否を示す情報である。アクティベーションが不要な販売パッケージは無料で使用することができる。
【0020】
図2に戻る。機能パッケージは、機能単位でパッケージ化されたソフトウェアパッケージである。一つの機能パッケージは、一つの機能パッケージ情報ファイルと一つのコンポーネントの実体とを含む書庫ファイル(例えば、JAR(Java(登録商標) Archive)ファイル)として構成される。
【0021】
機能パッケージ情報ファイルは、機能パッケージの属性情報(機能パッケージ情報)が記録されたファイルである。
【0022】
図4は、機能パッケージ情報の構成例を示す図である。同図において、機能パッケージ情報は、プロダクトID、バージョン、名称、説明、ベンダ名、配布タイプ、及びパッケージ依存情報等を含む。
【0023】
プロダクトIDは、機能パッケージに対するプロダクトIDである。バージョンは、機能パッケージのバージョン番号である。名称は、機能パッケージの名前である。説明は、機能パッケージに関する説明である。ベンダ名は、機能パッケージのベンダ(開発者)の名前である。配布タイプは、機能パッケージに対するアクティベーションの要否を示す情報である。アクティベーションが不要な機能パッケージは、無料で使用することができる。パッケージ依存情報は、機能パッケージが依存(又は利用)する(当該機能パッケージの依存先の)他の機能パッケージのプロダクトIDである。一つの機能パッケージは、複数の他の機能パッケージに依存しうる。
【0024】
なお、同図では、三つの販売パッケージによって1つのグループが構成されている。グループに属する販売パッケージであっても単独で流通しうる。
【0025】
図5は、第一の実施の形態の機器管理システムの機能構成例を示す図である。同図において、販売サーバ20は、商品登録部21、販売管理部22、プロダクトキー通知部23、及び商品マスタ23を有する。
【0026】
商品登録部21は、ライセンス管理サーバ10において一元的に管理されている販売パッケージの一覧情報をダウンロードし、当該一覧情報に基づいて作業者によって入力される商品の構成情報等を商品マスタ23に登録する。販売管理部22は、商品マスタ23に商品情報が登録されている商品について、ユーザPC50より購入申請を受け付ける。販売管理部22は、また、購入申請に対するプロダクトキーをライセンス管理サーバ10に発行させる。プロダクトキー通知部24は、発行されたプロダクトキーを、購入申請に対する応答としてユーザPC50に送信する。
【0027】
本実施の形態において、商品とは、販売パッケージ又はグループと、そのライセンスの内容とによって構成される概念である。したがって、同一の販売パッケージであってもライセンスの内容(ライセンス形態、ライセンス有効期間、ライセンスボリューム数等)が異なれば、異なる商品として扱われる。以下ライセンスの内容に関係する情報をライセンス情報という。
【0028】
また、プロダクトキーとは、商品が購入されるごとに一意に発行される(又は割り当てられる)識別子である。プロダクトキーは、商品に含まれる販売パッケージに対するライセンス(利用権限)を識別する情報(ライセンス識別子)として、また、商品の正当な購入者であることを証明するための情報として用いられる。なお、本実施の形態において、プロダクトIDとプロダクトキーとは明確に区別される。すなわち、プロダクトIDは、製品としての販売パッケージの異同を区別するものであるのに対し、プロダクトキーは、商品の購入という行為を区別するためのものである。したがって、同一のプロダクトIDの販売パッケージに対し、商品の購入のたびに異なるプロダクトキーが発行される。
【0029】
画像形成装置40は、インストール部421、ライセンス更新部422、パッケージ更新部423、ライセンスチェック部424、ディアクティベーション部425、及びUI制御部426、及びインストール情報管理テーブル427等を有する。
【0030】
インストール部421は、プロダクトキーの入力に応じ、当該プロダクトキーに対応する販売パッケージをインストールするための一連の処理を制御する。例えば、インストール部421は、インストール対象の販売パッケージに含まれている機能パッケージの依存関係の妥当性の判定をライセンス管理サーバ10に要求したり、インストール対象の販売パッケージをダウンロードサーバ30よりダウンロードしたり、インストール対象の販売パッケージに対するライセンスファイル90をライセンス管理サーバ10より取得したりする。
【0031】
ライセンスファイル90とは、販売パッケージに対するライセンスを証明するデータ(販売パッケージの利用を許可するためのデータ)が記録されたファイルである。すなわち、本実施の形態における販売パッケージ(コンポーネント)は、その実体を入手するだけでは画像形成装置40において利用することはできない。販売パッケージは、ライセンスファイル90が画像形成装置40に導入されることにより利用可能となる。
【0032】
ライセンス更新部422は、画像形成装置40にインストールされている販売パッケージに対するライセンスの有効期限を更新(延長)するための処理(ライセンス更新処理)を制御する。パッケージ更新部423は、画像形成装置40にインストールされている販売パッケージをバージョンアップするための処理(販売パッケージ更新処理)を制御する。ライセンスチェック部424は、販売パッケージが利用される際に、ライセンスファイル90に基づいて利用の許否を判定する。ディアクティベーション部425は、画像形成装置40にインストールされている販売パッケージのディアクティベーションを行う。具体的には、ディアクティベーション部425は、ディアクティベーションの対象とされた販売パッケージと当該販売パッケージに対するライセンスファイル90との削除等を行う。UI制御部426は、画像形成装置40の操作パネルの表示制御等を行う。インストール情報管理テーブル427は、画像形成装置40にインストールされている販売パッケージに関する情報を管理するテーブルであり、画像形成装置40の記憶装置に保存されている。
【0033】
ライセンス管理サーバ10は、アクティベーションサーバ部11及びコンポーネントサーバ部15を有する。アクティベーションサーバ部11は、販売サーバ連携部111、プロダクトキー発行部112、プロダクトキー検証部113、ライセンス発行部115、及びディアクティベーション部116、販売サーバ認証部117、販売サイトマスタ118、販売パッケージマスタ119、グループIDマスタ120、及びライセンス管理テーブル121等を有する。
【0034】
販売サーバ連携部111は、販売サーバ20より要求された処理や、販売サーバ20より通知される情報に応じた処理等を実行する。プロダクトキー発行部112は、販売サーバ20の販売管理部22からの要求に応じ、プロダクトキーを生成する。プロダクトキー発行部112は、生成されたプロダクトキーと当該プロダクトキーによって識別されるライセンスに関する情報をライセンス管理テーブル121に登録する。プロダクトキー検証部113は、販売パッケージのダウンロードの際等に画像形成装置40に対して入力されたプロダクトキーの有効性をライセンス管理テーブル121等を用いて検証する。
【0035】
ライセンス発行部115は、販売パッケージに対するライセンスの発行を行う。ライセンスの発行に伴って、ライセンス管理テーブル121が更新され、ライセンスファイル90が生成される。ディアクティベーション部116は、画像形成装置40のディアクティベーション部425からのディアクティベーション要求に応じ、当該要求の対象とされたライセンスを解放する。販売サーバ認証部117は、販売サイトマスタ118を用いて販売サーバ20の認証を行う。販売パッケージマスタ119には、販売パッケージの一覧情報が登録されている。グループIDマスタ120には、グループと販売パッケージとの関連付け情報が登録されている。なお、販売サイトマスタ118、販売パッケージマスタ119、グループIDマスタ120、及びライセンス管理テーブル121は、ライセンス管理サーバ10の記憶装置に保存されている。
【0036】
コンポーネントサーバ部15は、依存関係判定部151、インストール支援部152、パッケージ更新支援部153、コンポーネント管理部154、コンポーネント管理テーブル155、及び依存関係管理テーブル156等を有する。依存関係判定部151は、インストール対象又は更新対象とされている販売パッケージに含まれている機能パッケージが依存する他の機能パッケージが、既に画像形成装置40にインストールされているか否か等を判定する。より詳しくは、依存関係判定部151は、画像形成装置40のインストール部421からの要求に応じ、インストール対象の販売パッケージに含まれている機能パッケージの依存関係が、既に画像形成装置40にインストールされている機能パッケージ等によって解決されるか否かをコンポーネント管理テーブル155及び依存関係管理テーブル156を参照して判定する。インストール支援部152は、画像形成装置40への販売パッケージのインストールを支援するための処理を行う。例えば、インストール支援部152は、インストール対象とする販売パッケージを選択させるための画面を表示させるためのHTMLデータ(インストール一覧画面データ)を生成し、当該インストール一覧画面データを画像形成装置40のインストール部421に提供する。パッケージ更新支援部153は、画像形成装置40における販売パッケージの更新(バージョンアップ)を支援するための処理を行う。例えば、パッケージ更新支援部153は、更新対象とする販売パッケージの選択させるための画面を表示させるためのHTMLデータ(更新一覧画面データ)を生成し、当該更新一覧画面データを画像形成装置40のパッケージ更新部423に提供する。コンポーネント管理部154は、ダウンロードサーバ30の販売パッケージ管理部32に保存されている販売パッケージを定期的に取得し、販売パッケージの構成情報や販売パッケージに含まれている各機能パッケージの依存情報等をコンポーネント管理テーブル155又は依存関係管理テーブル156に登録する。なお、コンポーネント管理テーブル155及び依存関係管理テーブル156は、ライセンス管理サーバ10の記憶装置に保存されている。
【0037】
各機能パッケージが自己の依存先の情報を持ち、ライセンス管理サーバ10が、各機能パッケージの依存先の情報に基づいて依存関係管理テーブル156に機能パッケージ間の依存関係を登録することにより、複雑な依存関係に関する情報を簡便に登録できる。例えば、機能パッケージ(また、機能パッケージを含む販売パッケージ)の製造者により製造された機能パッケージがダウンロードサーバ30に配置されると、ライセンス管理サーバ10は、機能パッケージに含まれるパッケージ依存情報をダウンロードサーバ30より取得し、自動的に機能パッケージ間の依存関係を依存関係管理テーブル156に登録する。したがって、例えば、販売サイトの管理者と、機能パッケージ等の製造者とが異なっている場合であっても、販売サイトの管理者は機能パッケージの依存関係を認識している必要はない。結果として、例えばサードベンダ等による機能パッケージの製造を促進し、販売機会を増やすことができる。
【0038】
図6は、本発明の実施の形態におけるライセンス管理サーバのハードウェア構成例を示す図である。図6のライセンス管理サーバ10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105とを有する。
【0039】
ライセンス管理サーバ10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0040】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってライセンス管理サーバ10に係る機能(図5に示される各部)を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0041】
なお、ライセンス管理サーバ10に、液晶ディスプレイ又はCRTディスプレイ等の表示装置、及びキーボードやマウス等の入力装置を備えていてもよい。
【0042】
また、販売サーバ20、ダウンロードサーバ30、及びユーザPC50等も、図6と同様のハードウェア構成を有していればよい。
【0043】
図7は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図7において、画像形成装置40は、コントローラ41、スキャナ42、プリンタ43、モデム44、操作パネル45、ネットワークインタフェース46、及びSDカードスロット47等のハードウェアを有する。
【0044】
コントローラ41は、CPU411、RAM412、ROM413、及びHDD414等を有する。ROM413には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM412は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU411は、RAM412にロードされたプログラムを処理することにより、各種の機能(図5に示される各部)を実現する。HDD414には、プログラムやプログラムが利用する各種のデータ等が記録される。
【0045】
スキャナ42は、原稿より画像データを読み取るためのハードウェアである。プリンタ43は、画像データを印刷用紙に印刷するためのハードウェアである。モデム44は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル45は、ユーザからの入力の受け付けを行うめのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース46は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット47は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置40では、ROM413に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM412にロードされ、実行されうる。
【0046】
以下、第一の実施の形態の機器管理システム1において実行される処理手順について説明する。図8は、販売サーバによる販売パッケージの一覧情報の取得処理を説明するためのシーケンス図である。販売対象とする商品の構成は、販売地域ごとに決定される。図8の処理は、或る販売地域において販売対象の商品の構成が決定される際に実行される処理である。
【0047】
例えば、販売サイトの管理者により、商品情報の取得指示が販売サーバ20に入力されると、販売サーバ20の商品登録部21は、販売サーバ20の記憶装置に記憶されているドメイン名、販売サイトID、及びパスワードを指定して、ライセンス管理サーバ10のアクティベーションサーバ部11に認証要求を送信する(S101)。
【0048】
認証要求を受信した販売サーバ認証部117は、認証要求に指定されている情報と販売サイトマスタ118とに基づいて販売サーバ20の認証を行う。
【0049】
図9は、販売サイトマスタの構成例を示す図である。同図に示されるように、販売サイトマスタ118には、販売地域ごとに、ドメイン名、販売サイトID、及びパスワードが登録されている。
【0050】
販売サーバ認証部117は、認証要求に含まれているドメイン名、販売サイトID、及びパスワードと、販売サイトマスタ118に含まれているドメイン名、販売サイトID、及びパスワードとを照合することにより販売サーバ20の認証を行う。認証に成功した場合、販売サーバ認証部117は、セッションを開設し、セッションIDを販売管理部22に返信する(S102)。以降における販売管理部22とアクティベーションサーバ部11との通信は、セッションIDに基づいて行われる。
【0051】
続いて、商品登録部21は、販売パッケージの一覧情報の取得要求をアクティベーションサーバ部11の販売サーバ連携部111に送信する(S103)。販売サーバ連携部111は、販売パッケージの一覧情報の取得要求の受信に応じ、当該一覧情報を販売パッケージマスタ119より取得し、商品登録部21に返信する(S104)。
【0052】
図10は、販売パッケージマスタの構成例を示す図である。同図に示されるように、販売パッケージマスタ119には、販売パッケージごとに、プロダクトID、日本語による販売パッケージ名、日本語によるベンダ名、英語による販売パッケージ名、及び英語によるベンダ名等が登録されている。ステップS104で返信される一覧情報には、販売パッケージごとにこれらの情報が含まれる。なお、販売パッケージマスタ119への情報の登録は、例えば、ライセンス管理サーバ10の管理者によって行われる。
【0053】
商品登録部21は、販売パッケージの一覧情報を受信すると、当該一覧情報に基づいて販売サイトの管理者によって入力される情報を商品マスタ23に登録する(S105)。この際、必要に応じて当該管理者によってグループの定義も行われる。具体的には、グループIDが採番され、当該グループIDに係るグループに属する販売パッケージが決定される。グループの定義が行われた場合、商品登録部21は、定義されたグループ情報(グループIDとグループに属する販売パッケージのプロダクトIDとを含む情報)を販売サーバ連携部111に送信する(S106)。続いて、販売サーバ連携部111は、受信されたグループ情報をグループIDマスタ120に登録する。
【0054】
図11は、グループIDマスタの構成例を示す図である。同図に示されるように、グループIDマスタ120には、グループIDと販売サイトIDとの組み合わせごとに、当該グループIDに係るグループに属する販売パッケージのプロダクトIDが登録されている。グループIDが販売サイトIDと組み合わせられるのは、グループIDは、販売サイトごとに一意だからである。なお、図11では、同一のグループID(例えば、001)に係るレコードが複数登録された例が示されている。同図のグループIDマスタ120では、一つのレコードには一つの販売パッケージのプロダクトIDが登録されるからである。すなわち、同図では、グループID「001」のグループについては、三つの販売パッケージが属する例が示されている。
【0055】
続いて、ステップS105の詳細について説明する。図12は、商品マスタへの商品情報の登録処理の処理手順を説明するためのフローチャートである。
【0056】
ステップS111において、商品登録部21は、図8のステップS104において受信された販売パッケージの一覧情報を販売サーバ20の表示装置に表示させる。続いて、管理者によって、当該販売サーバ20が属する販売地域において販売対象とする販売パッケージが当該一覧情報の中から選択され、選択された各販売パッケージに関して、ライセンス形態、ライセンス有効期間、ボリューム数、及び商品名称等が入力される(S112)。また、必要に応じて、グループの定義とグループに属する販売パッケージの選択も行われる。
【0057】
続いて、商品登録部21は、販売対象として選択された各販売パッケージに係る商品の構成が定義された商品情報を商品マスタ23に登録する(S113)。
【0058】
図13は、販売サーバにおける商品マスタの構成例を示す図である。同図に示されるように、商品マスタ23は、商品ごとに商品ID(プロダクトID又はグループID)、ライセンス形態、ライセンス有効期間、ボリューム数、及び商品名称等を管理するテーブルである。ライセンス形態は、商品に属する販売パッケージに関するライセンスについて売り切り型、時限ライセンス、及びトライアルライセンス等の別を示す情報である。売り切り型は、購入後無期限に使用可能なライセンスである。時限ライセンスは、所定期間の間に限り有効な(使用可能な)ライセンスである。トライアルライセンスは、お試し用としての使用に対するライセンスである。ライセンス有効期間は、ライセンス形態が時限ライセンス又はトライアルライセンスの場合に有効な属性であり、ライセンスが有効な期間を示す。ボリューム数は、ライセンスのボリューム数である。ボリューム数が2以上の商品を購入した場合、ボリュームライセンスが与えられ、当該ボリューム数の範囲内で同一の販売パッケージの同時使用が許可される。商品名称は、商品の名称である。
【0059】
販売サーバ20の商品マスタ23に商品情報が登録されることにより、当該販売サーバ20の属する販売地域では、商品の販売が可能となる。
【0060】
続いて、図14は、商品の販売時における処理手順を説明するためのシーケンス図である。図14に示される販売サーバ20は、同図に示されるユーザPC50が属する販売地域の販売サーバ20である。
【0061】
或るユーザ環境E1におけるユーザが、ユーザPC50のWebブラウザ51に対し、購入可能な(販売対象とされている)商品の一覧を表示させるWebページ(商品一覧ページ)に対するURLを入力すると、Webブラウザ51は、商品一覧ページの取得要求を販売サーバ20の販売管理部22に送信する(S121)。
【0062】
続いて、販売管理部22は、商品マスタ23に基づいて商品一覧ページを生成する(S122)。具体的には、販売管理部22は、商品マスタ23に登録されている商品ごとに、商品名称、ライセンス形態、ライセンス有効期間、ボリューム数、及びチェックボタンを表示させるHTMLデータを商品一覧ページとして生成する。なお、チェックボタンは、購入対象とするか否かを選択させるためのものである。続いて、販売管理部22は、生成された商品一覧ページをWebブラウザ51に返信する(S123)。Webブラウザ51は、受信した商品一覧ページ51をユーザPC50の表示装置に表示させる。
【0063】
商品一覧ページ上において、購入対象とする商品に対するチェックボタンの選択及び購入ボタンの押下がユーザによって行われると、Webブラウザ51は、購入対象とされた商品の商品IDを含む購入要求を販売管理部22に送信する(S124)。すなわち、商品一覧ページは、選択された商品IDが購入ボタンの押下に応じて送信されるように定義されている。なお、商品一覧ページでは、複数の商品を選択可能である。したがって、ステップS124では、複数の商品IDが購入要求に含まれうる。
【0064】
続いて、販売管理部22は、ドメイン名、販売サイトID、及びパスワードを指定して、認証要求をライセンス管理サーバ10のアクティベーションサーバ部11に送信する(S125)。アクティベーションサーバ部11の販売サーバ認証部117は、認証要求に含まれているドメイン名、販売サイトID、及びパスワードと、販売サイトマスタ118に含まれているドメイン名、販売サイトID、及びパスワードとを照合することにより販売サーバ20の認証を行う。認証に成功した場合、販売サーバ認証部117は、セッションを開設し、セッションIDを販売管理部22に返信する(S126)。以降における販売管理部22とアクティベーションサーバ部11との通信は、セッションIDに基づいて行われる。
【0065】
続いて、販売管理部22は、購入要求に含まれている商品ID(プロダクトID又はグループID)に対するライセンス形態、ライセンス有効期間、及びボリューム数を商品マスタ23より取得し、当該商品ID(プロダクトID又はグループID)、ライセンス形態、ライセンス有効期間、及びボリューム数を指定して、プロダクトキーの発行要求をアクティベーションサーバ部11のプロダクトキー発行部112に送信する(S127)。
【0066】
プロダクトキーの発行要求に応じ、プロダクトキー発行部112はプロダクトキーを生成する(S128)。プロダクトキー発行部112は、当該プロダクトキーを販売管理部22に返信する(S129)。なお、複数の商品についてプロダクトキーの発行が要求された場合は、商品ごとにプロダクトキーが生成される。
【0067】
販売サーバ20のプロダクトキー通知部24は、プロダクトキーを受信すると、当該プロダクトキーを含むHTMLデータをWebブラウザ51に返信する(S130)。Webブラウザ51は、当該HTMLデータをユーザPC50の表示装置に表示させる。これにより、ユーザは、購入した商品に対して発行されたプロダクトキーを認識することができる。なお、プロダクトキー通知部24は、プロダクトキーが記述された電子メールをユーザPC50に送信することにより、プロダクトキーの配布を行ってもよい。
【0068】
続いて、ステップS128の詳細について説明する。図15は、プロダクトキー発行部によるプロダクトキー生成処理の処理手順を説明するためのフローチャートである。
【0069】
ステップS141において、プロダクトキー発行部112は、商品ID(プロダクトID又はグループID)、ライセンス形態、期間、及びボリューム数を受信する。続いて、プロダクトキー発行部112は、受信した商品IDがグループIDであるか否かを判定する(S142)。具体的には、当該商品IDと一致するグループIDをグループIDマスタ120より検索する。当該商品IDと一致するグループIDが検索された場合(S142でYes)、プロダクトキー発行部112は、当該グループIDに対応付けられている全てのプロダクトID(すなわち、グループに属する販売パッケージのプロダクトID)をグループIDマスタ120より取得する(S143)。
【0070】
ステップS142でNoの場合又はステップS143に続いて、プロダクトID発行部112は、受信したプロダクトID又はグループIDマスタ120より取得されたプロダクトIDを登録するためのレコードをライセンス管理テーブル121に生成する(S144)。したがって、グループIDマスタ120より複数のプロダクトIDが取得された場合、複数のレコードが生成される。また、プロダクトID発行部112は、同一のプロダクトIDについてボリューム数分のレコードを生成する。したがって、ボリューム数が2以上の場合、同一のプロダクトIDについて2以上のレコードが生成される。
【0071】
図16は、ライセンス管理テーブルの構成例を示す図である。同図においてライセンス管理テーブル121は、販売パッケージに関して発行されるライセンスごとに管理番号、プロダクトキー、プロダクトID、機体番号、ステータス、ライセンス形態、ライセンス有効期間、ライセンス有効期限、及びライセンス発行日等の項目を有する。
【0072】
これらの項目のうち、プロダクトID、ライセンス形態、及びライセンス有効期間は、販売管理部22より受信された値がステップS144において登録される。複数のレコードが生成された場合、生成された全てのレコードに同じ値が登録される。但し、グループライセンスの場合(グループIDに基づいて販売パッケージのプロダクトIDが取得された場合)、生成された各レコードには、取得された各プロダクトIDが登録される。
【0073】
管理番号は、ライセンス管理テーブル121に対するレコードの生成に伴って、各レコードに一意に割り当てられる識別子(番号)である。プロダクトキーには、後段のステップにおいて生成されるプロダクトキーが登録される。機体番号には、ライセンスファイル90が発行される際に、販売パッケージを利用する機器として指定された画像形成装置40の機体番号が登録される。機体番号とは、各画像形成装置40を一意に識別するための識別情報(機器識別子)である。ステータスは、ライセンスの状態を示す情報である。本実施の形態において、ライセンスは、「ライセンス無し」、「チェックアウト」、及び「チェックイン」の状態を有する。「ライセンス無し」は、ライセンスが発行されていない状態である。チェックアウトは、ライセンスが使用されている状態である。チェックインは、ライセンスが解放されている(使用可能な)状態である。ステータスについても、ステップS144では値は登録されない。ライセンス有効期限は、ライセンスファイル90が発行される際に、ライセンス有効期間に基づいて算出されるライセンス(ライセンスファイル90)の有効期限である。ライセンス発行日は、ライセンスファイル90が発行される際に登録される、ライセンス(ライセンスファイル90)の発行日である。
【0074】
続いて、プロダクトID発行部112は、プロダクトキーを一つ生成する(S145)。ステップS141において受信された商品IDがグループIDである場合も、ボリューム数が2以上である場合も生成されるプロダクトキーは一つである。
【0075】
図17は、プロダクトキーの構成例を示す図である。同図に示されるように、プロダクトキーは、ユニークID、商品ID、ライセンス形態、及びグループライセンスフラグ等を含むデータである。
【0076】
ユニークIDは、プロダクトキーの生成に伴って生成される一意なIDである。ユニークIDによってプロダクトキーの一意性が確保される。商品IDは、ステップS141において受信されたプロダクトID又はグループID、すなわち、購入された商品の販売パッケージ又はグループのプロダクトID又はグループIDである。ライセンス形態は、ステップS141において受信されたライセンス形態である。グループライセンスフラグは、当該プロダクトキー内の商品IDが、グループIDであるか(true)否か(false)を示すパラメータである。プロダクトキー生成部112は、受信された商品IDがグループIDであった場合、グループライセンスフラグの値をtrueとする。
【0077】
続いて、プロダクトキー生成部112は、生成されたプロダクトキーを、ステップS144において生成されたレコードに登録し、当該レコードのステータスを「チェックイン」とすることによりライセンス管理テーブル121を更新する(S146)。ステップS144において生成されたレコードが複数の場合(グループライセンスの場合、又はボリューム数が2以上(ボリュームライセンス)の場合)、各レコードには同じプロダクトキーが登録される。
【0078】
なお、図16のライセンス管理テーブル121において、管理番号1〜3のレコードは、ボリュームライセンスに対応したレコードである。ボリュームライセンスに係る各レコードは、プロダクトキー及びプロダクトIDは一致する。また、管理番号4及び5のレコードは、グループライセンス(グループに対するライセンス)に対応したレコードである。グループライセンスに係る各レコードは、プロダクトキーは同じである。但し、グループライセンスの各レコードは、それぞれ異なる販売パッケージに対応するため、当該各レコードのプロダクトIDは相互に異なる。
【0079】
このように生成されたプロダクトキーが、図14のステップS129において販売サーバ20の販売管理部22に送信され、販売管理部22からユーザPC50のWebブラウザ51に転送される。
【0080】
続いて、プロダクトキーが発行された商品に含まれる販売パッケージのインストールが行われる。
【0081】
図18は、販売パッケージのインストール時の処理手順を説明するためのシーケンス図である。
【0082】
プロダクトキーを入手したユーザは、当該プロダクトキーに対応する販売パッケージを利用する画像形成装置40に対してプロダクトキーを入力する(S151)。プロダクトキーの入力は、例えば操作パネル45に表示される以下の機能拡張設定メニュー画面を介して行われる。
【0083】
図19は、機能拡張設定メニュー画面の表示例を示す図である。機能拡張設定メニュー画面510は、画像形成装置40の機能拡張に関する各種のメニューを表示させる画面であり、所定の操作入力に応じてUI制御部426が操作パネル45に表示させる。機能拡張設定メニュー画面510において、新規追加メニュー511が選択されると、UI制御部426は、プロダクトキー入力画面を操作パネル45に表示させる。
【0084】
図20は、プロダクトキー入力画面の表示例を示す図である。プロダクトキー入力画面520は、プロダクトキー入力欄521を有する。ステップS151では、プロダクトキー入力欄521においてプロダクトキーの入力が行われる。
【0085】
プロダクトキー入力欄521にプロダクトキーが入力され、次へボタン522が選択されると、インストール部421は、入力されたプロダクトキーを指定して、当該プロダクトキーに係る販売パッケージに関するインストール一覧画面の生成要求をコンポーネントサーバ部15のインストール支援部152に送信する(S152)。
【0086】
続いて、インストール支援部152は、インストール一覧画面の生成要求を受信すると、当該要求において指定されたプロダクトキーの有効性の確認要求をアプリケーションサーバ部11のプロダクトキー検証部113に送信する(S153)。プロダクトキー検証部113は、ライセンス管理テーブル121を参照して、当該プロダクトキーの有効性を判定する(S154)。具体的には、当該プロダクトキーを含むレコードが登録されており、当該プロダクトキーを含むレコードのステータスが「チェックアウト」でなく、かつ、当該プロダクトキーを含むレコードのライセンス有効期限が現時点を超えていない場合(ライセンス有効期限の値が登録されていない場合も含む。)、当該プロダクトキーは有効であると判定される。それ以外の場合は、当該プロダクトキーは無効であると判定される。当該プロダクトキーが有効である場合、プロダクトキー検証部113は、ライセンス管理テーブル121において当該プロダクトキーに関連付けられているプロダクトID(すなわち、販売パッケージのプロダクトID)をインストール支援部152に返信する(S155)。したがって、グループライセンス又はボリュームライセンスに係るプロダクトキーについては複数のプロダクトIDが返信される。
【0087】
一方、判定対象とされたプロダクトキーは無効であると判定された場合、インストール支援部152は、プロダクトキーが無効であることを示すエラー画面を表示させるエラー画面データをインストール部421に返信する。インストール部421は、エラー画面データの受信に応じ、エラー画面データに基づくエラー画面の表示をUI制御部426に実行させる。
【0088】
図21は、プロダクトキーが無効であるときのエラー画面の表示例を示す図である。エラー画面530には、プロダクトキーエラー(プロダクトキーが無効)であることを示すメッセージやプロダクトキー入力欄531等が表示される。プロダクトキー入力欄531を介して、ユーザは、正しいプロダクトキーを入力し直すことができる。プロダクトキー入力欄531を介して正しいプロダクトキーが入力され、OKボタン532が選択された場合、ステップS152以降が再度実行される。一方、キャンセルボタン533が選択された場合、販売パッケージのインストールは中止される。
【0089】
ステップS155において、判定対象とされたプロダクトキーは有効であるとの判定結果が受信された場合、インストール支援部152は、プロダクトキー検証部113より返信されたプロダクトIDに対応する販売パッケージに関するインストール一覧画面データをコンポーネント管理テーブ155を参照して生成する(S156)。
【0090】
図22は、コンポーネント管理テーブルの構成例を示す図である。同図に示されるように、コンポーネント管理テーブル155には、販売パッケージごとに、プロダクトID、バージョン、名称、説明、ベンダ名、配布タイプ、ダウンロードパス、及び機能パッケージのプロダクトID等が登録されている。バージョンは、販売パッケージのバージョンである。名称は、販売パッケージの名前である。説明は、販売パッケージに関する説明である。ベンダ名は、販売パッケージのベンダの名前である。配布タイプは、販売パッケージの配布タイプである。ダウンロードパスは、ダウンロードサーバ30の販売パッケージ管理部32内における販売パッケージの位置情報である。本実施の形態では、当該位置情報としてURL(Uniform Resource Locator)が利用される。機能パッケージのプロダクトIDは、販売パッケージに属する機能パッケージのプロダクトIDの一覧である。
【0091】
なお、コンポーネント管理テーブル155の内容は、コンポーネント管理部154が、定期的にダウンロードサーバ30より販売パッケージを取得し、当該販売パッケージの内容を解析することにより登録される。具体的には、プロダクトID、バージョン、名称、説明、ベンダ名、及び配布タイプは、販売パッケージに格納されている販売パッケージ情報ファイルに記録されているプロダクトID、バージョン、名称、説明、ベンダ名、及び配布タイプが登録される。機能パッケージのプロダクトIDは、販売パッケージに含まれている各機能パッケージに格納されている機能パッケージ情報ファイルに記録されているプロダクトIDが登録される。なお、ダウンロードパスは、販売パッケージの取得の際にダウンロードサーバ30より通知される。
【0092】
続いて、インストール支援部152は、生成されたインストール一覧画面データを画像形成装置40のインストール部421に送信する(S157)。インストール部421は、受信したインストール一覧画面データをUI制御部426に入力する。UI制御部426は、インストール一覧画面データに基づいてインストール一覧画面を操作パネル45に表示させる(S158)。
【0093】
図23は、インストール一覧画面の表示例を示す図である。インストール一覧画面540には、インストール対象となりうる(インストール候補の)販売パッケージの一覧が表示され、販売パッケージごとにインストールの要否を選択させるためのチェックボタンが配置されている。ユーザは、インストール対象とする販売パッケージのチェックボタンをチェックする。図23では、パッケージ1〜4がインストール候補とされ、パッケージ1〜3がインストール対象として選択されている。
【0094】
インストール一覧画面540において、インストール対象とする販売パッケージのチェックボタンがチェックされ、インストールボタン541が選択されると(S159)、インストール部421は、インストール一覧画面540においてチェックされた(インストール対象とされた)販売パッケージのプロダクトIDと、画像形成装置40にインストールされている全ての販売パッケージの構成情報とを指定して、インストール対象とされた販売パッケージのインストール要求をコンポーネントサーバ部15のインストール支援部152に送信する(S160)。
【0095】
なお、インストール一覧画面540においてチェックされた販売パッケージのプロダクトIDはインストール一覧画面データより取得される。また、画像形成装置40にインストールされている全ての販売パッケージの構成情報は、インストール情報管理テーブル427より取得される。
【0096】
図24は、インストール情報管理テーブルの構成例を示す図である。同図において、インストール情報管理テーブル427には、画像形成装置40にインストールされている販売パッケージごとに、プロダクトID、バージョン、機能パッケージのプロダクトID、アクティベーションフラグ、及び有効期限等が登録されている。
【0097】
機能パッケージのプロダクトIDは、販売パッケージに属する機能パッケージのプロダクトIDの一覧である。アクティベーションフラグは、販売パッケージについてアクティベーションされているか否か(アクティベーション済みか否か)を示す。ライセンス有効期限は、販売パッケージに対して発行されたライセンスの有効期限(ライセンスファイル90の有効期限)である。なお、各機能パッケージのアクティベーションフラグ及びライセンス有効期限は、当該機能パッケージが属する販売パッケージのアクティベーションフラグ及びライセンス有効期限に従う。また、インストール情報管理テーブル427の内容は、後述される販売パッケージのインストール時に登録される。
【0098】
ステップS160において送信される構成情報には、インストール情報管理テーブル427に登録されている全ての情報が含められる。
【0099】
続いて、インストール支援部152は、インストール要求に含まれているプロダクトIDに係る販売パッケージの依存関係の検証を依存関係判定部151に実行させる(S161)。具体的には、依存関係判定部151は、プロダクトIDに係る販売パッケージに含まれている機能パッケージが依存する(利用する)他の機能パッケージが画像形成装置40に既にインストールされているか否かを判定する。
【0100】
続いて、インストール支援部152は、依存関係の検証結果に応じた確認画面(確認画面)を表示させるHTMLデータ(確認画面データ)を生成し(S162)、当該確認画面データをインストール部421に返信する(S163)。なお、ステップS161及びS162の詳細については後述する。
【0101】
続いて、インストール部421は、受信された確認画面データをUI制御部426に入力する。UI制御部426は、確認画面データに基づいて確認画面を操作パネル45に表示させる(S164)。
【0102】
図25は、依存関係に問題が無い場合の確認画面の表示例を示す図である。同図の確認画面550aには、インストール対象として選択された販売パッケージ(パッケージ1)について、依存関係に問題が無いことが示されている。具体的には、領域552aにおいて、パッケージ1が依存する販売パッケージ(依存パッケージ)は同時にインストール対象とされているか、又は既に画像形成装置40にインストールされていることが示されている。
【0103】
確認画面550aにおいてOKボタン551aが選択されると(S165)、インストール部421は、インストール対象とされた各販売パッケージに対するURLを指定して、当該各販売パッケージのダウンロード要求をダウンロードサーバ30のダウンロード処理部31に送信する(S166)。すなわち、OKボタン551aには、販売パッケージごとのURLと、ダウンロード要求の送信命令とが関連付けられている。
【0104】
また、図26は、依存パッケージも同時にインストール可能な場合の確認画面の表示例を示す図である。同図の確認画面550bの領域552bには、インストール対象として選択された販売パッケージの依存パッケージのうち、画像形成装置40にインストールされておらず、かつ、インストール対象とされていない依存パッケージについて、同時にインストール可能であること、及び同時にインストールすることについての要否の問い合わせが示されている。なお、依存パッケージを同時にインストール出来るか否かは、当該依存パッケージの配布タイプに基づいて判断される。
【0105】
確認画面550bにおいてOKボタン551bが選択されると(S165)、インストール部421は、インストール対象とされた各販売パッケージと、同時にインストールする販売パッケージ(依存パッケージ)に対するURLを指定して、当該各販売パッケージのダウンロード要求をダウンロードサーバ30のダウンロード処理部31に送信する(S166)。すなわち、OKボタン551bには、インストール対象とされた販売パッケージごとのURLと、同時にインストールする販売パッケージ(依存パッケージ)のURLと、ダウンロード要求の送信命令とが関連付けられている。
【0106】
更に、図27は、依存パッケージを同時にインストール出来ない場合の確認画面の表示例を示す図である。同図の確認画面550cの領域552cには、インストールできない販売パッケージが3つあることが示されている。当該3つについては、領域553c、554c、及び555cにその詳細が示されている。領域553cには、パッケージ3について、依存が解消できないこと(依存パッケージを同時にインストールすることができないこと)が示されている。領域554cには、パッケージ4について、既にライセンスが取得(使用)されていることが示されている。領域555cには、パッケージ5について、インストール対象とされている他のパッケージ(図27では、パッケージ1及びパッケージ2)と同時に導入できないパッケージであることが示されている。なお、図27は、パッケージ1〜5がインストール対象として選択された場合に対応する。
【0107】
確認画面550cにおいてOKボタン551cが選択されると(S165)、インストール部421は、インストール可能な各販売パッケージに対するURLを指定して、当該各販売パッケージのダウンロード要求をダウンロードサーバ30のダウンロード処理部31に送信する(S166)。すなわち、OKボタン551cには、インストール可能な販売パッケージごとのURLと、ダウンロード要求の送信命令とが関連付けられている。
【0108】
ステップS166のダウンロード要求に応じ、ダウンロード処理部31は、当該ダウンロード要求において指定されているURLによって識別される販売パッケージを販売パッケージ管理部32より取得し、当該販売パッケージをインストール部421に転送する(S167)。インストール部421は、受信された販売パッケージを、HDD414内の一時的な記憶領域(例えば、一時的なフォルダ)に保存しておく。
【0109】
販売パッケージのダウンロードが完了すると、インストール部421は、ステップS151において入力されたプロダクトキーと、インストール対象とされた販売パッケージのプロダクトIDと、ROM413又はHDD414に記録されている画像形成装置40の機体番号とを指定して、ライセンスファイル90の生成要求(ライセンスの使用要求)をアクティベーションサーバ部11のライセンス発行部115に送信する(S168)。続いて、ライセンス発行部115は、プロダクトキー及びライセンス管理テーブル121に基づいてライセンスファイル90を生成する(S169)。
【0110】
図28は、ライセンスファイルの構成例を示す図である。同図において、ライセンスファイル90は、プロダクトID、機体番号、及び有効期限を含む。プロダクトIDは、当該ライセンスファイル90によってライセンスが付与される(利用が許可される)販売パッケージのプロダクトIDである。機体番号は、当該ライセンスファイル90によってプロダクトIDに係る販売パッケージの利用が許可される画像形成装置40の機体番号である。有効期限は、当該ライセンスファイル90の有効期限、すなわち、当該ライセンスファイル90によって付与されるライセンスの有効期限である。
【0111】
ライセンスファイル90のプロダクトIDには、ライセンスファイル90の生成要求に含まれているプロダクトキーに係るプロダクトIDが登録される。ここで、当該プロダクトキーがグループライセンスに係るものである場合、すなわち、プロダクトキーに対して複数の異なるプロダクトIDがライセンス管理テーブル121に登録されている場合、ライセンス発行部115は、販売パッケージごとにライセンスファイル90を生成する。したがって、グループライセンスの場合であっても、ライセンスファイル90のプロダクトIDには、販売パッケージのプロダクトIDが登録される。
【0112】
ライセンスファイル90の機体番号には、ライセンスファイル90の生成要求に含まれている機体番号が登録される。ライセンスファイル90の有効期限には、ライセンスファイル90の生成要求に含まれているプロダクトキー及びプロダクトIDに対してライセンス管理テーブル121に登録されている有効期間を現時点に加算することに得られる時期(例えば、年月日)が登録される。
【0113】
続いて、ライセンス発行部115は、生成されたライセンスファイル90をインストール部421に返信する(S170)。インストール部421は、受信されたライセンス50を、HDD414内の一時的な記憶領域(例えば、一時的なフォルダ)に保存しておく。
【0114】
ライセンスファイル90の受信が完了すると、インストール部50は、販売パッケージのインストール処理を行う(S171)。インストール処理の詳細については後述する。
【0115】
なお、上記では、ステップS157におけるインストール一覧画面データ又はS163における確認画面データによって販売パッケージの取得指示が画像形成装置40に送信される例を説明した。但し、このタイミングにおいて販売パッケージ自体(プログラム本体)が画像形成装置40に送信されるようにしてもよい。この場合、コンポーネントサーバ部15がダウンロードサーバ30よりインストール対象の販売パッケージをダウンロードし、当該販売パッケージを画像形成装置40に転送すればよい。
【0116】
続いて、図18のステップS161及びS162においてライセンス管理サーバ10のコンポーネントサーバ部15によって実行される処理の詳細について説明する。
【0117】
図29は、コンポーネントサーバ部による依存関係の検証処理及び確認画面データの生成処理の処理手順を説明するためのフローチャートである。
【0118】
ステップS175において、依存関係判定部151は、図18のステップS160の依存関係の検証要求において受信されたプロダクトIDのうちの一つのプロダクトID(すなわち、販売パッケージ)を処理対象とする。続いて、依存関係判定部151は、処理対象の販売パッケージ(以下、「カレント販売パッケージ」という。)が既にアクティベーションされているか否かをステップS160において販売パッケージごとに受信された構成情報のうち、カレント販売パッケージに対する構成情報に含まれているアクティベーションフラグに基づいて判定する(S176)。アクティベーションされていない場合(S176でNo)、依存関係判定部151は、コンポーネント管理テーブル155(図24参照)及び依存関係管理テーブル156に基づいて、カレント販売パッケージが依存する販売パッケージ(依存パッケージ)の有無を判定する(S177)。
【0119】
図30は、依存関係管理テーブルの構成例を示す図である。同図において、依存関係管理テーブル156は、機能パッケージごとに当該機能パッケージのプロダクトID、及び当該機能パッケージが依存する機能パッケージのプロダクトIDが登録されている。依存する機能パッケージのプロダクトIDは、複数登録されていてもよい。なお、同図において、「0」は、依存する機能パッケージが無いことを示す。
【0120】
依存関係管理テーブル156の内容は、コンポーネント管理テーブル155と同様、コンポーネント管理部154が、定期的に取得される販売パッケージの内容を解析することにより登録される。具体的には、販売パッケージに含まれている各機能パッケージの機能パッケージ情報ファイルに記録されているパッケージ依存情報の内容が依存する機能パッケージのプロダクトIDとして依存関係管理テーブル156に登録される。
【0121】
ステップS177では、依存関係判定部151は、コンポーネント管理テーブル155においてカレント販売パッケージのプロダクトIDに対して登録されている機能パッケージのプロダクトIDの一覧を取得する。続いて、依存関係判定部151は、取得された各機能パッケージのプロダクトIDと依存関係管理テーブル156とに基づいて、当該機能パッケージが依存する機能パッケージ(以下、「依存機能パッケージ」という。)を特定する。依存機能パッケージが有る場合、依存関係管理テーブル156は、当該依存機能パッケージが属する販売パッケージをコンポーネント管理テーブル155を逆引きすることにより特定する。特定された販売パッケージが、カレント販売パッケージの依存パッケージである。なお、依存パッケージは複数存在しうる。また、機能パッケージ間の依存関係の探索は、再帰的に行われる。
【0122】
依存パッケージが無い場合(S177でNo)、依存関係判定部151は、カレント販売パッケージの依存関係に問題は無いことをカレント販売パッケージのプロダクトIDと関連付けてメモリ装置103に記録しておく(S178)。依存パッケージが有る場合(S177でYes)、依存関係判定部151は、当該依存パッケージが画像形成装置40に既にインストールされているか、又はインストール対象であるかをステップS160において販売パッケージごとに受信された構成情報、又はステップS160において受信されたインストール対象の販売パッケージのプロダクトIDに基づいて判定する(S179)。すなわち、依存パッケージに対応する構成情報が受信されていれば、依存パッケージは画像形成装置40に既にインストールされていると判定される。また、依存パッケージのプロダクトIDがインストール対象のプロダクトIDに含まれていれば、依存パッケージはインストール対象であると判定される。
【0123】
当該依存パッケージが既にインストールされている場合、(S179でYes)、依存関係判定部151は、当該依存パッケージが既にアクティベーションされているか否か(すなわち、利用可能な状態であるか否か)を販売パッケージごとに受信された構成情報に基づいて判定する(S180)。依存パッケージに対応する構成情報に含まれているアクティベーションフラグに基づいて依存パッケージがアクティベーションされているか否かが判定される。
【0124】
当該依存パッケージがアクティベーション済みである場合、又は当該依存パッケージがインストール対象である場合(S180でYes)、依存関係判定部151は、カレント販売パッケージの依存関係に問題は無いことをカレント販売パッケージのプロダクトIDと関連付けてメモリ装置103に記録しておく(S178)。アクティベーションされていない依存パッケージがある場合(S180でNo)、依存関係判定部151は、カレント販売パッケージについては、当該依存パッケージのアクティベーションが必要であることをカレント販売パッケージのプロダクトIDに関連付けてメモリ装置103に記録しておく(S181)。
【0125】
また、インストールされていない依存パッケージが有る場合(S179でNo)、依存関係判定部151は、当該依存パッケージは同時にインストール可能であるか否かをコンポーネント管理テーブル155に基づいて判定する(S182)。すなわち、コンポーネント管理テーブル155において、当該依存パッケージのプロダクトIDに対応する配布タイプが、アクティベーションは不要であることを示す場合、当該依存パッケージは同時にインストール可能であると判定される。当該依存パッケージの配布タイプがアクティベーションは必要であることを示す場合、当該依存パッケージは同時にインストール不可能であると判定される。
【0126】
同時にインストール可能な依存パッケージがある場合(S182でYes)、依存関係判定部151は、当該依存パッケージのプロダクトIDを、同時にインストール可能な依存パッケージのプロダクトIDとして販売パッケージのプロダクトIDに関連付けてメモリ装置103に記録しておく(S183)。同時にインストールできない依存パッケージが有る場合(S182でNo)、依存関係判定部151は、当該依存パッケージのプロダクトIDを、同時にインストール不可能な依存パッケージのプロダクトIDとしてカレント販売パッケージのプロダクトIDに関連付けてメモリ装置103に記録しておく(S184)。
【0127】
また、カレント販売パッケージがアクティベーション済みである場合(S176でYes)、依存関係判定部151は、ライセンスが取得済みであることをカレント販売パッケージのプロダクトIDに関連付けてメモリ装置103に記録しておく(S185)。
【0128】
ステップS175〜S185までの処理が、図18のステップS160の依存関係の検証要求において受信された全てのプロダクトIDについて完了すると(S186でYes)、インストール支援部152は、メモリ装置103に記録されている情報に基づいて確認画面データを生成する(S187)。例えば、全ての販売パッケージについて問題が無い場合、図25に示されるような確認画面550aを表示させる確認画面データが生成される。また、ステップS183に係る情報が記録されている場合、図26に示されるような確認画面550bを表示させる確認画面データが生成される。また、ステップS181、ステップS184、又はステップS185に係る情報が記録されている場合、図27に示されるような確認画面550cを表示させる確認画面データが生成される。
【0129】
なお、各確認画面データには、インストール可能な販売パッケージのURLがOKボタンに関連付けられる。インストール可能な販売パッケージのURLは、コンポーネント管理テーブル155のダウンロードパスより取得される。
【0130】
ところで、上記では、販売パッケージ単位で依存パッケージを示す例について説明した。但し、機能パッケージ単位で依存パッケージを示すようにしてもよい。なお、機能パッケージ単位で依存パッケージを示す場合であっても、本実施の形態では、販売パッケージが流通単位であるため、インストール対象とされるのは当該機能パッケージが含まれる販売パッケージとされる。
【0131】
続いて、図18のステップS168〜S170においてライセンス管理サーバ10のアクティベーションサーバ部11によって実行される処理の詳細について説明する。図31は、アクティベーションサーバ部によるライセンスファイル生成処理の処理手順を説明するためのフローチャートである。なお、図31では、一つのプロダクトキーを処理対象として説明する。したがって、複数のプロダクトキーが受信された場合、ステップS192以降はプロダクトキーごとに実行される。
【0132】
ステップS191において、ライセンス発行部115は、プロダクトキー、プロダクトID、及び機体番号を含むライセンスの使用要求を画像形成装置40のインストール部421より受信する。続いて、ライセンス発行部115は、当該プロダクトキーに係るライセンスの使用の可否を判定する。具体的には、ライセンス発行部115は、受信されたプロダクトキーがライセンス管理テーブル121に登録されているか否かを確認する(S192)。プロダクトキーが登録されている場合(S192でYes)、ライセンス発行部115は、受信された機体番号と同じ機体番号が当該プロダクトキーに対してライセンス管理テーブル121に登録されているか否かを確認する(S193)。同じ機体番号が登録されていない場合(S193でNo)、ライセンス発行部115は、当該プロダクトキー及び受信されたプロダクトIDに係るレコードの中で、ステータスが「チェックイン」のレコードがライセンス管理テーブル121に有るか否かを確認する(S194)。斯かるレコードが有る場合(S194でYes)、ライセンス発行部115は、当該レコードに対して受信された機体番号を記録し、当該レコードのステータスを「チェックアウト」とする(S196)。すなわち、当該プロダクトキーに対応するライセンスは使用されていることが記録される。また、ライセンス発行部115は、当該レコードに「ライセンス有効期間」が記録されている場合(すなわち、当該レコードが時限ライセンスに対応するレコードである場合)、現在日時にライセンス有効期間を加算して得られる日時をライセンス有効期限として当該レコードに記録する。
【0133】
続いて、ライセンス発行部115は、当該レコードにおける、プロダクトID、機体番号、及びライセンス有効期限を含むライセンスファイル90(図28参照)を生成する(S197)。なお、ライセンスファイル90は、ライセンス管理テーブル121のレコードごと、すなわち、販売パッケージに対するライセンスごとに生成される。続いて、ライセンス発行部115は、生成されたライセンスファイル90を画像形成装置40のインストール部421に返信する(S198)。
【0134】
一方、当該プロダクトキーに対して受信された機体番号と同じ機体番号が登録されているレコードが有る場合(S193でYes)、ライセンス発行部115は、当該レコードのステータスが「チェックイン」であるか否かを確認する(S195)。ステータスが「チェックイン」である場合(S195でYes)、ステップS196以降の処理が実行される。
【0135】
また、当該プロダクトキーに係るレコードがライセンス管理テーブル121に無い場合(S192でNo)、当該プロダクトキー及び受信されたプロダクトIDに係るレコードの中で、ステータスが「チェックイン」のレコードがライセンス管理テーブル121に無い場合(S194でNo)、又は、当該プロダクトキーに対して受信された機体番号と同じ機体番号が登録されているレコードのステータスが「チェックイン」でない場合(S195でNo)、ライセンス発行部115は、エラーを検出したとし、ライセンスファイル90の生成、すなわち、ライセンスの発行は行わない。
【0136】
続いて、図18のステップS171において画像形成装置40によって実行される処理の詳細について説明する。図32は、画像形成装置による販売パッケージのインストール処理の処理手順を説明するためのフローチャートである。
【0137】
ステップS211において、インストール部421は、一時的な記憶領域に保存されている各販売パッケージに含まれている情報と各ライセンスファイル90に含まれている情報とをインストール情報管理テーブル427に登録する。すなわち、インストール情報管理テーブル427におけるプロダクトID及びバージョンには、販売パッケージに含まれている販売パッケージ情報ファイルに記録されているプロダクトID及びバージョンが登録される。機能パッケージのプロダクトIDには、販売パッケージに含まれている各機能パッケージに格納されている機能パッケージ情報ファイルに記録されているプロダクトIDが登録される。また、アクティベーションフラグには、アクティベーション済みであることを示す値が記録される。また、ライセンス有効期限には、ライセンファイル50に記録されている有効期限が登録される。
【0138】
続いて、インストール部421は、一時的な記憶領域に保存されているライセンスファイル90及び販売パッケージを所定の記憶場所(フォルダ)に保存することにより、当該販売パッケージを利用可能な状態とする。
【0139】
なお、ライセンスファイル90は、販売パッケージに含まれる機能パッケージが起動される際に実行される、ライセンスチェック部424によるライセンスチェックに利用される。すなわち、ライセンスチェック部424は、起動対象とされた機能パッケージが属する販売パッケージに対応するライセンスファイル90が存在すること、当該ライセンスファイル90の機体番号が、機能パッケージが起動されようとしている画像形成装置40の機体番号と一致すること、及び当該ライセンスファイル90の有効期限が切れてないことが満たされている場合、当該機能パッケージの起動を許可する。それ以外の場合は、当該機能パッケージの起動は許可されない。但し、ライセンスチェック部424によるライセンスチェックは、コンポーネント管理テーブル425に基づいて行われてもよい。
【0140】
ところで、インストールされた販売パッケージに対する課金は、例えば、販売サーバ20の販売管理部22によって、アクティベーションサーバ部11より定期的に取得されるライセンス管理テーブル121の情報に基づいて行われる。より詳しくは、ライセンス管理テーブル121において、ライセンス発行日が前回の課金時より後であるレコードが存在する場合は、当該レコードに関するライセンスに対して課金が行われる。
【0141】
上述したように、第一の実施の形態によれば、ユーザは、ライセンス管理サーバ10のアクティベーションサーバ部11又はコンポーネントサーバ部15の誘導によって画像形成装置40に順次表示される画面に従って操作を行うことにより、簡便に販売パッケージのダウンロード、アクティベーション、及びインストールといった一連の作業を行うことができる。
【0142】
また、インストール対象として選択された販売パッケージに関して依存関係が自動的に検証され、依存パッケージについてもインストール対象に自動的に含められる。したがって、ユーザは、販売パッケージ間の複雑な依存関係を意識することなく、安心してインストールを行うことができる。
【0143】
また、商品の販売側(メーカー環境E2)にとっては、販売パッケージに関する顧客の利用状況等を適切に管理することができる。具体的には、ライセンス管理テーブル121によって、画像形成装置40(機体番号)単位でどのようなライセンスによってどのような販売パッケージが利用されているかを把握(管理)することができる。したがって、例えば、販売パッケージにバグが検出された場合や、販売パッケージのバージョンアップ等が行われた場合に、当該販売パッケージを利用している画像形成装置40を特定することができ、適切なアフターサービス等を提供することができる。
【0144】
また、商品の購入時(販売サーバ20への購入申請時)にライセンスの有効期限が定められるのではなく、販売パッケージのインストール時(すなわち、ライセンスの開始時)にライセンスの有効期限が定められるため、ライセンスの取り扱いに関して柔軟性を確保することができる。すなわち、ユーザは、商品の購入後、都合の良い時期にインストールを行えばよく、その場合であっても、ライセンス有効期間において不利益を被ることはない。
【0145】
次に、ライセンス更新処理について説明する。時限ライセンスの場合であって、更に継続して当該時限ライセンスに係る商品を利用した場合、ユーザはライセンス更新処理を実行することにより、当該商品のライセンス有効期間を延長することができる。
【0146】
図33は、ライセンス更新処理の処理手順を説明するためのシーケンス図である。
【0147】
ライセンスの更新が行われる場合、機能拡張設定メニュー画面510(図19参照)が操作パネル45に表示されている状態で、拡張機能管理メニュー513がユーザによって選択される。UI制御部426は、拡張機能管理メニュー513の選択に応じ、拡張機能管理画面を操作パネル45に表示させる。
【0148】
図34は、拡張機能管理画面の表示例を示す図である。拡張機能管理画面560は、販売パッケージ一覧表示領域561を有する。販売パッケージ一覧表示領域561には、画像形成装置40にインストールされている販売パッケージの一覧が表示されている。当該一覧には、販売パッケージごとにチェックボタンが配置されている。ユーザによって、ライセンスの更新対象とする販売パッケージのチェックボタンがチェックされ、ライセンス取得/更新ボタン562が選択されると、UI制御部426は、ライセンス取得/更新画面を操作パネル45に表示させる。
【0149】
図35は、ライセンス取得/更新画面の表示例を示す図である。ライセンス取得/更新画面570は、拡張機能管理画面560においてチェックされた販売パッケージに対するプロダクトキーを入力させるためのプロダクトキー入力欄572を有する。ユーザによって、プロダクトキー入力欄572にプロダクトキーが入力され、OKボタン571が選択されると(S301)、ライセンス更新部422は、入力されたプロダクトキーと、ライセンスの更新対象とされた販売パッケージのプロダクトIDと、ROM413又はHDD414に記録されている画像形成装置40の機体番号とを指定して、ライセンスの更新要求(新たなライセンスファイルの生成要求)をアクティベーションサーバ部11のライセンス発行部115に送信する(S302)。
【0150】
ライセンス発行部115は、ライセンスの更新要求の受信に応じ、ライセンス管理テーブル121の更新を実行する(S303)。具体的には、ライセンス発行部115は、当該更新要求において指定されているプロダクトキー、プロダクトID、及び機体番号に対応するレコードのライセンス形態が時限ライセンスである場合には、当該レコードのライセンス有効期限及びライセンス発行日を更新する。また、ライセンス発行部115は、当該レコードのステータスがチェックインであった場合は当該ステータスをチェックアウトに更新する。その際、新たなライセンス有効期限は、今まで登録されていたライセンス有効期限及び現時点(当日)のいずれか遅い方に当該レコードのライセンス有効期間を加算することに得られる時期とされる。また、新たなライセンス発行日は当日の年月日とされる。なお、複数のプロダクトIDが指定されている場合、複数のレコードに関して更新が行われる。
【0151】
続いて、ライセンス発行部1150は、ライセンス管理テーブル121において更新されたレコードごとに(すなわち、更新対象とされた販売パッケージごとに)、当該レコードに記録されているプロダクトID、機体番号、及び有効期限を含むライセンスファイル90(図28参照)を生成する(S304)。
【0152】
続いて、ライセンス発行部115は、生成されたライセンスファイル90をライセンス更新部422に返信する(S305)。ライセンス更新部422は、ライセンスの更新対象とされた販売パッケージに対する既存のライセンスファイル90を削除し、受信されたライセンス50をHDD414の所定の記憶領域に保存する(S306)。また、ライセンス更新部422は、受信されたライセンスファイル90に基づいてインストール情報管理テーブル427を更新する。具体的には、当該ライセンスファイル90に記録されているプロダクトIDに対応するレコードの有効期限を、当該ライセンスファイル90に記録されている有効期限によって更新する。また、ライセンス更新部422は、当該レコードのアクティベーションフラグをアクティベーション済みであることを示す値とする。
【0153】
以上の処理により、ユーザは、新たな有効期限まで同一の販売パッケージを利用することが可能となる。
【0154】
なお、ライセンスの更新に対する課金は、インストール時と同様に行われる。すなわち、販売サーバ20の販売管理部22によって、アクティベーションサーバ部11より定期的に取得されるライセンス管理テーブル121の情報に基づいて行われる。より詳しくは、ライセンス管理テーブル121において、ライセンス発行日が前回の課金時より後であるレコードが存在する場合は、当該レコードに関するライセンスに対して課金が行われる。
【0155】
次に、販売パッケージの更新処理(販売パッケージ更新処理)について説明する。ユーザは、ライセンスが有効であれば、バージョンアップされた販売パッケージを更新させることができる。
【0156】
図36は、販売パッケージ更新処理の処理手順を説明するためのシーケンス図である。機能拡張設定メニュー画面510が操作パネル45に表示されている状態において、更新メニュー512が選択されると(S401)、パッケージ更新部423は、画像形成装置40にインストールされている各販売パッケージのプロダクトID及びバージョンを指定して、販売パッケージの更新要求をコンポーネントサーバ部15のパッケージ更新支援部153に送信する(S402)。なお、各販売パッケージのプロダクトID及びバージョンは、インストール情報管理テーブル427より取得される。
【0157】
パッケージ更新支援部153は、受信された更新要求において指定されているプロダクトID及びバージョンと、コンポーネント管理テーブル155とに基づいて、更新対象となりうる(更新対象候補の)販売パッケージを判定する(S403)。具体的には、パッケージ更新支援部153は、受信されたバージョンより新しいバージョンがコンポーネント管理テーブル155に登録されている販売パッケージ(プロダクトID)の有無を判定する。受信されたバージョンより新しいバージョンがコンポーネント管理テーブル155に登録されている販売パッケージが有る場合、パッケージ更新支援部153は、当該販売パッケージを更新対象候補の販売パッケージとして認識する。
【0158】
続いて、パッケージ更新支援部153は、更新対象候補の販売パッケージの依存関係の検証を依存関係判定部151に実行させる(S404)。インストール時において既に依存関係の検証が行われているのにも拘わらず更新時にも依存関係が検証されるのは、バージョンアップにより販売パッケージ間の依存関係が変化している可能性があるためのである。なお、ステップS404における依存関係の検証処理は、インストール時と同様である(図29参照)。
【0159】
依存関係に問題無い場合、パッケージ更新支援部153は、更新対象候補の販売パッケージの中から更新対象とする販売パッケージを選択させるための画面(更新一覧画面)を表示させる更新一覧画面データを生成する(S405)。続いて、パッケージ更新支援部153は、生成された更新一覧画面データをパッケージ更新部423に返信する(S406)。なお、依存関係に問題がある場合、更新対象候補の販売パッケージに関してインストール時と同様の確認画面データが生成され、当該確認画面データがパッケージ更新部423に返信される。
【0160】
続いて、パッケージ更新部423は、受信された更新一覧画面データをUI制御部426に入力する。UI制御部426は、更新一覧画面データに基づいて更新一覧画面を操作パネル45に表示させる(S407)。
【0161】
図37は、更新一覧画面の表示例を示す図である。更新一覧画面580は、更新パッケージ一覧表示領域581を有する。更新パッケージ一覧表示領域581には、バージョンアップされている販売パッケージの一覧が表示されている。当該一覧には、販売パッケージごとにチェックボタンが配置されている。
【0162】
ユーザによって、更新対象とする販売パッケージのチェックボタンがチェックされ、更新ボタン582が選択されると(S408)、パッケージ更新部423は、更新対象とされた各販売パッケージに対するURLを指定して、当該各販売パッケージのダウンロード要求をダウンロードサーバ30のダウンロード処理部31に送信する(S409)。
【0163】
すなわち、更新一覧画面データには、更新対象候補の各販売パッケージのURLが含まれている。また、更新ボタン582には、更新パッケージ一覧表示領域581においてチェック(選択)された販売パッケージのURLを指定したダウンロード要求の送信命令が関連付けられている。
【0164】
続いて、ダウンロード処理部31は、受信されたダウンロード要求において指定されているURLによって識別される販売パッケージを販売パッケージ管理部32より取得し、当該販売パッケージをパッケージ更新部423に転送する(S410)。パッケージ更新部423は、受信された販売パッケージをHDD414内の所定の記憶領域に保存することにより、旧バージョンの販売パッケージを更新する。また、パッケージ更新部423は、受信された販売パッケージに格納されている販売パッケージ情報ファイルに記録されているプロダクトIDとバージョンに基づいて、インストール情報管理テーブル427を更新する。具体的には、パッケージ管理テービル425において、当該プロダクトIDに対応するパージョンの値が更新される。
【0165】
次に、ディアクティベーション処理について説明する。図38は、ディアクティベーション処理の処理手順を説明するためのシーケンス図である。
【0166】
ステップS501において、ディアクティベーション部425は、ユーザよりディアクティベーション指示の入力を受け付ける(S501)。ディアクティベーション指示の入力は、拡張機能管理画面560(図34参照)を介して行われる。すなわち、機能拡張管理画面560の販売パッケージ一覧表示領域561において、ディアクティベーション対象とする販売パッケージがチェックされ、ライセンス解除ボタン563が選択されると、ディアクティベーション部425は、チェックされた販売パッケージをディアクティベーション対象として認識する。
【0167】
続いて、ディアクティベーション部425は、ディアクティベーション対象とされた販売パッケージのプロダクトIDと画像形成装置40の機体番号とを指定してディアクティベーション要求(ライセンスの解放要求)をアクティベーションサーバ部11のディアクティベーション部116に送信する(S502)。ディアクティベーション部116は、ライセンス管理テーブル121において、指定されたプロダクトID及び機体番号に係るレコードのステータスを「チェックアウト」から「チェックイン」に変更する。すなわち、当該ライセンスは使用されていないことを示す情報が記録される。なお、ディアクティベーションは、ステータスが「チェックアウト」のライセンスに関して実行可能である。したがって、対象となるレコードのステータスが「チェックアウト」でない場合、ディアクティベーション部116は、ディアクティベーション処理は失敗したと判断する。
【0168】
続いて、ディアクティベーション部116は、ディアクティベーション処理結果(処理の成否)を画像形成装置40のディアクティベーション部425に返信する(S504)。ディアクティベーション処理に成功した場合、ディアクティベーション部425は、ディアクティベーション対象とされた販売パッケージと当該販売パッケージに対するライセンスファイル90とをHDD414より削除する(S505)。また、ディアクティベーション部425は、インストール情報管理テーブル427より、当該販売パッケージに対応するレコードを削除する。
【0169】
これにより、当該画像形成装置40では当該販売パッケージに含まれる機能パッケージの利用ができなくなる。一方、当該販売パッケージのライセンスは解放されたため、当該ライセンスの有効期限内であれば必要に応じて他の画像形成装置40において当該ライセンスを利用することができる。すなわち、ディアクティベーション処理は、或る画像形成装置40における販売パッケージのライセンスを当該画像形成装置40のリース期間切れ等の理由により他の画像形成装置40に移動させたい場合に特に有用である。
【0170】
ディアクティベーション処理は、画像形成装置40によって、有効期限が切れたライセンスが検出された場合にも自動的に実行される。
【0171】
図39は、画像形成装置におけるディアクティベーションの自動実行処理の処理手順を説明するためのフローチャートである。
【0172】
例えば、画像形成装置40の起動時、又は予め設定された所定時刻等において(S511でYes)、ディアクティベーション部425は、画像形成装置40のHDD414に保存されている全てのライセンスファイル90の有効期限をチェックする(S512)。具体的には、ディアクティベーション部425は、ライセンスファイル90の有効期限と現在時刻とを比較し、有効期限が切れているライセンスファイル90の有無を確認する。有効期限が切れているライセンスファイル90が存在した場合(S512でYes)、ディアクティベーション部425は、当該ライセンスファイル90に記録されているプロダクトID(販売パッケージ)について、図38において説明したディアクティベーション処理を実行する(S513)。
【0173】
上述したように、第一の実施の形態によれば、ライセンスの更新、販売パッケージの更新、及びディアクティベーション処理についても、ユーザは、画像形成装置40に表示される画面の誘導にしたがって、簡便に作業を行うことができる。
【0174】
また、販売パッケージの実体とライセンスとが明確に分離されているため、ライセンスのみ更新したり、販売パッケージのみ更新(バージョンアップ)したりといったように、柔軟な運用を可能とすることができる。
【0175】
次に、第二の実施の形態について説明する。図40は、第二の実施の形態における機器管理システム構成例を示す図である。図40中、図1と同一部分には同一符号を付し、その説明は適宜省略する。
【0176】
図40では、ユーザ環境E1において、機器管理装置60が追加されている。機器管理装置60は、画像形成装置40において動作するコンポーネントや当該コンポーネントのライセンス(利用権限)の取得及び導入等を一括して行うPC(Personal Computer)等のコンピュータである。機器管理装置60のハードウェア構成は、図6に示されるものと同様でよい。但し、機器管理装置60は、液晶ディスプレイ等の表示装置、並びにキーボード及びマウス等の入力装置を備える。機器管理装置60は、各画像形成装置40とLAN(Local Area Network)等のネットワーク70(有線又は無線の別は問わない。)を介して接続されている。なお、ユーザPC50もネットワーク70に接続されていてもよい。また、ユーザPC50が機器管理装置60を兼ねてもよい。
【0177】
図41は、第二の実施の形態における機器管理装置の機能構成例を示す図である。
【0178】
同図において、機器管理装置60は、UI制御部611、パッケージ情報取得部612、機器情報取得部613、インストール先受付部614、妥当性確認部615、パッケージ取得部616、ライセンス取得部617、インストール制御部618、アンインストール先判定部619、ディアクティベーション制御部620、及びアンインストール制御部621等を有する。これら各部は、機器管理装置60にインストールされたプログラムが機器管理装置60のCPUに実行させる処理によって実現される。
【0179】
UI制御部611は、ユーザによる指示(販売パッケージのインストール又はアンインストール等の指示等)を受け付ける。パッケージ情報取得部612は、インストール又はアンインストール対象とされた販売パッケージの構成情報をライセンス管理サーバ10より取得する。機器情報取得部613は、画像形成装置40より機器情報を取得する。機器情報には、画像形成装置40にインストールされている販売パッケージ及びファームウェアに関する情報が含まれる。インストール先受付部614は、販売パッケージのインストール先とする画像形成装置40の指定をユーザより受け付ける。妥当性確認部615は、インストール対象とされた販売パッケージについて、インストール先とされた画像形成装置40へのインストールの妥当性の検証をライセンス管理サーバ10の依存関係判定部151に実行させる。
【0180】
パッケージ取得部616は、インストール対象の販売パッケージをダウンロードサーバ30よりダウンロード(取得)する。ライセンス取得部617は、インストール対象の販売パッケージに関するライセンスファイル90をライセンス管理サーバ10より取得する。インストール制御部618は、販売パッケージ及びライセンスファイル90を画像形成装置40に送信する。
【0181】
アンインストール先判定部619は、アンインストール対象とされた販売パッケージがインストールされている画像形成装置40を判定する。ディアクティベーション制御部620は、画像形成装置40に対してライセンスファイル90の削除要求を送信し、ライセンス管理サーバ10に対して当該ライセンスファイル90に係るライセンスの解放を要求する。アンインストール制御部621は、販売パッケージのアンインストールを画像形成装置40に要求する。
【0182】
なお、ライセンス管理サーバ10、ダウンロードサーバ30、及び画像形成装置40等、他の装置の機能構成については第一の実施の形態と同様でよい。
【0183】
以下、機器管理システム2の処理手順について説明する。図42は、第二の実施の形態における販売パッケージのインストール及びアクティベーションの処理手順を説明するためのシーケンス図である。同図において、画像形成装置40のユーザは、販売パッケージに係るいずれかの商品を購入し、当該商品のプロダクトキーを入手済みであるとする。商品の購入方法及びプロダクトキーの入手方法については、第一の実施の形態と同様でよい。なお、図42では、機器管理装置60が操作対象とされる。
【0184】
機器管理装置60のUI制御部611は、表示装置に表示させている初期画面を介して販売パッケージのインストールの開始指示の入力を受け付けると、プロダクトキー入力画面を表示装置に表示させる(S601)。インストール対象の販売パッケージ(以下、「カレント販売パッケージ」という。)のプロダクトキーがプロダクトキー入力画面を介してユーザによって入力されると(S602)、パッケージ情報取得部612は、入力されたプロダクトキーを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンス管理サーバ10のインストール支援部152に送信する(S603)。
【0185】
ライセンス管理サーバ10のインストール支援部152は、パッケージ情報の取得要求の受信に応じ、図18のステップS153〜S155と同様の手順によってプロダクトキーの有効性の確認をプロダクトキー検証部113に実行させる。
【0186】
当該プロダクトキーが有効であると判定された場合、インストール支援部152は、受信されたプロダクトキーに対して登録されている情報をコンポーネント管理テーブル155(図22参照)より取得し、取得された情報をパッケージ情報としてパッケージ情報取得部612に返信する(S604)。したがって、パッケージ情報には、少なくとも当該プロダクトキーに関連付けられているプロダクトID(すなわち、カレント販売パッケージのプロダクトID)が含まれている。また、当該プロダクトキーがグループライセンス又はボリュームライセンスに係るものである場合、複数のプロダクトID(複数のレコード)に係る情報がパッケージ情報に含まれる。
【0187】
パッケージ情報取得部612によってパッケージ情報が受信されると、機器管理装置60のUI制御部611は、受信されたパッケージ情報を含む画面(確認画面)を表示装置に表示させ、カレント販売パッケージの内容及びそのライセンスの内容をユーザに確認させる(S605)。
【0188】
ユーザによって、インストール作業の継続指示が入力されると(例えば、確認画面においてOKボタンが押下されると)、インストール先受付部614は、画像形成装置40の一覧を含む機器選択画面を表示装置に表示させ、カレント販売パッケージをインストールする画像形成装置40をユーザに選択させる(S606)。機器選択画面においては、複数の画像形成装置40を選択することも可能である。なお、機器選択画面では、予めそのIPアドレス及びホスト名等が記憶装置に記憶されている画像形成装置40が表示対象とされる。または、機器情報取得部613が、ブロードキャスト等をネットワーク70上に発行することにより、ネットワーク70に接続されている画像形成装置40を動的に検索し、検索された画像形成装置40のホスト名等を機器選択画面に表示させてもよい。
【0189】
続いて、機器情報取得部613は、機器選択画面において選択された各画像形成装置40に対して機器情報の取得要求を送信する(S607)。機器情報の取得要求を受信した各画像形成装置40のインストール部421は、インストール情報管理テーブル427(図24参照)に記録されている情報を取得し、取得された情報と当該画像形成装置40の機体番号とを含む情報を機器情報として機器情報取得部613に返信する(S608)。
【0190】
続くステップS609は、機器情報が取得された(機器選択画面で選択された)画像形成装置40ごとに実行されるループ処理である。ループ処理において処理対象とされる画像形成装置40を以下、「カレント機器」という。
【0191】
ステップS609−1において、妥当性確認部615は、カレント機器の機器情報と、パッケージ情報取得部612によって取得されたパッケージ情報とを含む妥当性検証要求をライセンス管理サーバ10に送信する。ここでいう「妥当性」とは、カレント販売パッケージに含まれる機能パッケージをカレント機器にインストールすることの妥当性である。ライセンス管理サーバ10の依存関係判定部151は、妥当性検証要求の受信に応じ、図29において説明した処理と同様の処理により、カンレント販売パッケージの依存関係を検証する。依存関係に問題が無い場合、依存関係判定部151は、妥当性は有ると判定する。依存関係に問題が有る場合、依存関係判定部151は、妥当性は無いと判定する。
【0192】
続いて、依存関係判定部151は、妥当性の検証結果を妥当性確認部615に返信する(S609−2)。妥当性が有ると判定された場合であって、依存パッケージがカレント機器にインストールされていない場合、検証結果には、当該依存パッケージ(以下、「未導入依存パッケージ」という。)についてコンポーネント管理テーブル155に記録されている情報が含められる。当該情報は、当該未導入依存パッケージの取得指示に相当する。
【0193】
妥当性は有ることを示す検証結果が受信されると、パッケージ取得部616は、カレント販売パッケージのパッケージ情報に含まれているダウンロードパス(URL)に基づいて、カレント販売パッケージのダウンロード要求をダウンロードサーバ30に送信する(S609−3)。ダウンロード要求に応じ、ダウンロード処理部31は、当該ダウンロード要求において指定されているURLによって識別される販売パッケージを販売パッケージ管理部32より取得し、当該販売パッケージを返信する(S609−4)。カレント販売パッケージが複数の場合、ダウンロード(S609−3、S609−4)は複数回繰り返される。また、ステップS609−2において未導入依存パッケージのパッケージ情報を含む検証結果が受信された場合、未導入依存パッケージに関してもダウンロードが実行される。なお、カレントパッケージが複数である場合とは、例えば、ステップS601において入力されたプロダクトキーがグループライセンスに係るものである場合や、複数のプロダクトキーが入力された場合等である。
【0194】
続いて、ライセンス取得部617は、ステップS601において入力されたプロダクトキーと、カレント販売パッケージのプロダクトIDと、カレント機器の機体番号とを指定して、ライセンスの使用要求をライセンス管理サーバ10に送信する(S609−5)。
【0195】
ライセンス管理サーバ10のライセンス発行部115は、図31と同様の処理を実行することによりライセンスファイル90を生成し、生成されたラインセンスファイル50をライセンス取得部617に返信する(S609−6)。
【0196】
なお、ライセンス取得部617は、パッケージ取得部616による販売パッケージの取得(ダウンロード)に成功した場合にステップS609−5を実行する。すなわち、ライセンス取得部617は、販売パッケージが正常に取得できなかった場合には、ライセンスファイル90の取得は行わない。販売パッケージが取得できない場合、当該販売パッケージのインストールは不可能である。それにも拘わらず当該販売パッケージに係るライセンスファイル90が取得されてしまうと、実際には利用していない販売パッケージについてライセンスの使用が開始されたこととされてしまい、ユーザに不利益を及ぼしてしまうからである。
【0197】
続いて、インストール制御部618は、ステップS609−4において未導入依存パッケージが取得されている場合、当該未導入依存パッケージをカレント機器に送信し、当該未導入依存パッケージのインストールをカレント機器に要求する(S609−7)。カレント機器のインストール部421は、未導入依存パッケージをインストールし、当該未導入依存パッケージの情報(プロダクトID等)をインストール情報管理テーブル427に記録する。
【0198】
続いて、インストール制御部618は、未導入依存パッケージのインストール結果をカレント機器に問い合わせる(S609−8)。当該問い合わせ(ポーリング)は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
【0199】
先に未導入依存パッケージをインストールさせるのは、依存先のコンポーネントがインストールされていないことによる、販売パッケージのインストールの失敗を回避するためである。
【0200】
続いて、インストール制御部618は、ステップS609−4において取得されている販売パッケージ(カレント販売パッケージ)、及びステップS604−6において取得されているライセンスファイル90をカレント機器に送信し、当該販売パッケージのインストール及びアクティベーションをカレント機器に要求する(S609−9)。カレント機器のインストール部421は、受信された販売パッケージ及びライセンスファイル90に関して図18において説明した処理を実行する。その結果、販売パッケージはカレント機器において利用可能な状態となる。
【0201】
続いて、インストール制御部618は、販売パッケージのインストール結果をカレント機器に問い合わせる(S609−10)。当該問い合わせ(ポーリング)は、カレント機器においてインストールが完了し、インストール結果が返信されるまで繰り返される。
【0202】
続いて、販売パッケージのアンインストール及びディアクティベーション(ライセンスの解放)に関する処理について説明する。
【0203】
図43は、第二の実施の形態における販売パッケージのアンインストール及びディアクティベーションの処理手順を説明するためのシーケンス図である。
【0204】
ステップS701において、機器管理装置60のUI制御部611は、表示装置に表示させているアンインストール画面を介してアンインストール対象のプロダクトキーの入力をユーザより受け付ける。続いて、パッケージ情報取得部612は、入力されたプロダクトキーを指定して当該プロダクトキーに係るパッケージ情報の取得要求をライセンス管理サーバ10に送信する(S702)。
【0205】
続いて、ライセンス管理サーバ10のコンポーネント管理部154は、図42のステップS603に応じて実行される処理と同様の処理を実行し、受信されたプロダクトキーに係る販売パッケージのパッケージ情報をパッケージ情報取得部612に返信する(S703)。当該プロダクトキーがグループライセンスに係るものである場合、複数の販売パッケージに関するパッケージ情報が返信される。
【0206】
当該プロダクトキーがグループライセンスに係るものである場合、すなわち、複数の販売パッケージに関するパッケージ情報が受信された場合、UI制御部611は、当該販売パッケージの一覧情報を含む販売パッケージ選択画面を表示装置に表示させ、アンインストール対象とする販売パッケージをユーザに選択させる(S704)。以下、選択された販売パッケージを「カレント販売パッケージ」という。
【0207】
続いて、機器情報取得部613は、各画像形成装置40に対して機器情報の取得要求を送信する(S705)。各画像形成装置40のディアクティベーション部424は、機器情報の取得要求に応じ、インストール情報管理テーブル427に記録されている情報を取得し、取得された情報と当該画像形成装置40の機体番号とを含む情報を機器情報として機器情報取得部613に返信する(S706)。
【0208】
続いて、アンインストール先判定部619は、ステップS703において取得されたパッケージ情報を、ステップS706で各画像形成装置40取得された機器情報と照合し、当該パッケージ情報に係る販売パッケージがインストールされている画像形成装置40を判定する(S707)。具体的には、当該パッケージ情報に含まれているプロダクトID(販売パッケージのプロダクトID)を含む機器情報に係る画像形成装置40が、当該販売パッケージのインストールされている画像形成装置40(すなわち、販売パッケージのアンインストール先の画像形成装置40)であると判定される。
【0209】
続くステップS708は、販売パッケージのアンインストール先の画像形成装置40ごとに実行されるループ処理である。ループ処理において処理対象とされる画像形成装置40を以下、「カレント機器」という。
【0210】
ステップS708−1において、ディアクティベーション制御部620は、カレント販売パッケージのプロダクトIDを指定して、ディアクティベート要求(ライセンスファイル90の削除要求)をカレント機器に送信する。カレント機器のディアクティベーション部424は、当該要求に応じ、指定されたプロダクトIDに係るライセンスファイル90を削除する。
【0211】
続いて、ディアクティベーション制御部620は、ライセンスファイル90の削除処理の結果をカレント機器に問い合わせる(S708−2)。当該問い合わせ(ポーリング)は、カレント機器においてライセンスファイル90の削除処理が完了し、当該削除処理の処理結果が返信されるまで繰り返される。
【0212】
続いて、アンインストール制御部621は、カレント販売パッケージのプロダクトIDを指定して、アンインストール要求(販売パッケージの削除要求)をカレント機器に送信する(S708−3)。カレント機器のディアクティベーション部424は、当該要求に応じ、指定されたプロダクトIDに係る販売パッケージをアンインストール(削除)する。
【0213】
続いて、ディアクティベーション制御部620は、カレント販売パッケージのアンインストール結果をカレント機器に問い合わせる(S708−4)。当該問い合わせ(ポーリング)は、カレント機器においてアンインストールが完了し、インストール結果が返信されるまで繰り返される。
【0214】
ステップS708が、販売パッケージのアンインストールの対象とされた全ての画像形成装置40について実行された後、ディアクティベーション制御部620は、カレント販売パッケージのプロダクトIDと、当該全ての画像形成装置40の機体番号とを指定してディアクティベート要求(ライセンスの解放要求)をライセンス管理サーバのディアクティベーション部116に送信する(S709)。ディアクティベーション部116は、図38のステップS503において説明した通りの処理を実行する。その結果、指定されたプロダクトID及び機体番号に係るライセンスのステータスは「チェックイン」に変更される。続いて、ディアクティベーション部116は、ディアクティベーション処理結果(処理の成否)を機器管理装置60のディアクティベーション制御部620に返信する(S210)。
【0215】
上述したように、第二の実施の形態における機器管理装置60によれば、複数の画像形成装置40に対して一括してインストール及びアクティベーション(ライセンスの使用開始)等を行うことができる。したがって、特に、画像形成装置40の台数が多いユーザ環境E1において、ユーザの作業負担を著しく軽減させることができる。
【0216】
なお、本実施の形態においては画像形成装置40を機器の一例として説明したが、本発明の適用範囲は画像形成装置40に限定されない。プログラムを追加(インストール)可能な機器であれば、本発明は有効に適用されうる。
【0217】
次に、第三の実施の形態について説明する。図44は、第三の実施の形態における機器管理システム構成例を示す図である。図44中、図1と同一部分には同一符号を付し、その説明は適宜省略する。
【0218】
図44では、ユーザ環境E1において、Webクライアント端末65が追加されている。Webクライアント端末65は、Webブラウザを備えたPC(Personal Computer)等のコンピュータ又は電子機器である。Webクライアント端末65のハードウェア構成は、例えば、図6に示されるものと同様でよい。但し、Webクライアント端末65は、液晶ディスプレイ等の表示装置、並びにキーボード及びマウス等の入力装置を備える。Webクライアント端末65は、各画像形成装置40とLAN(Local Area Network)等のネットワーク75(有線又は無線の別は問わない。)を介して接続されている。なお、ユーザPC50がWebクライアント端末65を兼ねてもよい。
【0219】
図45は、第三の実施の形態における機器管理システムの機能構成例を示す図である。図45中、図5と同一部分には同一符号を付し、その説明は省略する。
【0220】
同図において、画像形成装置40は、Webサーバ部428を更に有する。Webサーバ部428は、第一の実施の形態においてUI制御部426によって操作パネル45に表示されていた画面について、Webクライアント端末65に表示させるための処理を実行する。具体的には、Webサーバ部428は、各種画面のHTMLデータをWebクライアント端末65に送信する。
【0221】
一方、Webクライアント端末65は、Webブラウザ651を有する。Webブラウザ651は、Webサーバ部428より送信されるHTMLデータを受信し、当該HTMLデータに基づいて各種画面をWebクライアント端末651の表示装置に表示させる。
【0222】
すなわち、第三の実施の形態の機器管理システム3によれば、ユーザは、第一の実施の形態において操作パネル45を介して行う操作を、Webクライアント端末65を介して遠隔的に行うことができる。具体的には、ユーザは、図18のシーケンス図における、ステップS151、S159、及びS165における指示入力を、Webブラウザ651が表示させる画面を介して行うことができる。したがって、第三の実施の形態では、Webサーバ部428が、ライセンスキーの入力を受け付ける入力手段の一例に相当する。
【0223】
なお、上記各実施の形態においては、ライセンス管理サーバ10、販売サーバ20,及びダウンロードサーバ30がそれぞれ別個の装置であるとして説明した。但し、ライセンス管理サーバ10が、販売サーバ20及びダウンロードサーバ30の少なくともいずれか一方の機能を含むように構成されてもよい。
【0224】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0225】
1、2 機器管理システム
10 ライセンス管理サーバ
11 アクティベーションサーバ部
15 コンポーネントサーバ部
20 販売サーバ
21 商品登録部
22 販売管理部
23 商品マスタ
24 プロダクトキー通知部
30 ダウンロードサーバ
31 ダウンロード処理部
32 販売パッケージ管理部
40 画像形成装置
41 コントローラ
42 スキャナ
43 プリンタ
44 モデム
45 操作パネル
46 ネットワークインタフェース
47 SDカードスロット
50 ユーザPC
51 Webブラウザ
60 機器管理装置
65 Webクライアント端末
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 販売サーバ連携部
112 プロダクトキー発行部
113 プロダクトキー検証部
115 ライセンス発行部
116 ディアクティベーション部
117 販売サーバ認証部
118 販売サイトマスタ
119 販売パッケージマスタ
120 グループIDマスタ
121 ライセンス管理テーブル
151 依存関係判定部
152 インストール支援部
153 パッケージ更新支援部
154 コンポーネント管理部
155 コンポーネント管理テーブル
411 CPU
412 RAM
413 ROM
414 HDD
421 インストール部
422 ライセンス更新部
423 ライセンス更新部
424 ライセンスチェック部
425 ディアクティベーション部
426 UI制御部
427 インストール情報管理テーブル
428 Webサーバ部
611 UI制御部
612 パッケージ情報取得部
613 機器情報取得部
614 インストール先受付部
615 妥当性確認部
616 パッケージ取得部
617 ライセンス取得部
618 インストール制御部
619 アンインストール先判定部
620 ディアクティベーション制御部
621 アンインストール制御部
651 Webブラウザ
B バス
【先行技術文献】
【特許文献】
【0226】
【特許文献1】特開2008−016013号公報

【特許請求の範囲】
【請求項1】
プログラムの購入ごとに購入されたプログラムの製品識別子及び該プログラムのライセンス情報に関連付けられたライセンス識別子を生成し、該ライセンス識別子を発行するライセンス識別子発行手段と、
前記ライセンス識別子をライセンス情報記憶手段に記録するライセンス記録手段と、
ネットワークを介して受信される前記ライセンス識別子の受信に応じ、受信された前記ライセンス識別子が前記ライセンス情報記憶手段に記録されているかを判定する判定手段と、
前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合、該製品識別子に係るプログラムの取得指示又は該プログラム本体と、前記プログラムの利用を許可するためのライセンスファイルとを前記ネットワークを介して返信する送信手段と
を有するライセンス管理装置。
【請求項2】
プログラム間の依存関係を示す情報を記憶した依存情報記憶手段と、
前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合に、前記ネットワークを介して受信される、前記プログラムのインストール先の機器が有するプログラムの前記製品識別子と前記依存情報記憶手段とに基づいて、前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの依存先のプログラムを前記機器が有しているかを判定する依存関係判定手段と、
前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの依存先のプログラムを前記機器が有していない場合に、該製品識別子に係るプログラムと該依存先のプログラムとのそれぞれの取得先の識別情報を含むプログラムの取得指示を前記ネットワークを介して返信する取得指示送信手段とを有する請求項1記載のライセンス管理装置。
【請求項3】
前記取得指示送信手段は、前記依存先のプログラムを前記機器が有している場合に、前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの取得先の識別情報を含むプログラムの取得指示を返信する請求項2記載のライセンス管理装置。
【請求項4】
前記機器に固有の機器識別子と前記ライセンス識別子とを含むライセンス使用要求を前記ネットワークを介して受信し、前記ライセンス識別子に対応するライセンスが使用されていることを示す情報が前記ライセンス情報記憶手段に記録されているか否かに基づいて前記ライセンス識別子に対応するライセンスの使用の可否を判定するライセンス可否判定手段と、
前記ライセンス識別子に対応するライセンスが使用可能である場合に、該ライセンス識別子に対応するライセンスは使用されていることを示す情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録するライセンス情報記録手段と、
前記ライセンス識別子に関連付けられた前記製品識別子と前記機器識別子とを含む、該製品識別子に係るプログラムを該機器識別子に係る機器において利用可能とするためのライセンスファイルを生成し、該ライセンスファイルを前記ネットワークを介して返信するライセンスファイル生成手段とを有する請求項1乃至3いずれか一項記載のライセンス管理装置。
【請求項5】
前記ライセンス情報記録手段は、前記ライセンス識別子に対応するライセンスが使用可能である場合に、前記機器識別子を前記ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録する請求項4記載のライセンス管理装置。
【請求項6】
前記ライセンス識別子及び前記機器識別子を含むライセンス解放要求に応じ、該ライセンス識別子に対応するライセンスは使用されていないことを示す情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録するライセンス解放手段を有する請求項4又は5記載のライセンス管理装置。
【請求項7】
前記ライセンス識別子発行手段は、購入されたプログラムの製品識別子とともに受信される購入されたライセンス数を前記ライセンス識別子に関連付けてライセンス情報記憶手段に記録し、
前記ライセンス可否判定手段は、前記ライセンス識別子に対応するライセンス数分のライセンスが使用されているか否かに基づいて前記ライセンス識別子に対応するライセンスの使用の可否を判定し、
前記ライセンス情報記録手段は、前記ライセンス識別子に対応するライセンスの使用数を識別可能な情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録する請求項4乃至6いずれか一項記載のライセンス管理装置。
【請求項8】
前記プログラムは自己の依存先のプログラムを示す依存先情報を含み、
前記プログラムの取得先であり、前記プログラムを複数有するプログラム管理装置より、前記プログラムのそれぞれの前記依存先情報を取得する依存情報取得手段と、
取得された前記依存先情報に基づいて前記プログラム間の依存関係を示す情報を前記依存情報記憶手段に記録する依存情報登録手段とを有する請求項2又は3記載のライセンス管理装置。
【請求項9】
前記ライセンス情報記録手段は、前記ライセンス識別子に対応するライセンスが使用可能である場合に、前記ライセンスの有効期限を算出し、該有効期限を前記ライセンス識別子及び前記機器識別子に関連付けて前記ライセンス情報記憶手段に記録する請求項4乃至7いずれか一項記載のライセンス管理装置。
【請求項10】
プログラムの購入ごとに購入されたプログラムの製品識別子およびライセンス情報に関連付けられたライセンス識別子の入力を受け付ける入力手段と、
前記製品識別子をライセンス管理装置に送信する第1の送信手段と、
前記ライセンス管理装置から前記製品識別子に対応するプログラムの取得指示またはプログラム本体を受信する第1の受信手段と、
前記ライセンス識別子および機器に固有の機器識別子とをライセンス管理装置に送信する第2の送信手段と、
前記ライセンス管理装置から前記ライセンス識別子に対応する前記プログラムの利用を許可するためのライセンスファイルを受信する第2の受信手段と、
を備える機器
【請求項11】
コンピュータが実行するライセンス管理方法であって、
プログラムの購入ごとに購入されたプログラムの製品識別子及び該プログラムのライセンス情報に関連付けられたライセンス識別子を生成し、該ライセンス識別子を発行するライセンス識別子発行手順と、
前記ライセンス識別子をライセンス情報記憶手段に記録するライセンス記録手順と、
ネットワークを介して受信される前記ライセンス識別子の受信に応じ、受信された前記ライセンス識別子が前記ライセンス情報記憶手段に記録されているかを判定する判定手順と、
前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合、該製品識別子に係るプログラムの取得指示又は該プログラムと、前記プログラムの利用を許可するためのライセンスファイルとを前記ネットワークを介して返信する送信手順と
を有するライセンス管理方法。
【請求項12】
前記ライセンス識別子が前記ライセンス情報記憶手段に記録されていると判定された場合に、前記ネットワークを介して受信される、前記プログラムのインストール先の機器が有するプログラムの前記製品識別子と、プログラム間の依存関係を示す情報を記憶した依存情報記憶手段とに基づいて、前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの依存先のプログラムを前記機器が有しているかを判定する依存関係判定手順と、
前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの依存先のプログラムを前記機器が有していない場合に、該製品識別子に係るプログラムと該依存先のプログラムとのそれぞれの取得先の識別情報を含むプログラムの取得指示を前記ネットワークを介して返信する取得指示送信手順とを有する請求項11記載のライセンス管理方法。
【請求項13】
前記取得指示送信手順は、前記依存先のプログラムを前記機器が有している場合に、前記ライセンス識別子に関連付けられている前記製品識別子に係るプログラムの取得先の識別情報を含むプログラムの取得指示を返信する請求項12記載のライセンス管理方法。
【請求項14】
前記機器に固有の機器識別子と前記ライセンス識別子とを含むライセンス使用要求を前記ネットワークを介して受信し、前記ライセンス識別子に対応するライセンスが使用されていることを示す情報が前記ライセンス情報記憶手段に記録されているか否かに基づいて前記ライセンス識別子に対応するライセンスの使用の可否を判定するライセンス可否判定手順と、
前記ライセンス識別子に対応するライセンスが使用可能である場合に、該ライセンス識別子に対応するライセンスは使用されていることを示す情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録するライセンス情報記録手順と、
前記ライセンス識別子に関連付けられた前記製品識別子と前記機器識別子とを含む、該製品識別子に係るプログラムを該機器識別子に係る機器において利用可能とするためのライセンスファイルを生成し、該ライセンスファイルを前記ネットワークを介して返信するライセンスファイル生成手順とを有する請求項11乃至13いずれか一項記載のライセンス管理方法。
【請求項15】
前記ライセンス情報記録手順は、前記ライセンス識別子に対応するライセンスが使用可能である場合に、前記機器識別子を前記ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録する請求項14記載のライセンス管理方法。
【請求項16】
前記ライセンス識別子及び前記機器識別子を含むライセンス解放要求に応じ、該ライセンス識別子に対応するライセンスは使用されていないことを示す情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録するライセンス解放手順を有する請求項14又は15記載のライセンス管理方法。
【請求項17】
前記ライセンス識別子発行手順は、購入されたプログラムの製品識別子とともに受信される購入されたライセンス数を前記ライセンス識別子に関連付けてライセンス情報記憶手段に記録し、
前記ライセンス可否手順は、前記ライセンス識別子に対応するライセンス数分のライセンスが使用されているか否かに基づいて前記ライセンス識別子に対応するライセンスの使用の可否を判定し、
前記ライセンス情報記録手順は、前記ライセンス識別子に対応するライセンスの使用数を識別可能な情報を該ライセンス識別子に関連付けて前記ライセンス情報記憶手段に記録する請求項14乃至16いずれか一項記載のライセンス管理方法。
【請求項18】
請求項8記載のライセンス管理装置の前記依存情報取得手段により取得される前記依存先情報を含むプログラム。
【請求項19】
自己の識別情報と、自己が依存する依存先のプログラムを示す依存先情報と、プログラム本体とを備えるプログラムであって、
前記識別情報及び前記依存先情報は、プログラム間の依存関係を示す情報を蓄積して該プログラム間の依存関係を示す情報に基づいて機器へインストールさせるプログラムを決定するライセンス管理装置により取得され、前記プログラム間の依存関係を示す情報の蓄積に用いられ、
前記プログラム本体は、インストールされた前記機器に所定の処理を実行させるプログラム。
【請求項20】
プログラムの識別情報と、該プログラムが依存する依存先のプログラムを示す依存先情報と、該プログラムとを含むデータ構造であって、
前記識別情報及び前記依存先情報は、プログラム間の依存関係を示す情報を蓄積して該プログラム間の依存関係を示す情報に基づいて機器へインストールさせるプログラムを決定するライセンス管理装置により取得され、前記プログラム間の依存関係を示す情報の蓄積に用いられ、
前記プログラムは、インストールされた前記機器に所定の処理を実行させるデータ構造。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate


【公開番号】特開2010−211784(P2010−211784A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−238977(P2009−238977)
【出願日】平成21年10月16日(2009.10.16)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】