(57)【要約】【課題】ハードウェアの接続が必要であるアプリケーションを他の画像形成装置で使用する場合にはライセンスの転送処理とハードウェアの付け替えという２つの作業が発生していた。【解決手段】画像形成装置に接続したハードウェアを検知した際にそのハードウェアが他の画像形成装置で使用されていたかを調べ、使用されていた場合にはそのハードウェアによって動作するアプリケーションのライセンスを接続された画像形成装置で使用できるように自動的に転送をする。【選択図】図１２
2013109413.tif 000002
【特許請求の範囲】
【請求項１】
管理対象である管理対象装置と接続され、該管理対象装置で利用可能なアプリケーションを管理するライセンス管理システムであって、
前記管理対象装置に接続されている機器を示す機器構成データを保持する機器構成データの保持手段と、
前記管理対象装置から受信した機器構成データと、前記機器構成データの保持手段に保持された機器構成データとを比較して、前記管理対象装置の機器構成で新たに利用可能となる機能、および、前記管理対象装置の機器構成で利用できなくなる機能を判定する機能の判定手段と、
新たに利用可能となった機能がある場合には、当該機能のライセンスを前記管理対象装置に対して発行して有効化する手段と、
新たに利用できなくなった機能がある場合には、当該機能に対するライセンスの無効化または、必要な機器構成の通知を、前記管理対象装置に対して発行する発行手段と
を備えることを特徴とするライセンス管理システム。
【請求項２】
前記有効化する手段は、前記管理対象装置に新たに追加された機器が、第２の管理対象装置に備えられていた場合には、当該第２の管理対象装置に付与されていたライセンスを前記管理対象装置に対して発行し、
そうでない場合には、新たなライセンスを発行することを特徴とする請求項１に記載のライセンス管理システム。
【請求項３】
前記発行手段は、前記管理対象装置に付与されていた前記ライセンスが他の管理対象装置に対して発行されている場合には、当該管理対象装置に対してライセンスの無効化を発行し、そうでない場合には、必要な機器構成の通知を発行することを特徴とする請求項１または２に記載のライセンス管理システム。
【請求項４】
請求項１乃至３のいずれか一項に記載のライセンス管理システムと、前記管理対象装置として画像形成装置とを接続して構成されることを特徴とする画像形成装置のライセンス管理システム。
【請求項５】
管理対象である管理対象装置と接続され、該管理対象装置で利用可能なアプリケーションを管理するライセンス管理システムにおけるライセンス管理方法であって、
前記管理対象装置から受信した機器構成データと、保持手段に保持された前記管理対象装置に接続されている機器を示す機器構成データとを比較して、前記管理対象装置の機器構成で新たに利用可能となる機能、および、前記管理対象装置の機器構成で利用できなくなる機能を判定する機能の判定工程と、
新たに利用可能となった機能がある場合には、当該機能のライセンスを前記管理対象装置に対して発行して有効化する工程と、
新たに利用できなくなった機能がある場合には、当該機能に対するライセンスの無効化または、必要な機器構成の通知を、前記管理対象装置に対して発行する発行工程と
を備えることを特徴とするライセンス管理方法。
【請求項６】
請求項１乃至３のいずれか一項に記載のライセンス管理システムとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば画像形成装置等のライセンス管理の技術に関する。
【背景技術】
【０００２】
従来、アプリケーションをインストールすることで機能を拡張できる画像形成装置がある。またそのようなアプリケーションのライセンスを管理するライセンス管理システムが存在する。このライセンス管理システムでは、インストール対象となる画像形成装置を一意に識別する値（シリアルナンバーなど）と引き替えにライセンスを発行する。そのようなライセンスを発行することによってインストール対象外の画像形成装置へアプリケーションをインストールするという不正利用を防止することが行われていた。 
また、前記のようなライセンス管理システムに対して、たとえばユーザの所属する部門でフロアを跨ぐ席替え等が発生した場合に、画像形成装置は重量があるので移動させずに今まで利用していた環境を席替え先の画像形成装置で利用したいというニーズがある。そのためには、たとえば元のフロアにあった画像形成装置にインストールされていたアプリケーションを、そのアプリケーションがインストールされていない画像形成装置にインストールしなければならない場合がある。
【０００３】
これを実現するには、アプリケーションのライセンスを、その転送元の画像形成装置から転送先の画像形成装置へと転送するライセンス転送作業と、アプリケーションに必要なオプションハードウェアの交換作業という２つの作業が必要になる。ライセンス転送では、不正にライセンス転送させないためライセンスの無効化を証明する無効化ライセンスをライセンスの転送元の画像形成装置で発行し、無効化ライセンスをライセンス管理システムに返却することで転送を許可するという技術が存在する（例えば特許文献１参照）。
【０００４】
特許文献１では、転送元のライセンスを確実に無効化してから、転送先のライセンスを有効化するため、新旧の画像形成装置の両方でライセンスが有効でない期間が生じる。その解決のための手段として、ライセンスが無効化されている期間に転送元の画像形成装置でもしばらく当該アプリケーションを使用できる期限付きライセンスを発行するという技術なども存在する（例えば特許文献２等参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2006-107468号公報
【特許文献２】特開2010-146302号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら特許文献１では、或る画像形成装置で使用中のライセンスを一時的に無効化し、再度別の画像形成装置に対してライセンスを付与するため、ライセンスの無効化や再付与の作業が必要であり、また作業に伴う処理時間も長い。特許文献２では、転送元の画像形成装置でも一定期間だけアプリケーションを動作可能とする期限付きライセンスを発行することで、ライセンスの移動作業中でもライセンスに係るアプリケーションを利用可能となるが、ライセンス転送作業にかかる時間の短縮については改善されていなかった。また期限付きライセンスをライセンス管理システムで発行し、転送元の画像形成装置にインストールするまではユーザは転送元の画像形成装置でアプリケーションを利用できないという課題があった。
【０００７】
本発明は上記従来例に鑑みてなされたもので、画像形成装置等の周辺デバイスの付加機能および当該付加機能を利用するためのライセンスの移動作業を簡易化し、あわせて当該付加機能を利用できない期間を短縮することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明において、下記ライセンス管理システムを提供する。
【０００９】
管理対象である管理対象装置と接続され、該管理対象装置で利用可能なアプリケーションを管理するライセンス管理システムであって、
前記管理対象装置に接続されている機器を示す機器構成データを保持する機器構成データの保持手段と、
前記管理対象装置から受信した機器構成データと、前記機器構成データの保持手段に保持された機器構成データとを比較して、前記管理対象装置の機器構成で新たに利用可能となる機能、および、前記管理対象装置の機器構成で利用できなくなる機能を判定する機能の判定手段と、
新たに利用可能となった機能がある場合には、当該機能のライセンスを前記管理対象装置に対して発行して有効化する手段と、
新たに利用できなくなった機能がある場合には、当該機能に対するライセンスの無効化または、必要な機器構成の通知を、前記管理対象装置に対して発行する発行手段と
を備える。
【発明の効果】
【００１０】
ユーザは転送元の画像形成装置のオプションハードウェアを、転送先の画像形成装置に取り付けるだけで自動的にライセンスを転送することができる。
【図面の簡単な説明】
【００１１】
【図１】ネットワーク構成を示す図である。
【図２】ハードウェア構成を示す図である。
【図３Ａ】アプリケーション構成を示す図である。
【図３Ｂ】アプリケーション構成を示す図である。
【図３Ｃ】アプリケーション構成を示す図である。
【図４Ａ】機器構成データの例を示す図である。
【図４Ｂ】機器構成データの例を示す図である。
【図５】ライセンスデータの例を示す図である。
【図６】仮想デバイスデータの例を示す図である。
【図７】商品管理データの例を示す図である。
【図８】商品データの例を示す図である。
【図９】ライセンス履歴データの例を示す図である。
【図１０】転送ライセンス履歴データの例を示す図である。
【図１１】機器構成通知処理のシーケンスを示す図である。
【図１２】機器構成データ通知を受信した際の処理を説明するフローチャートである。
【図１３】ハードウェア接続エラー画面の例である。
【発明を実施するための形態】
【００１２】
＜用語の定義＞
以下、本発明を実施するための最良の形態について図面を用いて説明する。まず、用語の定義を行う。なお以下の説明では、本発明に係るライセンス管理システムの対象となり得るデバイスとして画像形成装置を例にとり説明するが、オプションで機能を拡張可能なデバイスに対して本発明を適用可能である。
【００１３】
ライセンスとは、画像形成装置で使用可能な拡張機能であるアプリケーションを画像形成装置で有効化するために必要なファイルである。ライセンスには、アプリケーションを有効化するために以下のデータを含んでいる。
１つ目は有効化するアプリケーションを一意的に識別する値であるアプリケーション識別子である。たとえばアプリケーション固有の名称や記号などである。
２つ目は有効化するアプリケーションの商品を一意的に識別する値である商品識別子である。たとえばあるアプリケーションに対して、付与されるライセンスの数などにより異なる商品が用意される場合がある。この商品に付与した固有の名称や記号などが商品識別子に該当する。
3つ目はライセンスを一意的に識別する値であるライセンス識別子である。
4つ目はライセンスを発行するために使用したライセンス番号である。ライセンス番号については後述する。
5つ目はこのライセンスを用いてアプリケーションの有効化が可能となる画像形成装置のデバイス識別子のリストである。デバイス識別子とは画像形成装置の個体を一意的に識別する値である。アプリケーションの有効化は、アプリケーションとライセンスを後述するアプリケーション有効化手段３２７に渡すことで可能となる。
【００１４】
ライセンス番号とは、ユーザが商品を購入した際に発行される一意的な番号であり、ライセンスを発行するのに必要となる。ユーザがライセンスの発行をする場合には、そのライセンス番号が発行された商品で定められたライセンス数分のライセンスが発行可能である。例えば５台分のライセンス数を持つ商品Ａ、１０台分のライセンス数を持つ商品Ｂがあったとする。そのような場合、商品Ａのライセンス番号Ａで発行できるのは５台分のライセンスであり、商品Ｂのライセンス番号Ｂで発行できるのは１０台分のライセンスである。
【００１５】
またライセンス番号は１つの商品に対して複数発行することが可能である。そのため商品Ｂでライセンス番号Ｂとライセンス番号Ｃ、ライセンス番号Ｄの３つのライセンス番号を発行した場合には、それぞれのライセンス番号で１０台分のライセンス、合計３０台分のライセンスが発行可能となる。
【００１６】
ライセンスデータとは、画像形成装置で有効化されたアプリケーションのライセンス情報を示すデータである。例えば、商品の商品識別子、アプリケーション識別子、ライセンス番号などが該当する。図５は画像形成装置のライセンスデータ５０１の例である。この例では３つのアプリケーションが有効化されており、それぞれのアプリケーションのライセンス情報として、商品識別子５０２、アプリケーション識別子５０３、ライセンス番号５０４を保持していることを示している。
【００１７】
機器構成データとは、画像形成装置が備える機器の構成を示すデータである。例えば、ファクスユニットやハードディスクを装着しているかを表すデータなどが該当する。さらに、画像形成装置の機種を一意に識別するための機種コード、画像形成装置の個体を一意に識別するデバイス識別子、動作しているファームウェアバージョンなども機器構成データに該当する。図４Ａおよび図４Ｂはそれぞれ、ある同一機種の画像形成装置の機器構成データの例４０１Ａ，４０１Ｂを表している。ＨＤＤカラム４０５ＡにはＨＤ００２１という値が設定されているが、これは画像形成装置にハードディスクが接続されていることを表しており、ＨＤ００２１というのはハードディスクの機種を一意に識別する値であるＨＤＤ識別子を表している。またＨＤＤカラム４０５Ｂには値が設定されていないが、これは画像形成装置にハードディスクが接続されていないことを表している。同様にＦＡＸカラム４０６Ａは画像形成装置にファックスユニットＦＵ００３３３が接続されていることを表し、ＦＡＸカラム４０６Ｂはファックスユニットが接続されていないことを表している。機種コード４０２Ａ、４０２Ｂはいずれも００１で同一であるが、ファームウェアバージョン４０３Ａ、４０３Ｂは相違している。もちろんデバイス識別子４０４Ａ、４０４Ｂは異なる固体であるから相違する。
【００１８】
仮想デバイスとは、図３Ｂに示す仮想デバイス管理サービス３０２が保持する実デバイスのデータ群である。実デバイスとは、管理対象となる画像形成装置等のデバイスである。仮想デバイス管理サービス３０２では、仮想デバイスと実デバイスとは１対１の関係で関連付けられ、仮想デバイスとして仮想デバイス管理サービス３０２で保持する実デバイスのデータ群として、具体的には、前述した機器構成データ、ライセンスデータを少なくとも含む。
【００１９】
テナントとは、ユーザが画像形成装置の管理を委託する委託者の単位である。またテナント識別子とは、テナントを一意に識別するための識別子である。例えば、ある会社がユーザ環境１００にある画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃの管理を委託したと仮定する。その場合、ユーザ環境１００に対応するテナント識別子が１つ割り当てられ、画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃはそのテナントに属する画像形成装置であると認識され、管理される。
【００２０】
仮想デバイスに含まれるデータと、実デバイスが保持するデータを区別して呼ぶために、以下のように定義する。仮想デバイスに含まれる機器構成データを仮想機器構成データ、ライセンスデータを仮想ライセンスデータと呼ぶ。実デバイスが保持する機器構成データを実機器構成データ、ライセンスデータを実ライセンスデータと呼ぶ。以上が用語の説明となるが、ここで説明した以外にも適宜用語の説明を行う。
【００２１】
＜画像形成システムの構成＞
図１は、本発明の画像形成システムのネットワーク構成の一例を示す図である。この画像形成システムは同時に、画像形成装置の拡張機能に係るライセンス管理システムでもある。画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃは、本実施形態のライセンス管理システムによって管理される画像形成装置である。各画像形成装置は、ネットワーク１０６を介してインターネット１０４にアクセス可能である。端末装置１０２Ａは、ユーザ環境１００のユーザが操作可能なコンピュータであって、ネットワーク１０６を介してインターネット１０４にアクセス可能である。端末装置１０２Ｂは、画像形成装置１０１Ａ、１０１Ｂ、１０１Ｃを管理するサービスマンが操作可能なコンピュータであって、インターネット１０４にアクセス可能である。端末装置１０２Ｃは、画像形成装置のベンダに所属する管理担当者が操作可能なコンピュータであって、インターネット１０４にアクセス可能である。
【００２２】
インターネット１０４は、デジタル通信が可能なネットワークであり、ネットワークを相互接続している。本例では不特定のユーザに対してサービスを提供するためにインターネット１０４を採用したが、特定のユーザのみを対象にするのであればいわゆるイントラネットを用いてもよい。サーバコンピュータ群１０５は、インターネット１０４を介してサービスを提供するサーバ群である。ネットワーク１０６は、ユーザ環境１００においてデジタル通信が可能なネットワークである。サービスマン環境１１０は、サービスマンが、インターネット１０４に接続可能な端末装置１０２Ｂを使って画像形成装置の管理を行う環境である。画像形成装置のベンダ環境１２０は、画像形成装置を生産するベンダの管理担当者が、インターネット１０４に接続可能な端末１０２Ｃを用いて、画像形成装置の管理に必要なデータのメンテナンスを行う環境である。
【００２３】
＜ハードウェア構成＞
図２は、本発明のハードウェア構成の一例を示す図である。本発明では、種々の環境にある機器がインターネットにより相互接続されているが、主たる機器はサーバコンピュータ１０５、画像形成装置１０１、端末装置１０２である。図１ではそれぞれの機器のハードウェアを示す。図１では、共通する構成要素に対して統一された数字に、機器ごとの記号Ａ，Ｂ，Ｃを添付した記号で書く構成要素を示している。そこで、以下の説明では、共通する構成要素については記号を省略して記述している。図２において、ＣＰＵ２０１は、プログラムの実行や、様々な処理の制御を行う。不揮発性メモリ２０２は、ＲＯＭから構成され、機器の起動処理において初期段階に必要なプログラムやデータが格納されている。揮発性メモリ２０３は、ＲＡＭから構成され、プログラム、データの一時的な格納場所として利用される。
【００２４】
補助記憶装置２０４は、ハードディスクやＲＡＭドライブ等の大容量記憶装置から構成され、大容量データの保管、プログラムの実行コードの保持を行う。揮発性メモリ２０３と比較して、長時間保持する必要があるデータを記憶する。画像形成装置の機種によっては補助記憶装置２０４には標準としてＲＡＭドライブを搭載しており、オプションとしてより大容量のハードディスクを追加することも可能としている機種もある。
【００２５】
ディスプレイ２０５は、利用者に情報を伝えるための装置である。なお、本実施形態における利用者とは、画像形成装置のユーザとサービスマンとを含む。入力装置２０６は、利用者の選択指示を受付け、内部バス２２１を介してプログラムに伝達するための装置である。画像形成装置１０１に限っては、入力装置２０６Ａとして、紙等の媒体から画像を読み込むための画像スキャナを含む。ネットワーク通信装置２０７は、ネットワーク通信装置を備えた別の機器（たとえばコンピュータや画像形成装置）とネットワークを介して通信するための装置である。
【００２６】
構成要素２０８〜２１０は画像形成装置１０１に固有のものである。ファクスユニット２０８は、画像形成装置１０１が形成した画像データ（たとえば画像スキャナで読みこんだ画像データ）か、もしくは補助記憶装置２０４Ａに記憶された画像データを、ネットワーク１０６を介して別の情報機器に送付するためのハードウェアユニットである。ファクスユニットはオプションハードウェアであり、画像形成装置１０１への取り付けおよび取り外しが可能である。プリンタエンジン２０９は、画像形成装置１０１が形成した画像データか、もしくは補助記憶装置２０４Ａに記憶された画像データを紙媒体に印刷する手段である。ＩＣカードリーダ２１０は、ＩＣカードに記録された電子情報を読みこむための装置である。ＩＣカードリーダ２１０はオプションハードウェアであり、画像形成装置１０１への取り外しが可能である。
【００２７】
内部バス２１１は、２０１乃至２１０の各々の装置を通信可能な状態にし、データをやり取りするための通信バスである。
【００２８】
＜ソフトウェア構成＞
図３Ａ−図３Ｃは、本発明のソフトウェア構成の一例を示す図である。まず、画像形成装置１０１の保持するデバイス管理モジュール３０１が備える構成要素について説明する。
【００２９】
＜デバイス管理モジュールのソフトウェア構成＞
実ライセンスデータ保持部３１１は、画像形成装置にインストールされているアプリケーションのライセンスデータを補助記憶装置２０４Ａに保持する。テナント識別子保持部３１２は、画像形成装置が属するテナント識別子を記憶する。テナント識別子は画像形成装置の初期設置時に設定され、電源が切られても失われることがないように補助記憶装置２０４Ａに記憶される。実機器構成データ保持部３１３は、画像形成装置が構成されている機器構成データを補助記憶装置２０４Ａに保持する。
【００３０】
実機器構成データ収集部３２１は、画像形成装置の実機器構成データ４０１を集める。実機器構成データの例として、機種を一意に識別する値である機種コードや、画像形成装置自身を一意に識別する値であるデバイス識別子、ファームウェアバージョンがある。またその他にも画像形成装置に接続されているファクスユニットやハードディスク、ＩＣカードリーダのハードウェア識別子などが挙げられる。
【００３１】
実機器構成データ通知部３２２は、実機器構成データ収集部３２１によって収集した実機器構成データと、テナント識別子保持部３１２によって記憶されたテナント識別子を合わせて、後述する仮想デバイス管理サービス３０２に通知する。仮想デバイス管理サービス３０２では実機器構成データ受信部３５３が受信する。
【００３２】
実ライセンスデータ更新部３２３は、実ライセンスデータ保持部３１１が保持する実ライセンスデータを更新する。実ライセンスデータ更新部３２３は後述するアプリケーション有効化部３２７によってアプリケーションを有効化された際に実行される。アプリケーション有効化部３２７の実行時に、実ライセンスデータ更新部３２３は、アプリケーション有効化の際に受信したライセンスから商品識別子、アプリケーション識別子、ライセンス番号を取得して実ライセンスデータとしてレコードを追加する。また実ライセンスデータ更新部３２３は、後述するアプリケーション無効化部３２９によってアプリケーションを無効化された際にも実行される。アプリケーション無効化部３２９の実行時に、実ライセンスデータ更新部３２３は指定されたレコードを削除する。
【００３３】
実ライセンスデータ通知部３２４は、実ライセンスデータ保持部３１１によって保持されている実ライセンスデータを、インターネット１０４を介して仮想デバイス管理サービス３０２に通知する。通知する際には仮想デバイスを特定するためのデータとして、デバイス識別子、テナント識別子も送付する。なお、実ライセンスデータ通知部３２４で通知した実ライセンスデータは、仮想デバイス管理サービス３０２の後述する実ライセンスデータ受信部３５５で受信される。
【００３４】
アプリケーション要求部３２５は、画像形成装置がアプリケーションを取得するための要求を、インターネット１０４を介してライセンス管理サービス３０３に送信する。アプリケーション要求部３２５では、アプリケーションを特定するためにアプリケーション識別子を要求と共に送付する。なお、アプリケーション要求部３２５で送信されたアプリケーション要求は、ライセンス管理サービス３０３の後述するアプリケーション要求受信部３８３で受信される。
【００３５】
ライセンス発行要求部３２６は、画像形成装置がライセンスを発行してもらうための要求を、インターネット１０４を介してライセンス管理サービス３０３に送信する。ライセンス発行要求部３２６では、ライセンス番号とデバイス識別子を要求と共に送付する。なお、ライセンス要求部３２５で送信されたライセンス発行要求は、ライセンス管理サービス３０３の後述するライセンス発行要求受信部３８２で受信される。
【００３６】
アプリケーション有効化部３２７は、アプリケーションとライセンスを用いて画像形成装置の機能を拡張するアプリケーションを有効化する。アプリケーション有効化機能３２７はアプリケーションの有効化の際に、受信したライセンス内に含まれるデバイス識別子のリストに自身のデバイス識別子も含まれている場合のみ有効化処理を実施する。また受信したライセンスに含まれるアプリケーション識別子を取得し、アプリケーション内のアプリケーション識別子と一致した場合に受信したアプリケーションを有効化する。アプリケーションの有効化をした後には、前述の実ライセンスデータ更新部３２３を用いて実ライセンスデータの更新をする。
【００３７】
実機器構成データ変更検知部３２８は、画像形成装置の実機器構成データが変更されたことを検知する。実機器構成データ変更検知部３２８は、例えば画像形成装置の起動後に実機器構成データ収集部３２１による構成データの収集を実行し、収集された実機器構成データが実機器構成データ保持部３１３と一致しない場合は実機器構成の変更があったと検知する。また画像形成装置の起動時にもオプションハードウェアからの接続／非接続のイベントの検知した際にも実機器構成の変更があったと検知する。
【００３８】
アプリケーション無効化部３２９は、画像形成装置内で有効化されたアプリケーションを無効化する。アプリケーション無効化部３２９は後述するライセンス使用デバイス無効化指示部３６０から指示された無効化指示に含まれるライセンス識別子を取得する。そして取得したライセンス識別子を使用しているレコードを実ライセンスデータ保持部３１１から削除してアプリケーションを使用できないようにする。
【００３９】
ハードウェア接続エラー画面表示部３３０は、有効化したアプリケーションが動作するための必要条件を画像形成装置が満たさなくなった時に必要条件が満たされていないことを通知するためのエラー画面を表示する。エラー画面は例えば図１３のようなハードウェア接続エラー画面１３０１であり、条件不備となった商品名を表示欄１３０２に、またその原因であるオプションハードウェア名を表示欄１３０３に表示する。こうすることでユーザに不備となった条件を通知し、必要条件を満たすように促すことができる。なおハードウェア接続エラー画面表示部３３０は、ハードウェア接続エラー画面１３０１を画像形成装置のディスプレイ２０５Ａに表示してもよい。またブラウザからの要求によってネットワーク１０６を経由して端末装置１０２のディスプレイ２０５Ｂに表示してもよい。後者の場合には、画像形成装置１０１にはたとえばＨＴＴＰサーバがインストールされ、ハードウェア接続エラー画面１３０１をウエブページとして端末装置のブラウザに提供する。
【００４０】
＜仮想デバイス管理サービスのソフトウェア構成＞
次に、仮想デバイス管理サービス３０２が備える構成要素について説明する。仮想デバイス管理サービス３０２は、画像形成装置の仮想デバイスを管理する機能を提供するサービスであり、前述のサーバコンピュータ群１０５上のサーバによって提供される。
【００４１】
仮想デバイス管理サービス３０２において、仮想デバイスデータ保持部３４１は、仮想デバイスが保持するデータである仮想デバイスデータを記憶する。仮想デバイスデータは仮想デバイスを特定するためのデバイス識別子と、テナントを特定するためのテナント識別子とのセットを含む。また仮想デバイスの仮想機器構成データと仮想ライセンスデータとの関連を保持するためのポインタ情報を含む。
【００４２】
図６は仮想デバイスデータ保持部３４１で保持する仮想デバイスデータの一例であり、複数の仮想デバイスデータが仮想デバイスデータテーブル６０１として記憶されている例である。デバイス識別子、テナント識別子は各々デバイス識別子カラム６０２、テナント識別子カラム６０３に格納される。仮想機器構成データ識別子カラム６０４には後述する仮想機器構成データ保持部３４３に格納される仮想機器構成データを一意的に識別する値が格納される。この値は仮想機器構成データへのポインタとして利用される。また仮想ライセンスデータ識別子カラム６０５には後述する仮想ライセンスデータ保持部３４２に格納される仮想ライセンスデータを一意的に識別する値が格納される。この値は仮想ライセンスデータへのポインタとして利用される。これら項目が仮想デバイスデータテーブルの１レコードを構成する。仮想デバイスデータは、たとえば実デバイスがネットワークに新たに接続された際に新たに登録される。
【００４３】
仮想ライセンスデータ保持部３４２は、仮想ライセンスデータを記憶する。仮想ライセンスデータ保持部３４２では図５のライセンスデータと、仮想ライセンスデータ識別子カラム６０５に格納される仮想ライセンスデータ識別子とを関連付けて保持する。
【００４４】
仮想機器構成データ保持部３４３は、仮想機器構成データを記憶する。仮想機器構成データ保持部３４３では図４Ａ、図４Ｂの機器構成データと、仮想機器構成データ識別子カラム６０４に格納される仮想機器構成データ識別子とを関連付けて保持する。仮想機器構成データは、当該デバイスが新たに接続された際に、当該デバイスから取得された機器情報に基づいて、仮想機器構成データ保持部３４３に登録される。
【００４５】
商品管理データ保持部３４４が、ユーザが購入した商品情報である商品管理データを記憶する。したがって商品が新たに購入されると、当該商品に係るデータが登録される。この登録は、たとえば管理者がマニュアル操作で行う。図７は商品管理データ保持部３４４で保持する商品管理データを格納する商品管理データ７０１の例である。商品管理データ７０１には購入した商品の商品識別子７０３、商品名７０４、ライセンス数７０５、商品を購入したユーザのテナント識別子７０２、商品販売時に発行したライセンス番号７０６、さらにその商品を使用する画像形成装置のデバイス識別子の一覧である使用デバイス識別子一覧７０７が含まれ、これら項目が１レコードを構成する。
【００４６】
図７の一列目に格納されているレコードでは、ライセンス数が１０である商品セキュリティキットＰ００１を、テナント識別子１００のユーザが購入し、デバイス識別子がＤ００１乃至Ｄ０１０である画像形成装置が、その商品を使用する画像形成装置として設定されていることを表している。
【００４７】
図７の二列目に格納されているレコードでは、ライセンス数が１０である商品送信キットＰ０２０を、テナント識別子１００のユーザが購入しているが、まだどの画像形成装置で使用するかを設定していないことを表している。
【００４８】
商品データ要求部３５１は、ライセンス管理サービス３０３に商品データを要求するための商品データ要求を送信する。商品データ要求にはライセンス番号が含まれており、ライセンス管理サービス３０３の商品データ要求受信部３８１では受信した商品データ要求のライセンス番号から商品データを特定する。商品データ要求部３５１は、商品データ要求の応答として前記特定された商品データを応答として受信する。
【００４９】
商品管理データ関連付け更新部３５２は、商品管理データ保持部３４４の使用デバイス識別子一覧に格納される使用デバイス識別子カラム７０７の値を更新する。例えばある商品を、それを使用していたデバイスＡから他のデバイスＢに転送して使用させたい場合には、商品管理データ保持部の使用デバイス一覧カラム７０７を「デバイスＡ」から「デバイスＢ」に更新する。
【００５０】
実機器構成データ受信部３５３は、実機器構成データ通知部３２２から実機器構成データを受信する。実機器構成データ受信部３５３が実機器構成データを受信してからの処理は後述の図１１のフローチャートを用いて詳細に説明する。
【００５１】
仮想機器構成データ更新部３５４は、実機器構成データ受信部３５３で受信した機器構成データを、該当する仮想デバイスの仮想機器構成データとして登録する。仮想機器構成データ受信部３５４は、受信した実機器構成データに含まれるデバイス識別子と一致する仮想デバイスデータのレコードを仮想デバイスデータ保持部３４１から取得する。そして取得した仮想デバイスデータのレコードに含まれる仮想機器構成データ識別子に一致するレコードを仮想機器構成データ保持部３４３から取得をする。そして取得したレコードの仮想機器構成データを受信した実機器構成データで更新する。なおレコードとはテーブルの１つのエントリであり、仮想デバイスデータのレコードであれば１つの仮想デバイスに相当する。
【００５２】
実ライセンスデータ受信部３５５は、インターネット１０４を介して実ライセンスデータ通知部３２４から実ライセンスデータを受信する。
【００５３】
仮想ライセンスデータ更新部３５６は、実ライセンスデータ受信部３５５で受信した実ライセンスデータを、該当する仮想デバイスの仮想ライセンスデータとして登録する。仮想ライセンスデータ更新部３５６は実ライセンスデータ受信部３５５で受信したデバイス識別子と一致する仮想デバイスデータのレコードを仮想デバイスデータ保持部３４１から取得する。そして、取得した仮想デバイスデータのレコードに含まれる仮想ライセンスデータ識別子と一致するレコードを仮想ライセンスデータ保持部３４２から取得する。そして取得したレコードの仮想ライセンスデータを、実ライセンスデータ受信部３５５で受信した実ライセンスデータで更新する。
【００５４】
ライセンス利用条件判定部３５７は、アプリケーションを利用するために必要な条件を、対象の画像形成装置が満たしているかどうかを判定する。ライセンス利用条件判定部３５７の判定の例として、商品データの必要ハードウェアカラム８０７にＨＤＤが記載されている場合は、機器構成データのＨＤＤカラム４０６にデータがあるか確認し、ある場合にはライセンス利用可として判定する。
【００５５】
ライセンス使用デバイス検索部３５８は、指定されたハードウェア識別子を保持している仮想デバイスを検索する。ライセンス使用デバイス検索部３５８は、指定されたハードウェア識別子が、仮想機器構成データ保持部３４３の機器構成データに存在するかどうかを判定する。そして存在している場合にはその機器構成データを保持する仮想デバイスのレコードを仮想デバイスデータ保持部３４１から取得する。
【００５６】
ライセンス転送要求部３５９は、ライセンス管理サービス３０３に対してライセンスの転送要求を出し、使用している画像形成装置の紐付けを変更するように要求する。ライセンス転送要求部３５９では、ライセンス転送要求の情報として転送対象の商品識別子と転送元の画像形成装置のデバイス識別子、転送先の画像形成装置のデバイス識別子を送付する。
【００５７】
ライセンス使用デバイス無効化指示部３６０は、画像形成装置のデバイス管理モジュール３０１から受信した実機器構成データに対して、必要条件の不備によって無効化すべきアプリケーションがあれば、その無効化指示を送信する。無効化指示には、無効化の対象となるアプリケーションに付与されたライセンスのライセンス識別子が含まれる。
【００５８】
＜ライセンス管理サービスのソフトウェア構成＞
次に、ライセンス管理サービス３０３が備える部について説明する。ライセンス管理サービス３０３は、ライセンスを管理する機能を提供するサービスであり、前述のサーバコンピュータ群１０５上のサーバで提供される。
【００５９】
ライセンス管理サービス３０３において、商品データ保持部３７１は、商品データを記憶する。図８は商品データ保持部３７１で保持する商品データを格納する商品データテーブル８０１の例である。商品データに含まれる項目は、商品識別子８０２、商品名８０３、アプリケーション識別子８０４、アプリケーションファイル名８０５、ライセンス数８０６、必要ハードウェア８０７、必要ファームウェアバージョン８０８などで、これが１レコードを構成する。
【００６０】
ライセンス履歴データ保持部３７２は、ユーザが購入した商品のライセンス情報を保持する。ライセンス情報には、ライセンス番号、商品識別子、残ライセンス数、ライセンス発行済デバイス識別子一覧が含まれる。図９はライセンス履歴データ保持部３７２で保持するライセンス履歴データを格納するライセンス履歴データテーブル９０１の例である。ライセンス履歴データテーブル９０１は、ライセンス管理サービスが発行したライセンス番号を格納するライセンス番号カラム９０２、そのライセンス番号で利用可能な商品の商品識別子を格納する商品識別子カラム９０３、そのライセンス番号でライセンス発行可能な残ライセンス数を格納する残ライセンス数カラム９０４、そのライセンス番号でライセンスを発行した画像形成装置のデバイス識別子を格納するライセンス発行済デバイス識別子カラム９０５を１レコードに含む。
【００６１】
転送ライセンス履歴データ保持部３７３は、ライセンスを転送した際の履歴である転送ライセンス履歴データを保持する。転送ライセンス履歴データには、転送をしたライセンスのライセンス番号、転送元の画像形成装置のデバイス識別子、転送先の画像形成装置のデバイス識別子、転送前の画像形成装置でライセンスが無効化されたかどうかを格納するフラグがある。図１０は転送ライセンス履歴データ保持部３７３で保持する転送ライセンス履歴データを格納する転送ライセンス履歴データテーブル１００１の例である。転送ライセンス履歴データテーブル１００１は、ライセンス番号カラム１００２、転送元デバイス識別子カラム１００３、転送先デバイス識別子カラム１００４、無効化指示フラグ１００５を１レコードに含む。
【００６２】
商品データ要求受信部３８１は、商品データ要求部３５１から商品データ要求を受信し、受信した商品データ要求に含まれるライセンス番号と一致する商品データを商品データ保持部３７１から検索し応答として返す。
【００６３】
ライセンス発行要求受信部３８２は、ライセンス発行要求部３２６からライセンス発行要求を受信し、該当する商品のライセンスを発行して応答として返す。具体的にはライセンス発行要求受信部３８２は受信したライセンス発行要求に含まれるライセンス番号とデバイス識別子を取得する。そして前記ライセンス番号からライセンス情報をライセンス履歴データ保持部３７２から取得する。前記ライセンス情報に含まれている残ライセンス数が０でない場合は受信したデバイス識別子用のライセンスを発行する。その後ライセンス情報の残ライセンス数から１を除算し、ライセンス発行済デバイス識別子一覧に前記デバイス識別子を追加したレコードでライセンス履歴データ保持部３７２のレコードを更新する。
【００６４】
アプリケーション要求受信部３８３は、アプリケーション要求部３２５からアプリケーション要求を受信し、該当するアプリケーションを応答として返す。具体的にはアプリケーション要求受信部３８３は、前記アプリケーション要求に含まれているアプリケーション識別子を受信する。そして前記アプリケーション識別子が含まれる商品データのアプリケーションを商品データ保持部から取得し応答として返す。
【００６５】
ライセンス転送要求受信部３８４は、ライセンス転送要求部３５９から要求されたライセンス転送要求を受信して転送処理を実施する。具体的にライセンス転送要求受信部３８４は、受信したライセンス転送要求からライセンス番号と転送元、転送先のデバイス識別子を取得する。そしてライセンス転送要求受信部３８４は、受信したライセンス番号からライセンス履歴データ保持部３７２の対象のレコードを取得する。そして、ライセンス転送要求受信部３８４は、対象のレコードのライセンス発行デバイス識別子を転送元のデバイス識別子から転送先のデバイス識別子に変更する。そして、ライセンス転送要求受信部３８４は、転送ライセンス履歴データ保持部３７３に受信したライセンス番号と転送元デバイス識別子と転送先デバイス識別子とまた無効化指示フラグカラム１００５に「未指示」というデータを保持するレコードを追加する。
【００６６】
＜ライセンス管理手順＞
以降、図１１、図１２を参照してライセンス管理のシーケンスを説明する。図１１は、画像形成装置１０１が機器構成データを仮想デバイスサービス３０２に通知をする際に、実行される処理を表したシーケンス図である。このシーケンス図は、画像形成装置１０１の入力装置２０６で実行を指示された場合に実行される。またユーザが画像形成装置１０１にハードウェアを接続した際に、実機器構成データが変更されたことを実機器構成データ変更検知部３２８が検知することによって自動的に実行されてもよい。
【００６７】
シーケンス図の各ステップを実行する、図３Ａ−図３Ｃに示した各部のコードは、不揮発性メモリ２０２、揮発性メモリ２０３、補助記憶装置２０４のいずれかの記憶部に記憶され、ＣＰＵ２０１により実行される。
【００６８】
ステップＳ１１０１において、実機器構成データ収集部３２１は実機器構成データを収集する。ステップＳ１１０１は、たとえば画像形成装置の電源の投入後に行われる。それというのは、画像形成装置の構成の変更は、電源をオフした状態で行われるのが通常だからである。
【００６９】
ステップＳ１１０２において、実機器構成データ通知部３２２はＳ１１０１で収集した実機器構成データを仮想デバイス管理サービス３０２に対して送信する。ステップＳ１１０３において、仮想デバイス管理サービス３０２の実機器構成データ受信部３５３は、Ｓ１１０２で画像形成装置１０１から送信される実機器構成データを受信する。そしてステップＳ１１０３の実行の結果を実機器構成データ通知部の応答として返す（Ｓ１１２１）。Ｓ１１０３で事機器構成データを受信した際に実行されるＳ１１２１における処理、及びに返される応答については後述の図１２のフローチャートを用いて詳細に説明する。Ｓ１１０３に対して返された応答にアプリケーション有効化指示が含まれている場合には、画像形成装置１０１はＳ１１０４Ａ（ステップＳ１１０４乃至Ｓ１１１２）を実行する。また結果にアプリケーション無効化指示が含まれている場合にはステップＳ１１１３を実行し、結果にハードウェア接続指示が含まれている場合にはステップＳ１１１４を実行する。
【００７０】
ステップＳ１１０４において、ライセンス発行要求部３２６は、ライセンス番号一覧とデバイス番号とをライセンス発行要求としてライセンス管理サービス３０３に送信する。送信されるライセンス番号一覧はＳ１１０３で受信したアプリケーション有効化指示から取得し、デバイス識別子はＳ１１０１で収集した実機器構成データから取得する。
【００７１】
ステップＳ１１０５において、ライセンス管理サーバ３０３のライセンス発行要求受信部３８２は、Ｓ１１０４で送信されたライセンス発行要求を受信する。Ｓ１１３１で、ライセンス発行要求受信部３８２は、受信したライセンス発行要求から取得したライセンス番号に一致するレコードをライセンス履歴データから取得する。そしてライセンス発行要求受信部３８２は、取得したレコードに、受信したライセンス発行要求から取得したデバイス識別子が存在している場合には、当該デバイスに対して既に発行しているライセンスを取得して応答として返す。もし存在しない場合にはライセンス発行要求受信部３８２は取得したレコードの残ライセンス数が０でなければ、受信したライセンス発行要求から取得したデバイス識別子を持つデバイス用のライセンスを発行する。ライセンス発行要求受信部３８２は取得したレコードの残ライセンス数を１減らし、ライセンス発行済デバイス識別子にライセンス発行要求から取得したデバイス識別子を追加する。その後発行したライセンスを応答として返す。残ライセンス数が０であれば、その旨をライセンスに代えて応答する。この場合には拡張機能は利用できないから、たとえばライセンスが不足している旨を表示してライセンスの管理手順を終了することになる。
【００７２】
ステップＳ１１０６において、デバイス管理モジュール３０１のアプリケーション要求部３２５は、Ｓ１１０３に対する応答として受信したアプリケーション有効化指示から取得したライセンス番号の一覧を、アプリケーション要求としてライセンス管理サービス３０３に送信する。
【００７３】
ステップＳ１１０７において、アプリケーション要求受信部３８３はＳ１１０６で送信されたアプリケーション要求を受信する。Ｓ１１３２において、アプリケーション要求受信部３７３は受信したアプリケーション要求に含まれるライセンス番号一覧の各々のライセンス番号がライセンス番号カラム９０２に含まれているレコードをライセンス履歴データテーブル９０１から取得をする。そして取得したレコードの商品識別子カラム９０３から商品識別子を取得し、その商品識別子と商品識別子カラム８０２とが一致する商品データのレコードを商品データテーブル８０１から取得する。そして取得した商品データレコードからアプリケーションカラム８０５からアプリケーションを取得して応答として返す。ここでいうアプリケーションとは、たとえばアプリケーションを実現するためのプログラムコードなどを含んでもよい。
【００７４】
ステップＳ１１０８において、アプリケーション有効化部３２７は、Ｓ１１０４に対する応答として取得したライセンスと、Ｓ１１０６に対する応答として取得したアプリケーションとを使用して、当該アプリケーションを有効化する。
【００７５】
ステップＳ１１０９において、実ライセンスデータ更新部３２３は、Ｓ１１０８で有効化したアプリケーションのライセンスを実ライセンスデータとして追加する。なお、追加する実ライセンスデータに格納する商品識別子、アプリケーション識別子、ライセンス番号はライセンスから取得する。
【００７６】
ステップＳ１１１０において、実ライセンスデータ通知部３２４は自身のデバイス識別子とＳ１１０９で更新した実ライセンスデータを仮想デバイス管理サービス３０２に送信する。
【００７７】
ステップＳ１１１１において、実ライセンスデータ受信部３５５はＳ１１１０で画像形成装置１０１から送信されたデバイス識別子と実ライセンスデータを受信する。
【００７８】
ステップＳ１１１２において、仮想ライセンスデータ更新部３５６は、Ｓ１１１１で受信したデバイス識別子をデバイス識別子カラム６０２に保持するレコードを仮想デバイステーブル６０１から取得し、そのレコードから仮想ライセンスデータ識別子を取得する。そして仮想ライセンスデータ識別子を保持する仮想ライセンスデータを仮想ライセンスデータ保持部３４２から取得をして、Ｓ１１１１で受信した実ライセンスデータで更新する。
【００７９】
以上の手順で、追加されたデバイスによって資源の上では利用可能となったアプリケーションが有効化される。
【００８０】
一方、Ｓ１１０３に対する応答としてアプリケーション無効化指示を受信した場合、ステップＳ１１１３が実行される。ステップＳ１１１３において、アプリケーション無効化部３２９はＳ１１０３の応答として取得したアプリケーション無効化指示からライセンス番号を取得し、そのライセンス番号と一致するレコードをライセンスデータ５０１から検索をして削除する。そのようにすることでアプリケーションを無効化する。
【００８１】
また、Ｓ１１０３に対する応答としてハードウェア接続指示を受信した場合、ステップＳ１１１４が実行される。ステップＳ１１１４において、ハードウェア接続エラー画面表示部３３０は、Ｓ１１０３の応答として取得したハードウェア接続指示から商品名とオプションハードウェア名を取得する。そして取得した商品名とオプションハードウェア名を表示したハードウェア接続エラー画面１３０１を表示する。
【００８２】
以上の手順によって、画像形成装置の機器構成に応じて、アプリケーションの有効化あるいは無効化を行うことが可能となる。たとえば、ひとつのライセンス管理システムの管理下にある二つの画像形成装置の間で、一方（移動元）のオプションデバイスが取り外されて他方（移動先）に取り付けられた場合を考える。また、そのオプションデバイスを必要条件として利用可能となっていたアプリケーションがあるものとする。その場合には、それぞれの画像形成装置の電源投入をきっかけとして、移動元の画像形成装置に対してはアプリケーション無効化指示が、移動先の画像形成装置に対してはアプリケーションの有効化指示がそれぞれ発行される。それに応じて移動元の画像形成装置ではアプリケーションは無効化され、移動先の画像形成装置には新たに利用可能となったアプリケーションがインストールされて有効となる。ライセンスの数に余裕がないと、先に移動先の画像形成装置の電源投入をすると、ライセンスの不足によってアプリケーションの有効化はできないかもしれない。しかし、移動元の画像形成装置の電源投入後に改めて電源切断と再投入とを行えば、アプリケーションの有効化が行われる。
【００８３】
このように、本実施形態では、ライセンスの無効化や発行のために、管理者や利用者等がマニュアル操作で介入する必要がない。本実施形態によれば、画像形成装置の機器構成に応じて利用可能なアプリケーションおよびそのライセンスの有無の判定が、機器構成が変えられる都度行われて、利用可能なアプリケーションの有効化や利用可能でなくなったアプリケーションの無効化が、自動的かつ迅速に行われる。
【００８４】
＜仮想デバイス管理サービスによる実機器構成データ受信時の処理＞
図１２はステップＳ１１２１で実機器構成データ受信部３５３が実行する処理を表したフローチャートである。
【００８５】
ステップＳ１２０１では、実機器構成データ受信部３５３は実機器構成データとテナント識別子を取得する。ステップＳ１２０２では、実機器構成データ受信部３５３はＳ１２０１で取得した実機器構成データからデバイス識別子を取得する。ステップＳ１２０３では、実機器構成データ受信部３５３は、Ｓ１２０２で取得したデバイス識別子と一致するデバイス識別子カラム６０２を持つレコードを仮想デバイステーブル６０１から取得し、そのレコードに含まれる仮想機器構成データ識別子を取得する。そして取得した仮想機器構成データ識別子と一致するレコードを仮想機器構成データ保持部３４３から取得する。
【００８６】
ステップＳ１２０４では、実機器構成データ受信部３５３はＳ１２０３で取得した仮想機器構成データのレコードをＳ１２０１で受信した実機器構成データで更新するように仮想機器構成データ更新部３５４を実行する。ステップＳ１２０５では、実機器構成データ受信部３５３は、Ｓ１２０４で変更された機器構成データによってアプリケーションの必要条件を満たせなくなった商品が存在するかを、ライセンス利用条件判定部３５７を用いて判定する。
【００８７】
具体的には、Ｓ１２０１で取得したデバイス識別子に対して割り当てられている商品識別子一覧を仮想ライセンスデータ保持部３４２から取得をする。取得した商品識別子一覧の各々の商品識別子に対する商品データを商品データ要求部３５１により取得し、その商品の必要条件を満たしているかどうかを判定する。もし必要条件を満たせなくなった商品が存在する場合にはＳ１２０６に進み、存在しない場合にはＳ１２０９に進む。ステップＳ１２０６では、実機器構成データ受信部３５３は、Ｓ１２０２で取得したデバイス識別子が転送元ライセンスカラム１００３に含まれ、かつ、無効化指示フラグカラム１００５が「未指示」のレコードが転送ライセンス履歴データテーブルに存在するか判定する。もし存在する場合にはＳ１２０８に進み、存在しない場合にはＳ１２０７に進む。ステップＳ１２０７では、実機器構成データ受信部３５３はアプリケーションが動作する上で必要な条件を満たしていない旨を通知するためハードウェア接続指示を応答として返すための情報を作成する。ハードウェア接続指示には、Ｓ１２０５で取得した、必要条件を満たしていない商品データの商品名カラム８０３と必要ハードウェアカラム８０７の値を含んだデータを少なくとも含む。
【００８８】
ステップＳ１２０８では、実機器構成データ受信部３５３は、Ｓ１２０５で取得したアプリケーションを画像形成装置で無効化するためのアプリケーション無効化指示情報を応答として返すための情報を作成する。アプリケーション無効化指示情報には、Ｓ１２０６で取得した転送ライセンス履歴データテーブル１００１のライセンス番号カラム１００２から取得したライセンス識別子を少なくとも含む。ステップＳ１２０９では、実機器構成データ受信部３５３はＳ１２０６で取得した転送ライセンス履歴データ１００１の無効化指示フラグカラム１００５の値を「済み」に変更する。
【００８９】
ステップＳ１２１０では、実機器構成データ受信部３５３はＳ１２０４で変更された機器構成データによってアプリケーションの必要条件を満たせる商品がテナント内に存在するかライセンス利用条件判定部３５７を用いて判定する。具体的には、Ｓ１２０１で取得したテナント識別子に対して割り当てられている商品識別子一覧を商品管理データ保持部３４４から取得をする。取得した商品識別子一覧の各々の商品識別子に対する商品データを商品データ要求部３５１により取得し、その商品の必要条件を満たしているかどうかを判定する。もし必要条件を満たせるようになった商品が存在する場合にはＳ１２１１に進み、存在しない場合には処理を終了する。
【００９０】
ステップＳ１２１１では、実機器構成データ受信部３５３はＳ１２１０で必要条件を満たした商品の必要ハードウェアに対するハードウェア識別子を、Ｓ１２０１で取得した機器構成データから取得する。そして取得したハードウェア識別子が他の画像形成装置で使用されていないかどうかを仮想機器構成データ保持部３４３から検索をする。もし検索した結果見つかった場合にはＳ１２１２に進み、見つからなかった場合にはＳ１２１５に進む。
【００９１】
ステップＳ１２１２では、実機器構成データ受信部３５３はＳ１２１０で商品管理データ保持部３４４から取得したレコードの使用デバイス識別子一覧カラム７０７の値を取得する。そしてその値のうち、Ｓ１２１１で検索した機器構成データのデバイス識別子をＳ１２０２で取得したデバイス識別子に変更する。ステップＳ１２１３では、実機器構成データ受信部３５３はライセンスサーバに対して、ライセンス転送要求部３５９を用いて行う。ライセンス転送要求にはＳ１２１０で取得した仮想ライセンスデータのライセンス番号、Ｓ１２１１で取得したデバイス識別子、Ｓ１２０２で取得したデバイス識別子を少なくとも含む。ステップＳ１２１４では、実機器構成データ受信部３５３はＳ１２１０で取得した商品管理データのライセンス番号カラム７０６から取得したライセンス番号を含んだアプリケーション有効化指示を応答として返す。
【００９２】
一方ステップＳ１２１５では、実機器構成データ受信部３５３は、Ｓ１２１０で取得した商品管理データにＳ１２０２で取得したデバイス識別子が含まれているかどうかを判定し、含まれている場合にはＳ１２１６に進み、含まれていない場合には処理を終了する。ステップＳ１２１６では、実機器構成データ受信部３５３は、Ｓ１２１０で取得した、必要条件を満たした商品の使用デバイス識別子一覧カラム７０７に、Ｓ１２０２で取得したデバイス識別子を追加する。ステップＳ１２１８では、実機器構成データ受信部３５３はＳ１２１０で取得した商品管理データのライセンス番号カラム７０６から取得したライセンス番号を含んだアプリケーション有効化指示を応答として返す。
【００９３】
以上の手順により、画像形成装置の機器構成に応じて、アプリケーションの有効化指示、無効化指示、あるいはハードウェア接続指示を、当該画像形成装置のデバイス管理モジュールに送信することができる。
【００９４】
以上説明した本実施形態により、ユーザはハードウェアオプションの接続を変更するだけで、そのハードウェアオプションにより利用できるアプリケーションのライセンスを転送し利用することができる。そのため、ユーザによる転送作業にかかる負荷を下げることができる。
【００９５】
なお本実施形態では、ライセンス管理サービスと仮想デバイス管理サービスとが、サーバ群で実現されると説明した。これらのサービスは相異なるサーバで実行されてもよいし、ひとつのサーバで実行されてもよい。
【００９６】
また、オプション機器の移動元の画像形成装置に対して先に図１２の処理を行うと、その画像形成装置に対してはＳ１２０７でハードウェア接続指示が送信され、ライセンスは無効化されないこともあり得る。その場合には、移動元の画像形成装置を再度電源のオンオフを行うことで、Ｓ１２０６の条件が満たされ、Ｓ１２０８が実行される。
【００９７】
また、オプション機器は単に移動されるだけでなく、交換される場合もあり得る。その場合には、一方の画像形成装置において、新たに利用可能となるアプリケーションと、新たに利用できなくなるアプリケーションとが存在し得る。そのような場合に、アプリケーションの有効かと無効化とを一回的に解決するため、仮想デバイス管理モジュール３０２は、実機器構成データを画像形成装置から受信すると、変化した機器構成の数を数え、それぞれに対して、Ｓ１１２１の処理を行って応答する。ただし、処理は一か所ずつ行う。たとえば仮想デバイス管理サービス３０２は、構成が変化した最初の箇所について、アプリケーションの有効化指示は無効化指示、あるいはハードウェア接続指示を画像形成装置に送信する。画像形成装置は、そのすべての指示に対して、必要な処理を行ったなら仮想デバイス管理サービスに応答する。応答を受信した仮想デバイス管理サービス３０２は、構成が変化したすべての箇所について対応する指示を終えていれば処理を終了し、残っていればその構成について図１２の手順で対応する指示を画像形成装置に送信する。こうすることで、ひとつの実機器構成データにおいて複数箇所の変化があっても、その全部に対応することができる。
【００９８】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013109413.tif 000003
【図２】
2013109413.tif 000004
【図３Ａ】
2013109413.tif 000005
【図３Ｂ】
2013109413.tif 000006
【図３Ｃ】
2013109413.tif 000007
【図４Ａ】
2013109413.tif 000008
【図４Ｂ】
2013109413.tif 000009
【図５】
2013109413.tif 000010
【図６】
2013109413.tif 000011
【図７】
2013109413.tif 000012
【図８】
2013109413.tif 000013
【図９】
2013109413.tif 000014
【図１０】
2013109413.tif 000015
【図１１】
2013109413.tif 000016
【図１２】
2013109413.tif 000017
【図１３】
2013109413.tif 000018