(57)【要約】【課題】プログラムの使用について柔軟性のあるライセンス管理を行うことができる画像形成装置、ライセンス管理方法及びライセンス管理プログラムの提供を目的とする。【解決手段】プログラムを追加可能な画像形成装置であって、前記プログラムごとに固有のプログラム識別情報と前記画像形成装置ごとに固有の機器識別情報とに関連付けられた使用許可データをネットワークを介して受信し、前記使用許可データに関連付けられている前記プログラム識別情報及び前記機器識別情報と、前記プログラムの前記プログラム識別情報及び当該画像形成装置の前記機器識別情報とを比較することにより前記プログラムの起動の許否判定を行う起動判定手段を有することにより上記課題を解決する。【選択図】図１３
2008016013.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを追加可能な画像形成装置であって、
前記プログラムごとに固有のプログラム識別情報と前記画像形成装置ごとに固有の機器識別情報とに関連付けられた使用許可データをネットワークを介して受信し、
前記使用許可データに関連付けられている前記プログラム識別情報及び前記機器識別情報と、前記プログラムの前記プログラム識別情報及び当該画像形成装置の前記機器識別情報とを比較することにより前記プログラムの起動の許否判定を行う起動判定手段を有することを特徴とする画像形成装置。
【請求項２】
前記使用許可データは、前記機器識別情報を含むことを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記使用許可データは、前記機器識別情報のハッシュ値又は前記機器識別情報の暗号値を含むことを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記機器識別情報は、前記画像形成装置の構成要素に固有の情報を含むことを特徴とする請求項１乃至３いずれか一項記載の画像形成装置。
【請求項５】
前記使用許可データは、前記機器識別情報によって暗号化されていることを特徴とする請求項１乃至４いずれか一項記載の画像形成装置。
【請求項６】
前記使用許可データには更にユーザの識別情報が含まれており、
前記起動判定手段は、前記プログラムの起動を要求するユーザの識別情報と前記使用許可データに含まれているユーザの識別情報とを比較することにより前記プログラムの起動の許否判定を行うことを特徴とする請求項１乃至５いずれか一項記載の画像形成装置。
【請求項７】
前記プログラムは、携帯可能な記録媒体に記録されており、
前記記録媒体には前記機器識別情報及び前記記録媒体に固有の媒体識別情報の少なくともいずれか一方と前記プログラムのハッシュ値とを含む正当性判断データが記録されており、
当該画像形成装置の前記機器識別情報及び前記記録媒体の前記媒体識別情報の少なくともいずれか一方を前記正当性判断データに含まれている値と比較し、前記プログラムのハッシュ値と前記正当性判断データに含まれているハッシュ値とを比較することにより前記プログラムの正当性を判定する正当性判定手段を有することを特徴とする請求項１乃至６いずれか一項記載の画像形成装置。
【請求項８】
前記正当性判断手段による判定結果が否定的な場合であっても、前記起動判定手段による判定結果が肯定的な場合は前記プログラムを起動することを特徴とする請求項７記載の画像形成装置。
【請求項９】
プログラムを追加可能な画像形成装置が実行するライセンス管理方法であって、
前記プログラムごとに固有のプログラム識別情報と前記画像形成装置ごとに固有の機器識別情報とに関連付けられた使用許可データをネットワークを介して受信する手順と、
前記使用許可データに関連付けられている前記プログラム識別情報及び前記機器識別情報と、前記プログラムの前記プログラム識別情報及び当該画像形成装置の前記機器識別情報とを比較することにより前記プログラムの起動の許否判定を行う起動判定手順とを有することを特徴とするライセンス管理方法。
【請求項１０】
前記使用許可データは、前記機器識別情報を含むことを特徴とする請求項９記載のライセンス管理方法。
【請求項１１】
前記使用許可データは、前記機器識別情報のハッシュ値又は前記機器識別情報の暗号値を含むことを特徴とする請求項９又は１０記載のライセンス管理方法。
【請求項１２】
前記機器識別情報は、前記画像形成装置の構成要素に固有の情報を含むことを特徴とする請求項９乃至１１いずれか一項記載のライセンス管理方法。
【請求項１３】
前記使用許可データは、前記機器識別情報によって暗号化されていることを特徴とする請求項９乃至１２いずれか一項記載のライセンス管理方法。
【請求項１４】
前記使用許可データには更にユーザの識別情報が含まれており、
前記起動判定手順は、前記プログラムの起動を要求するユーザの識別情報と前記使用許可データに含まれているユーザの識別情報とを比較することにより前記プログラムの起動の許否判定を行うことを特徴とする請求項９乃至１３いずれか一項記載のライセンス管理方法。
【請求項１５】
前記プログラムは、携帯可能な記録媒体に記録されており、
前記記録媒体には前記機器識別情報及び前記記録媒体に固有の媒体識別情報の少なくともいずれか一方と前記プログラムのハッシュ値とを含む正当性判断データが記録されており、
当該画像形成装置の前記機器識別情報及び前記記録媒体の前記媒体識別情報の少なくともいずれか一方を前記正当性判断データに含まれている値と比較し、前記プログラムのハッシュ値と前記正当性判断データに含まれているハッシュ値とを比較することにより前記プログラムの正当性を判定する正当性判定手順を有することを特徴とする請求項９乃至１４いずれか一項記載のライセンス管理方法。
【請求項１６】
前記正当性判断手順による判定結果が否定的な場合であっても、前記起動判定手順による判定結果が肯定的な場合は前記プログラムを起動することを特徴とする請求項１５記載のライセンス管理方法。
【請求項１７】
請求項９乃至１６いずれか一項記載のライセンス管理方法をコンピュータに実行させるためのライセンス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、ライセンス管理方法及びライセンス管理プログラムに関し、特に携帯可能な記録媒体に記録されたアプリケーションを実行可能な画像形成装置、ライセンス管理方法及びライセンス管理プログラムに関する。
【背景技術】
【０００２】
近年、コピー機能とプリンタ機能とスキャナ機能とファクシミリ機能を備える複合機や融合機が市販されるようになった。複合機や融合機は、コピーやプリンタとして機能する場合には、画像を印刷用紙に印刷することになり、コピーやスキャナとして機能する場合には、画像を読取原稿から読み取ることになり、ファクシミリとして機能する場合には、画像を電話回線を介して他の機器と授受することになる。
【０００３】
複合機や融合機内では、アプリケーションやプラットフォーム等の様々なプログラムによって様々な情報処理が実行される。これらのプログラムは、これらの機器の出荷前からこれらの機器内に実装されているのが普通だが、これらのプログラムを、これらの機器の出荷後にこれら機器内に実装できるようにすれば便利である。それには、これらのプログラムが記憶された「メモリカード」をこれらの機器にセットして、これらのプログラムをこれらの機器内に実装できるようにすればよい。このようにすれば、プログラムの開発を機器のメーカーが機器のベンダーに許可するような場合に重宝するだろう。
【０００４】
このときに問題となるのが、プログラムのコピーと改竄である。プログラムのコピーは例えば、プログラムの不正コピーによるプログラムの販売利益の損失が問題となることがあり、プログラムの改竄は例えば、複合機や融合機の不正バージョンアップによる複合機や融合機のレンタル利益の損失が問題となることがある。前者の問題は上記のベンダーにとって死活問題であり、後者の問題は上記のメーカーにとって死活問題である。
【０００５】
そこで、例えば、特許文献１には、メモリカードによって配布されるプログラムの改竄や不正利用を防止するための技術が開示されている。
【特許文献１】特開２００５―３０１９６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、不正目的のないユーザにとって、プログラムのコピーが全くできないのは不便な場合がある。例えば、当該ユーザが、別のメモリカードによってプログラムを利用したい場合、同一のプログラムが記録された別のメモリカードを改めて購入しなければならない。また、販売利益の損失の発生の抑止が担保されるのであれば、プログラムのコピーを認めても不都合はないものと考えられる。
【０００７】
本発明は、上記の点に鑑みてなされたものであって、プログラムの使用について柔軟性のあるライセンス管理を行うことができる画像形成装置、ライセンス管理方法及びライセンス管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００８】
そこで上記課題を解決するため、本発明は、プログラムを追加可能な画像形成装置であって、前記プログラムごとに固有のプログラム識別情報と前記画像形成装置ごとに固有の機器識別情報とに関連付けられた使用許可データをネットワークを介して受信し、前記使用許可データに関連付けられている前記プログラム識別情報及び前記機器識別情報と、前記プログラムの前記プログラム識別情報及び当該画像形成装置の前記機器識別情報とを比較することにより前記プログラムの起動の許否判定を行う起動判定手段を有することを特徴とする。
【０００９】
このような画像形成装置では、プログラムの使用について柔軟性のあるライセンス管理を行うことができる。
【００１０】
また、上記課題を解決するため、本発明は、上記画像形成装置におけるライセンス管理方法、又は前記ライセンス管理方法をコンピュータに実行させるためのライセンス管理プログラムとしてもよい。
【発明の効果】
【００１１】
本発明によれば、プログラムの使用について柔軟性のあるライセンス管理を行うことができる画像形成装置、ライセンス管理方法及びライセンス管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１２】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における融合機のソフトウェア構成例を説明するための図である。図１の融合機１０１は、画像形成装置の一例であり、種々のハードウェア１１１と、種々のソフトウェア１１２と、融合機起動部１１３により構成される。
【００１３】
融合機１０１のハードウェア１１１としては、撮像部１２１と、印刷部１２２と、その他のハードウェア１２３が存在する。撮像部１２１は、読取原稿から画像（画像データ）を読み取るためのハードウェアである。印刷部１２２は、画像（画像データ）を印刷用紙に印刷するためのハードウェアである。
【００１４】
融合機１０１のソフトウェア１１２としては、種々のアプリケーション１３１と、種々のプラットフォーム１３２等が存在する。
【００１５】
アプリケーション１３１としては、標準アプリ１４１、ＳＤＫアプリケーションサービス（ＳＡＳ）１４２、アクティベーションサービス１４３、インストールサービス１４４、ＣＳＤＫアプリ１４５、ＪＳＫＤアプリ１４６、及びＪＳＤＫプラットフォーム１４７等が存在する。
【００１６】
標準アプリ１４１は、融合機１０１に標準的に（出荷時に予め）実装されている各種アプリケーションの集合であり、例えば、コピー機能、プリンタ機能、スキャナ機能、及びファクシミリ機能等、融合機１０１の基本的な機能を実現するためのアプリケーションによって構成される。
【００１７】
ＣＳＤＫアプリ１４５、及びＪＳＫＤアプリ１４６は、専用のＳＤＫ（ソフトウェア開発キット）を使用して開発されたアプリケーションである。すなわち、融合機１０１には、その出荷後に専用のＳＤＫを使用して新たにアプリケーションを追加することができる。ＳＤＫを使用して開発されたアプリケーション１３１を本実施の形態ではＳＤＫアプリという。専用のＳＤＫとしては、Ｃ言語でアプリケーション１３１を開発するための「ＣＳＤＫ」や、Ｊａｖａ（登録商標）言語でアプリケーション１３１を開発するための「ＪＳＤＫ」が提供される。ＣＳＤＫを使用して開発したアプリケーション１３１を「ＣＳＤＫアプリ」（ＣＳＤＫアプリ１４５）という。また、ＪＳＤＫを使用して開発したアプリケーション１３１を「ＪＳＤＫアプリ」（ＪＳＫＤアプリ１４６）という。
【００１８】
ＪＳＤＫプラットフォーム１４７は、Ｊａｖａ（登録商標）言語で記述されたＪＳＤＫアプリ１４６に対して動作環境を提供するソフトウェアであり、例えば、Ｊａｖａ（登録商標）仮想マシン等を含む。
【００１９】
ＳＡＳ１４２は、ＳＤＫアプリの起動制御，起動解除制御，インストール制御，アンインストール制御，アップデート制御等を行うソフトウェアである。すなわち、従来、Ｗｉｎｄｏｗｓ（登録商標）アプリケーション等においては、インストーラは、各アプリケーションに付随したものであった。しかし、融合機１０１では、各アプリケーションのインストール及びアンインストール等は、ＳＡＳ１４２によって統合的に行われる。アプリケーションのインストール及びアンインストール等がＳＡＳ１４２によって統合されていることにより、ユーザは、アプリケーションごとに異なるインストール作業を要求されることはなく、インストール作業に対する作業負担が軽減される。
【００２０】
アクティベーションサービス１４３は、ＳＡＳ１４２の制御のもと、ＳＤＫアプリの起動の許否判定を行うソフトウェアである。詳細については後述するが、アクティベーションサービス１４３は、ネットワークを介して入手されるアクティベーションキーと呼ばれるデータに基づいて許否判定を行う。
【００２１】
インストールサービス１４４は、ＳＡＳ１４２の制御のもと、ＳＤＫアプリのインストール処理を行うソフトウェアである。インストールサービス１４４は、インストール処理において、ＳＤＫアプリの正当性を判定する。ここでいう正当性とは、ＳＤＫアプリが改竄されていないこと、許可された範囲を超えて利用されていない（すなわち、不正利用されていない）ことをいう。
【００２２】
プラットフォーム１３２としては、コントロールサービス１５１及びＯＳ１３６等が存在する。
【００２３】
コントロールサービス１５１は、各種のハードウェアリソース等を制御するためのサービスを上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関するサービスを提供するためのプロセスとして起動されるネットワークコントロールサービス（ＮＣＳ）１６１等を含む。
【００２４】
ＯＳ１３６は、ＵＮＩＸ（登録商標）等のいわゆるＯＳであり、上記各種ソフトウェアをプロセス単位で並列的に起動する。
【００２５】
アプリケーション１３１とプラットフォーム１３２との間には、両者の仲介を行うソフトウェア１１２として、仮想アプリケーションサービス（ＶＡＳ）１３５が存在する。ＶＡＳ１３５は、アプリケーション１３１をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム１３２をサーバとするクライアントプロセスとして動作する。ＶＡＳ１３５は、アプリケーション１３１から見てプラットフォーム１３２を隠蔽するラッピング機能を備え、プラットフォーム１３２のバージョンアップによるバージョン差を吸収する役割等を担う。
【００２６】
融合機起動部１１３は、融合機１０１の電源投入時に最初に実行される。これにより、ＵＮＩＸ（登録商標）等のＯＳ１３６が起動され、アプリケーション１３１やプラットフォーム１３２が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。
【００２７】
図２は、本発明の実施の形態における融合機のハードウェア構成例を示す図である。融合機１０１のハードウェア１１１としては、コントローラ２０１と、オペレーションパネル２０２と、ファクシミリコントロールユニット（ＦＣＵ）２０３と、撮像部１２１と、印刷部１２２が存在する。
【００２８】
コントローラ２０１は、ＣＰＵ２１１、ＡＳＩＣ２１２、ＮＢ２２１、ＳＢ２２２、ＭＥＭ−Ｐ２３１、ＭＥＭ−Ｃ２３２、ＨＤＤ（ハードディスクドライブ）２３３、メモリカードスロット２３４、ＮＩＣ（ネットワークインタフェースコントローラ）２４１、ＵＳＢデバイス２４２、ＩＥＥＥ１３９４デバイス２４３、セントロニクスデバイス２４４により構成される。
【００２９】
ＣＰＵ２１１は、種々の情報処理用のＩＣである。ＡＳＩＣ２１２は、種々の画像処理用のＩＣである。ＮＢ２２１は、コントローラ２０１のノースブリッジである。ＳＢ２２２は、コントローラ２０１のサウスブリッジである。ＭＥＭ−Ｐ２３１は、融合機１０１のシステムメモリである。ＭＥＭ−Ｃ２３２は、融合機１０１のローカルメモリである。ＨＤＤ２３３は、融合機１０１のストレージである。メモリカードスロット２３４は、携帯可能な記録媒体の一例であるメモリカード２３５をセットするためのスロットである。ＮＩＣ２４１は、ＭＡＣアドレスによるネットワーク通信用のコントローラである。ＵＳＢデバイス２４２は、ＵＳＢ規格の接続端子を提供するためのデバイスである。ＩＥＥＥ１３９４デバイス２４３は、ＩＥＥＥ１３９４規格の接続端子を提供するためのデバイスである。セントロニクスデバイス２４４は、セントロニクス仕様の接続端子を提供するためのデバイスである。
【００３０】
オペレーションパネル２０２は、オペレータが融合機１０１に入力を行うためのハードウェア（操作部）であると共に、オペレータが融合機１０１から出力を得るためのハードウェア（表示部）である。
【００３１】
（融合機起動部）
図１の融合機起動部１１３について説明する。
【００３２】
融合機起動部１１３は、図３のように、メモリモニタ部５０１と、プログラム起動部５０２により構成される。
【００３３】
図１の融合機１０１の電源を投入すると、メモリモニタ部５０１を構成するＢＩＯＳとブートローダが起動されて、これにより、ＵＮＩＸ（登録商標）等のＯＳが起動される。続いて、プログラム起動部５０２を構成する起動処理用プログラムが起動されて、これにより、アプリケーション１３１やプラットフォーム１３２が適宜起動される。なお、ＵＮＩＸ（登録商標）が起動される場合には、ＵＮＩＸ（登録商標）のカーネルが起動され、ルートファイルシステムが展開され、アプリケーション１３１やプラットフォーム１３２に係るファイルシステムがルートファイルシステムにマウントされることになる。
【００３４】
（メモリカード）
図２のメモリカード用スロット２３４とメモリカード２３５について説明する。
【００３５】
メモリカード用スロット２３４は、アプリケーション１３１やプラットフォーム１３２等のプログラムが記憶されたメモリカード２３５をセット（挿入）するためのスロットである。図１の融合機１０１においては、アプリケーション１３１やプラットフォーム１３２等のプログラムは、メモリカード用スロット２３４にセットされたメモリカード２３５等に蓄積されており、メモリカード用スロット２３４にセットされたメモリカード２３５等から再生されて、ＭＥＭ−Ｐ２３１やＭＥＭ−Ｃ２３２に起動されることになる。
【００３６】
メモリカード２３５としては、フラッシュメモリカードの一種であるＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードを採用することにする。ＳＤメモリカードを採用することで例えば、大容量のメモリを安価で利用できるというメリットを享受できる。なお、メモリカード用スロット２３４としては、ＳＤメモリカード用スロットが採用される。
【００３７】
図１の融合機１０１には、図４のように、ＳＤメモリカード用スロット６０１とＳＤメモリカード６０２（メモリカード用スロット２３４とメモリカード２３５に相当する）に係るソフトウェアとして、ＳＤメモリカードアクセスドライバ（ＳＤａｃｃｅｓｓ）６１１と、ＳＤメモリカードステータスドライバ（ＳＤｓｔａｔｅｓ）６１２と、起動処理用プログラム６１３と、ＳＤメモリカードチェックプログラム（ＳＤｃｈｅｃｋ）６１４が存在する。
【００３８】
ＳＤａｃｃｅｓｓ６１１は、ＳＤメモリカード６０２の挿入・抜出を検知する等、ＳＤメモリカード６０２に対するアクセス制御を実行するドライバである。ＳＤｓｔａｔｅｓ６１２は、ＳＤメモリカード６０２の挿入・抜出・マウント・アンマウントに関する情報を管理するドライバである。起動処理用プログラム６１３は、図３のプログラム起動部５０２を構成するプログラムである。ＳＤｃｈｅｃｋ６１４は、ＳＤメモリカード６０２のマウント・アンマウントを実行するプログラムである。
【００３９】
ＳＤメモリカード用スロット６０１にＳＤメモリカード６０２が挿入された場合、ＳＤａｃｃｅｓｓ６１１は、ＳＤメモリカード６０２が挿入された事を検知（Ｓ１）すると共に、ＳＤｓｔａｔｅｓ６１２にその事を通知（Ｓ２）する。これに応じて、ＳＤｓｔａｔｅｓ６１２は、ＳＤメモリカード６０２が挿入された旨の情報を管理することにすると共に、起動処理用プログラム６１３にその旨を通知（Ｓ３）する。これに応じて、起動処理用プログラム６１３は、ＳＤメモリカード６０２のマウントを実行させるために、ＳＤｃｈｅｃｋ６１４を起動（Ｓ４）させる。これに応じて、ＳＤｃｈｅｃｋ６１４は、ＳＤメモリカード６０２のマウントを実行（Ｓ５）すると共に、ＳＤｓｔａｔｅｓ６１２にその事を通知（Ｓ６）する。これに応じて、ＳＤｓｔａｔｅｓ６１２は、ＳＤメモリカード６０２がマウントされた旨の情報を管理することにすると共に、起動処理用プログラム６１３等にその旨を通知（Ｓ７）する。
【００４０】
ＳＤメモリカード用スロット６０１からＳＤメモリカード６０２が抜き出された場合、ＳＤａｃｃｅｓｓ６１１は、ＳＤメモリカード６０２が抜き出された事を検知（Ｓ１）すると共に、ＳＤｓｔａｔｅｓ６１２にその事を通知（Ｓ２）する。これに応じて、ＳＤｓｔａｔｅｓ６１２は、ＳＤメモリカード６０２が抜き出された旨の情報を管理することにすると共に、起動処理用プログラム６１３にその旨を通知（Ｓ３）する。これに応じて、起動処理用プログラム６１３は、ＳＤメモリカード６０２のアンマウントを実行させるために、ＳＤｃｈｅｃｋ６１４を起動（Ｓ４）させる。これに応じて、ＳＤｃｈｅｃｋ６１４は、ＳＤメモリカード６０２のアンマウントを実行（Ｓ５）すると共に、ＳＤｓｔａｔｅｓ６１２にその事を通知（Ｓ６）する。これに応じて、ＳＤｓｔａｔｅｓ６１２は、ＳＤメモリカード６０２がアンマウントされた旨の情報を管理することにすると共に、起動処理用プログラム６１３等にその旨を通知（Ｓ７）する。
【００４１】
なお、ＳＤメモリカードを採用することで、いわゆる活線挿抜が可能になるというメリットを享受できる。すなわち、ＳＤメモリカード用スロット６０１にＳＤメモリカード６０２を挿入する操作と、ＳＤメモリカード用スロット６０１からＳＤメモリカード６０２を抜き出す操作が、融合機１０１の起動後に実行可能になる。
【００４２】
（ライセンス管理）
以下、ＳＤメモリカード６０２に記録されたアプリケーションのライセンス管理について説明する。本実施の形態では、便宜上、ＪＳＤＫアプリ１４６及びＪＳＤＫプラットフォーム１４７のライセンス管理について説明する。但し、本実施の形態で説明するライセンス管理の仕組みは、これらのアプリケーションに限定されるものではなく、ＣＳＤＫアプリ１４５等、他のアプリケーションに対しても有効である。
【００４３】
図５は、本発明の実施の形態におけるアプリケーションのライセンス管理の概要を説明するための図である。
【００４４】
図５に示されるように、ＳＤメモリカード６０２によってソフトウェアの配布が行われる場合、本実施の形態では、当該アプリケーションごとにキーファイルと呼ばれるファイルが当該ＳＤメモリカード６０２に記録される。キーファイルは、アプリケーションの改竄や不正利用（不正コピーや許可されていない融合機１０１での利用）を検知するために必要となる情報が格納されたファイルであり、格納されている情報の構成は、アプリケーションごとに同じであってもよいし、異なっていてもよい。本実施の形態では、異なる例について示す。
【００４５】
本実施の形態では、ＳＤメモリカード６０２に、ＪＳＤＫプラットフォーム１４７と、ＪＳＤＫプラットフォーム１４７上で動作するＪＳＤＫアプリ１４６が記録されている例が示されている。キーファイル１４７ｋは、ＪＳＤＫプラットフォーム１４７に対応するキーファイルであり、ＪＳＤＫプラットフォーム１４７の実行コードのハッシュ値とＳＤメモリカード６０２の固有番号（以下「ＳＤカード番号」という。）とが暗号化されて格納されている。ＳＤカード番号は、各ＳＤメモリカード６０２の所定の領域に参照可能なように記録されている。キーファイル１４６ｋは、ＪＳＤＫアプリ１４６に対応するキーファイルであり、ＪＳＤＫアプリ１４６の実行コードのハッシュ値と当該ＪＳＤＫアプリ１４６の使用が許可される融合機１０１の機体番号とが暗号化されて格納されている。機体番号は、融合機１０１の機体ごとに固有の番号であり、各融合機１０１の所定の記録媒体に、参照可能なように記録されている。
【００４６】
ＪＳＤＫプラットフォー１４７の改竄検知は、キーファイル１４７ｋに格納されているハッシュ値（以下「ハッシュ値Ａ」という。）と、ＪＳＤＫプラットフォーム１４７の実行コードより算出されるハッシュ値（以下「ハッシュ値Ｂ」という。）とを比較することにより行われる（Ｓ１）。すなわち、ＪＳＤＫプラットフォーム１４７の改竄が行われた場合、ハッシュ値Ａとハッシュ値Ｂとが一致しないため、ＪＳＤＫプラットフォーム１４７の改竄を検知することができる。
【００４７】
ＪＳＤＫプラットフォーム１４７のコピーの検知は、キーファイル１４７ｋに格納されているＳＤカード番号と、ＳＤメモリカード６０２のＳＤカード番号とを比較することにより行われる（Ｓ２）。すなわち、ＪＳＤＫプラットフォーム１４７がキーファイル１４７ｋと共に他のＳＤメモリカードにコピーされた場合、当該他のＳＤメモリカードのＳＤカード番号と、キーファイル１４７ｋに記録されているＳＤカード番号とが一致しないため、ＪＳＤＫプラットフォーム１４７のコピーを検知することができる。
【００４８】
ＪＳＤＫプラットフォーム１４７のインストール時や起動時等において、その改竄又はコピーが検知された場合に、当該インストール又は起動を中止することにより、改竄又は不正コピーされたＪＳＤＫプラットフォーム１４７のインストール又は起動を防止することができる。
【００４９】
ＪＳＤＫアプリ１４６の改竄検知もＪＳＤＫプラットフォーム１４７と同じ方法により行われる。すなわち、キーファイル１４６ｋに格納されているハッシュ値と、ＪＳＤＫアプリ１４６の実行コードより算出されるハッシュ値とを比較することにより行われる（Ｓ３）。
【００５０】
ＪＳＤＫプラットフォーム１４７の不正利用の検知は、キーファイル１４７ｋに格納されている機体番号と、インストール又は起動対象となる融合機１０１の機体番号とを比較することにより行われる（Ｓ４）。すなわち、ＳＤメモリカード６０２が、利用が許可されていない融合機１０１に差し込まれた場合、キーファイル１４６ｋより取得される機体番号と、当該融合機１０１の機体番号とが一致しないため、不正利用を検知することができる。
【００５１】
ＪＳＤＫアプリ１４６のインストール時や起動時等において、その改竄又は不正利用が検知された場合に、当該インストール又は起動を中止することにより、改竄又は不正利用に係るＪＳＤＫアプリ１４６のインストール又は起動を防止することができる。
【００５２】
なお、ＪＳＤＫアプリ１４６がＳＤカード番号との紐付けが行われていないのは、ＪＳＤＫアプリ１４６は、ＪＳＤＫプラットフォーム１４７上で動作するといった依存関係による。すなわち、ＪＳＤＫアプリ１４６を不正コピーして動作させるためには、ＪＳＤＫプラットフォーム１４７も不正コピーを行う必要がある。しかし、ＪＳＤＫプラットフォーム１４７は、ＳＤカード番号との紐付けが行われているため、異なるＳＤメモリカード６０２にコピーされた場合、起動が許可されない。そして、ＪＳＤＫアプリ１４６は、ＪＳＤＫプラットフォーム１４７が起動していなければ起動できない。したがって、間接的又は実質的に、ＪＳＤＫアプリ１４６の不正コピーは防止されるのである。但し、ＪＳＤＫアプリ１４６についても、ＳＤカード番号との紐付けによって、単独で不正コピーの検知を可能としてもよい。この場合、キーファイル１４６ｋにもＳＤカード番号を格納しておき、ＪＳＤＫアプリ１４６のインストール又は起動時に、キーファイル１４６ｋに格納されているＳＤカード番号とＳＤメモリカード６０２のＳＤカード番号とを比較するようにすればよい。
【００５３】
ところで、本実施の形態では、ネットワークを介したアプリケーション（ＪＳＤＫプラットフォーム１４７及びＪＳＤＫアプリ１４６等）のライセンスの管理機能を実現するために、更にアクティベーションキー（Ａｃｔｉｖａｔｉｏｎ  Ｋｅｙ）３０１が用いられる。アクティベーションキー３０１は、使用するアプリケーションのプロダクトＩＤや当該アプリケーションを使用する機器（融合機１０１）の機体番号等を添えて申請することにより配布される。なお、図５では、アクティベーションキー３０１がＳＤメモリカード６０２内に保存されている例が示されているが、アクティベーションキー３０１は必ずしもライセンス管理の対象となるアプリケーションと同一のＳＤメモリカード６０２内に保存されている必要はなく、その保存場所は、運用形態に応じて異なる。例えば、当該アプリケーションをインストール又は実行する融合機１０１内に保存されていてもよいし、当該融合機１０１が通信可能なコンピュータに保存されていてもよい。すなわち、アクティベーションキー３０１は、アプリケーションがＳＤメモリカード６０２によって配布される当初より当該アプリケーションと共にＳＤメモリカード６０２に記録されて配布される必要はない。むしろ、当該ウェアのインストール後（前でもよい）に配布されるものである。また、図５では、一つのアクティベーションキー３０１が、ＪＳＤＫプラットフォーム１４７及びＪＳＤＫアプリ１４６の双方に対応している例が示されているが、キーファイルと同様、アクティベーションキー３０１についても、アプリケーションごとに対応させてもよい。
【００５４】
アクティベーションキー３０１は、例えば、以下の情報を格納するファイルとして実装される。図６は、本発明の実施の形態におけるアクティベーションキーに含まれる情報の構成例を示す図である。図６において、アクティベーションキー３０１は、使用可能なアプリケーション情報、使用可能な機器（融合機１０１）の機体番号、ライセンスサーバ情報、ライセンス方式、申請者情報、使用有効期限、使用開始期限、タイムスタンプ、及びＳＤカード番号等の情報を含む。
【００５５】
使用可能なアプリケーション情報は、使用可能なアプリケーションを識別するための情報であり、例えば、当該アクティベーションキー３０１によって使用が可能な（使用が許可される）アプリケーションのプロダクトＩＤ及び当該アプリケーションのハッシュ値が相当する。プロダクトＩＤは、ソウトウェアの製品名ごとに一意なＩＤである。
【００５６】
使用可能な機器の機体番号は、アプリケーションのインストール又は起動が許可される機器（融合機１０１）を識別するための情報であり、例えば、当該機器の機体番号が相当する。但し、当該機器のハードウェア構成から導出されるハッシュ値等であってもよい。本実施の形態では機体番号として説明する。複数の機器で使用が許可される場合、複数の機体番号が「使用可能な機器の機体番号」として格納される。
【００５７】
ライセンスサーバ情報は、ライセンスサーバのアドレス情報を示す。ライセンスサーバとは、融合機１０１に対してアクティベーションキー３０１を配布するコンピュータをいう。後述されるように、本実施の形態においてライセンスサーバはそのライセンス方式に応じて、キーエントリサーバ又はアクティベーション管理サーバが相当する。
【００５８】
ライセンス方式は、使用可能なアプリケーションごとのライセンス方式を識別する情報である。本実施の形態においてライセンス方式には、個人利用方式、ノードロックライセンス方式及びフローティングライセンス方式があるが、これらの詳細については後述する。
【００５９】
申請者情報は、当該アクティベーションキー３０１の申請者を識別する情報である。アクティベーションキー３０１の設定を変更するためのユーザ名及びパスワードを含む場合もある。
【００６０】
使用有効期限は、使用可能なアプリケーション単位の使用有効期限を示す。
【００６１】
使用開始期限は、使用可能なアプリケーション単位の使用開始期限を示す。
【００６２】
タイムスタンプは、当該アクティベーション３０１の申請が認証された時刻を示す電子署名である。
【００６３】
ＳＤカード番号は、使用可能なアプリケーションをＳＤメモリカード６０２と紐付けする場合に、当該ＳＤメモリカード６０２のＳＤカード番号を示す。
【００６４】
図６からも明らかなように、アクティベーションキー３０１によってライセンスが管理されるアプリケーションと当該アクティベーションキー３０１とは、当該ソウトウェアのプロダクトＩＤ及びハッシュ値によって紐付けられる（図５：ｒ１、ｒ２）。また、当該アクティベーションキー３０１と、当該ソウトウェアが使用可能な融合機１０１とは、機体番号によって紐付けられる（図５：ｒ３）。
【００６５】
以下、アクティベーションキー３０１を用いたライセンス管理の運用方法について、実施の形態を分けて説明する。図７は、第一の実施の形態におけるアクティベーションキーの申請及び配布の手順を説明するための図である。第一の実施の形態は、ライセンス方式が個人利用方式の場合を説明する。個人利用方式は、各ユーザが個別にライセンス（アクティベーションキー３０１）を取得する場合に適したライセンス方式である。
【００６６】
図７において、融合機１０１は、ＳＤメモリカード６０２によって配布されたアプリケーションを使用する機器である。また、キーエントリサーバ２０は、当該アプリケーションの販売元において管理されているコンピュータであり、アクティベーションキー３０１の生成機能を備える。
【００６７】
アクティベーションキー３０１の申請時、ユーザは、融合機１０１のオペレーションパネル２０２に表示される申請画面より、アクティベーションキー３０１の申請を指示する。アクティベーションキー３０１の申請は、ＳＤメモリカード６０２によってアプリケーションが配布され、当該アプリケーションが融合機１０１にインストールされた後に行われる。但し、インストール前であってもよい。
【００６８】
ユーザによる指示に応じ、融合機１０１は、申請情報をキーエントリサーバ２０に送信する（Ｓ１１）。但し、例えば、ＳＤメモリカード６０２がＳＤメモリカード用スロット６０１に挿入された際に、融合機１０１が自動的に申請情報を送信してもよい。申請情報には、例えば、使用するアプリケーションのプロダクトＩＤ、当該融合機１０１の機体番号、ライセンス方式、申請者情報、当該アプリケーションの使用有効期限、使用開始期限、及びＳＤカード番号等が含まれる。但し、当該アプリケーションとＳＤメモリカード６０２との紐付けを行わない場合は、ＳＤカード番号は不要である。申請情報を構成する各項目は、ユーザによって入力されてもよいし、融合機１０１が、挿入されたＳＤメモリカード６０２及び当該融合機１０１等より取得又は判別してもよい。
【００６９】
キーエントリサーバ２０は、申請情報を受信すると当該申請情報に基づいてアクティベーションキー３０１を生成し、申請元の融合機１０１に返信する（Ｓ１２）。アクティベーションキー３０１の生成において、使用可能なアプリケーション情報のプロダクトＩＤ、使用可能な機器（融合機１０１）の機体番号、ライセンス方式、申請者情報、使用有効期限、使用開始期限、及びＳＤカード番号は、申請情報より転記される。使用可能なアプリケーション情報におけるアプリケーションのハッシュ値は、当該アプリケーションの実行コードに基づいてキーエントリサーバ２０において生成される。キーエントリサーバ２０は、当該アプリケーションの販売元であり、当該アプリケーションの実行コードが入手可能であるという前提に基づく。但し、融合機１０１においてハッシュ値を生成し、申請情報に含めても良い。ライセンスサーバ情報は、キーエントリサーバ２０のアドレス情報が用いられる。タイムスタンプは、キーエントリサーバ２０が所定のタイムスタンプサービスより取得したものが用いられる。
【００７０】
融合機１０１は、アクティベーションキー３０１を受信すると、当該アプリケーションのインストール又は起動時等に参照可能な場所（例えば、ＨＤＤ２３３又は当該アプリケーションが記録されているＳＤメモリカード６０２等）に保存（登録）する。
【００７１】
図８は、第一の実施の形態におけるアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。以下の処理は、融合機１０１におけるアクティベーションサービス１４３等によって実行される。
【００７２】
ユーザが融合機１０１の電源を入れると（Ｓ１０１）、融合機１０１が起動する（１０２）。続いて、融合機１０１は、ＪＳＤＫプラットフォーム１４７又はＪＳＤＫアプリ１４６等、自機にインストールされているアプリケーションのプロダクトＩＤを収集し（Ｓ１０３）、更に、自機の機体番号を取得する（Ｓ１０４）。続いて、融合機１０１は、自機に登録されているアクティベーションキー３０１によって、当該アプリケーションのライセンスの有無（起動の許否）を判定する（Ｓ１０５）。詳細には、アクティベーションキー３０１が有ること、自機の機体番号がアクティベーションキー３０１における使用可能な機体番号に含まれていること、当該アプリケーションのプロダクトＩＤがアクティベーションキー３０１における使用可能なアプリケーション情報に含まれていること、当該アプリケーションのハッシュ値と、アクティベーションキー３０１における使用可能なアプリケーション情報に含まれているハッシュ値とが一致すること、及び現時点がアクティベーションキー３０１における使用開始期限及び使用有効期限によって特定される期間内に含まれることが満たされれば当該アプリケーションは起動が許可される。
【００７３】
起動が許可されたアプリケーションについては、融合機１０１は、オペレーションパネル２０２にその旨を表示させる（Ｓ１０６）。例えば、起動可能なアプリケーションとして、当該アプリケーションの起動ボタンをオペレーションパネル２０２に表示させる。その後、ユーザから当該アプリケーションの起動指示があると（Ｓ１０７）、融合機１０１は、当該アプリケーションを起動させる（Ｓ１０８）。
【００７４】
一方、起動が許可されなかったアプリケーションについては、融合機１０１は、例えば、オペレーションパネル２０２を介して起動が許可されなかったアプリケーションの存在をユーザに通知すると共に、アクティベーションキー３０１の申請を促す（Ｓ１０９）。この際、融合機１０１が自動的に申請画面を表示させてもよい。申請画面において、ユーザがアクティベーションキー３０１の申請を指示すると（Ｓ１１０）、融合機１０１は申請情報を生成し（Ｓ１１１）、キーエントリサーバ２０に送信する（Ｓ１１２）。キーエントリサーバ２０は、申請情報を受信すると当該申請情報に基づいてアクティベーションキー３０１を生成し、申請元の融合機１０１に返信する（Ｓ１１３）。なお、ステップＳ１１０からＳ１１３における処理の詳細は、図７において説明した内容と同様である。
【００７５】
続いて融合機１０１は、新たに配布されたアクティベーションキー３０１によって、ステップＳ１０５と同様に当該アプリケーションのライセンスの有無（起動の許否）を確認し（Ｓ１１４）、起動が許可されれば、当該アプリケーションの起動の許可を通知する（Ｓ１１５）。その後、ユーザから当該アプリケーションの起動指示があると（Ｓ１０７）、融合機１０１は、当該アプリケーションを起動させる（Ｓ１０８）。
【００７６】
次に第二の実施の形態について説明する。第二の実施の形態でもライセンス方式が個人利用方式の場合を説明する。但し、アクティベーションキー３０１の申請を融合機１０１からではなく、ユーザのＰＣ（Personal Computer）から行う点が第一の実施の形態と異なる。図９は、第二の実施の形態におけるアクティベーションキーの申請及び配布の手順を説明するための図である。図９中、図７と同一部分には同一符号を付し、その説明は省略する。図９において、ＰＣ４０は、ユーザがアクティベーションキー３０１の申請に用いるためのＰＣ（Personal Computer）である。
【００７７】
アクティベーションキー３０１の申請時、ユーザがＰＣ４０のＷｅｂ画面より申請情報を入力すると、ＰＣ４０は、申請情報をキーエントリサーバ２０に送信する（Ｓ２２）。但し、申請時にＰＣ４０と融合機１０１とがオンライン状態であれば、ＰＣ４０は、融合機１０１の機体番号等をＰＣ４０よりネットワークを介して自動的に取得し（Ｓ２１）、取得された情報に基づいて申請情報を送信してもよい。
【００７８】
キーエントリサーバ２０は、申請情報を受信すると当該申請情報に基づいてアクティベーションキー３０１を生成し、申請元のＰＣ４０に返信する（Ｓ２３）。アクティベーションキー３０１の生成の仕方は、第一の実施の形態と同様である。
【００７９】
ＰＣ４０と融合機１０１とがオンライン状態であれば、ＰＣ４０は、受信されたアクティベーションキー３０１をネットワークを介して自動的に融合機１０１に登録する（Ｓ２４）。一方、ＰＣ４０と融合機１０１とがオフライン状態の場合は、アプリケーションが記録されたＳＤメモリカード６０２をＰＣ４０に挿入しておけばよい。この場合、ＰＣ４０は、受信されたアクティベーションキー３０１を当該ＳＤメモリカード６０２に書き込む。したがって当該ＳＤメモリカード６０２は、図５に示したような状態となる。ユーザは、当該ＳＤメモリカード６０２を融合機１０１に挿入し、アクティベーションキー３０１を登録する。
【００８０】
図１０は、第二の実施の形態におけるアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。以下の処理は、融合機１０１におけるアクティベーションサービス１４３等によって実行される。図１０中、図８と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【００８１】
第二の実施の形態では、起動が許可されなかったアプリケーションに対するアクティベーションキー３０１の申請手順（Ｓ２０１〜Ｓ２０６）が第一の実施の形態と異なる。すなわち、融合機１０１が起動が許可されなかったアプリケーションの存在をユーザに通知すると、ユーザは、ＰＣ４０を利用してアクティベーションキー３０１の申請を行う（Ｓ２０１）。ＰＣ４０は、ユーザからの入力に基づいて申請情報を生成し（Ｓ２０２）、キーエントリサーバ２０に送信する（Ｓ２０３）。キーエントリサーバ２０は、申請情報を受信すると当該申請情報に基づいてアクティベーションキー３０１を生成し、申請元のＰＣ４０に返信する（Ｓ２０４）。ＰＣ４０は、アクティベーションキー３０１を受信すると、当該アクティベーションキー３０１をＳＤメモリカード６０２に書き込む（Ｓ２０５）。ユーザが、当該ＳＤメモリカード６０２を融合機１０１のＳＤメモリカード用スロット６０１に挿入すると、融合機１０１は、ＳＤメモリカード６０２に記録された新たなアクティベーションキー３０１によって、ステップＳ１０５と同様に当該アプリケーションのライセンスの有無（起動の許否）を確認し（Ｓ１１４）、起動が許可されれば、当該アプリケーションの起動の許可を通知する（Ｓ１１５）。その後、ユーザから当該アプリケーションの起動指示があると（Ｓ１０７）、融合機１０１は、当該アプリケーションを起動させる（Ｓ１０８）。
【００８２】
ところで、企業等、複数の融合機１０１を利用するユーザにとっては、複数の融合機１０１に関して一括してアクティベーションキー３０１の申請ができれば便宜である。そこで、複数の融合機１０１について一括してアクティベーションキー３０１の申請を可能とした例を第三の実施の形態として説明する。第三の実施の形態においてライセンス方式は二つ存在する。一つは、ノードロックライセンス方式といい、もう一つはフローティングライセンス方式という。ノードロックライセンス方式では、使用する全ての融合機１０１の機体番号が申請され、機体に応じたライセンス管理が行われる。フローティングライセンス方式は、同時に使用する台数でライセンスを管理する方式であり、複数の融合機１０１に対して同一のライセンス管理が行われる。なお、ノードロックライセンス方式は、ＪＳＤＫプラットフォーム１４７に適用し、フローティングライセンス方式は、ＪＳＤＫアプリ１４６に適用するといったように、アプリケーションによってライセンス方式を分けてもよい。
【００８３】
図１１は、第三の実施の形態におけるノードロックライセンス方式の場合のアクティベーションキーの申請及び配布の手順を説明するための図である。図１１中、図７又は図９と同一部分には同一符号を付し、その説明は省略する。図１１において、アクティベーション管理サーバ３０は、融合機１０１のユーザ側に属し、複数の融合機１０１のライセンス管理を行う。なお、第三の実施の形態では、ノードロックライセンス方式又はフローティングライセンス方式の別を問わず、アクティベーション管理サーバ３０によって、複数の融合機１０１のライセンスが管理される。
【００８４】
まず、アクティベーション管理サーバ３０は、管理者からの指示に応じ、申請対象となる複数の融合機１０１よりそれぞれの機体番号を取得する（Ｓ３１）。続いて、アクティベーション管理サーバ３０は、複数の機体番号と使用するアプリケーションのプロダクトＩＤ等とを含む申請情報を生成し、当該申請情報をキーエントリサーバ２０に送信する（Ｓ３２）。これによって、複数の融合機１０１に対するアクティベーションキー３０１が一括申請される。
【００８５】
キーエントリサーバ２０は、申請情報を受信すると、当該申請情報に基づいて複数の機体番号に対応したアクティベーションキー３０１を生成し、アクティベーション管理サーバ３０に返信する（Ｓ３３）。ここで、複数の機体番号に対応したアクティベーションキー３０１とは、「使用機器の機体番号」に複数の機体番号が含まれているアクティベーションキー３０１をいう。アクティベーション管理サーバ３０は、受信したアクティベーションキー３０１に基づいて、それぞれの機体番号に対応したアクティベーションキー３０１を生成し、各融合機１０１に送信する（Ｓ３４）。これによって各融合機１０１には、アクティベーションキー３０１が登録される。ここで、それぞれの機体番号に対応したアクティベーションキー３０１とは、使用機器の機体番号に一つの機体番号のみが含まれているアクティベーションキー３０１をいう。
【００８６】
このように、ノードロックライセンス方式では、アクティベーション管理サーバ３０が主体となって、融合機１０１へのアクティベーションキーの配布（登録）が行われる。
【００８７】
図１２は、第三の実施の形態におけるフローティングライセンス方式の場合のアクティベーションキーの申請及び配布の手順を説明するための図である。図１２中、図１１と同一部分には同一符号を付し、その説明は省略する。
【００８８】
まず、アクティベーション管理サーバ３０は、管理者からの指示に応じ、申請情報をキーエントリサーバ２０に送信する（Ｓ４１）。この際、申請情報には、各融合機１０１の機体番号は含まれず、代わりに最大同時使用個数が含まれている。
【００８９】
キーエントリサーバ２０は、申請情報を受信すると、当該申請情報に基づいて最大同時使用個数を限定したアクティベーションキー３０１を生成し、アクティベーション管理サーバ３０に返信する（Ｓ４２）。ここで、最大同時使用個数を限定したアクティベーションキー３０１とは、「使用機器の機体番号」の代わりに最大同時使用個数が含まれているアクティベーションキー３０１をいう。
【００９０】
融合機１０１は、ユーザによってアプリケーションの使用が指示されると、当該融合機１０１の機体番号と当該アプリケーションのプロダクトＩＤとを伴って、アクティベーションキー３０１の提供をアクティベーション管理サーバ３０に要求する（Ｓ４３）。アクティベーション管理サーバ３０は、同時使用個数が最大同時使用個数に達しているか否かを判定する。最大同時使用個数に達していなければ当該機体番号及び当該プロダクトＩＤに対応したアクティベーションキー３０１（すなわち、使用可能なアプリケーション情報に当該プロダクトＩＤを含み、使用機器の機体番号に当該融合機１０１の機体番号を含むアクティベーションキー３０１）を生成し、当該融合機１０１に返信する（Ｓ４４）。この場合、アクティベーション管理サーバ３０のメモリ内で管理されている同時使用個数がインクリメントされる。一方、最大同時使用個数に達している場合、アクティベーション管理サーバ３０は、アクティベーションキー３０１を返信しない。
【００９１】
アクティベーションキー３０１が返信された場合、融合機１０１において当該アクティベーションキー３０１に基づいて当該アプリケーションの使用の許否が判定される。使用が許可されると、ユーザは、当該アプリケーションを使用することができる。アプリケーションの使用が終了すると、融合機１０１は、アプリケーションの使用の終了をアクティベーション管理サーバ３０に通知する（Ｓ４５）。アクティベーション管理サーバ３０は、使用終了通知を受けて同時使用個数を更新（デクリメント）する。なお、アクティベーションキー３０１が返信されない場合、融合機１０１は、当該アプリケーションの使用を許可しない。
【００９２】
このように、フローティングライセンス方式では、融合機１０１側が主体となって、アクティベーション管理サーバ３０に使用許可の可否を問い合わせる。また、アプリケーションが使用可能な融合機１０１は、特定のものに限定されない。
【００９３】
次に、アクティベーション管理サーバ３０を用いたライセンス方式におけるアプリケーションのインストール及び起動処理を説明する。
【００９４】
図１３は、第三の実施の形態におけるＪＳＤＫプラットフォームのインストール及び起動処理を説明するためのシーケンス図である。
【００９５】
ユーザが、融合機１０１の電源スイッチをＯＮにすると、システムの起動手順を管理する起動処理プログラム６１３が起動する（Ｓ３０１）。続いて、起動処理プログラム６１３は、ＳＡＳ１４２を起動する（Ｓ３０２）。なお、ＳＡＳ１４２は、出荷時より融合機１０１内部に格納されているため、改竄確認は行われない。
【００９６】
ユーザが、少なくともＪＳＤＫプラットフォーム１４７及びキーファイル１４７ｋが記録されたＳＤメモリカード６０２をＳＤメモリカード用スロット６０１に挿入し、ＳＡＳ１４２によってオペレーションパネル２０２に表示される操作画面よりＪＳＤＫプラットフォーム１４７のインストールを指示すると（Ｓ３０３）、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７をインストールする前に改竄確認と不正利用防止確認を行う。具体的には、ＳＡＳ１４２がＪＳＤＫプラットフォーム１４７の改竄確認をインストールサービス１４４に要求すると（Ｓ３０４）、インストールサービス１４４が改竄確認を行い、その結果をＳＡＳ１４２に返却する（Ｓ３０５）。改竄確認として、インストールサービス１４４は、ＪＳＤＫプラットフォーム１４７のハッシュ値とキーファイル１４７ｋに格納されているハッシュ値とを比較し、一致すれば改竄されていないと判断し、一致しなければ改竄されていると判断する。
【００９７】
ＪＳＤＫプラットフォーム１４７が改竄されていない場合、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７の不正利用確認をインストールサービス１４４に要求する（Ｓ３０６）。インストールサービス１４４は、ＳＤメモリカード６０２のＳＤカード番号と、キーファイル１４７ｋに格納されているＳＤカード番号とを比較することにより不正利用確認を行う。すなわち、インストールサービス１４４は、両者が一致すれば不正利用でないと判断し、一致しなければ不正利用であると判断する。判断結果はＳＡＳ１４２に返却される（Ｓ３０８）。
【００９８】
不正利用でない場合又はアクティベーションキー３０１が登録されている場合、ＳＡＳ１４２は、インストールサービス１４４に対しインストールを指示する（Ｓ３０９）。インストールサービス１４４は、ＳＤメモリカード６０２に記録されているＪＳＤＫプラットフォーム１４７を融合機１０１にインストールする。
【００９９】
なお、改竄が検知された場合、又は不正利用が検知され、かつ、アクティベーションキー３０１が登録されていない場合、ＳＡＳ１４２はＪＳＤＫプラットフォーム１４７のインストールを中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ３０７又はＳ３１０）。
【０１００】
インストールが正常に終了した後、ユーザが、ＳＡＳ１４２によってオペレーションパネル２０２に表示されている操作画面よりＪＳＤＫプラットフォーム１４７の起動を指示すると（Ｓ３１１）、ＳＡＳ１４２は、改竄確認をインストールサービス１４４に要求する（Ｓ３１２）。ここでの改竄確認の処理内容はインストール時と同様である。改竄が検知されなかった場合、又はアクティベーションキー３０１が融合機１０１に登録されている場合は、ＳＡＳ１４２は、不正利用確認をインストールサービス１４４に要求する（Ｓ３１３）。不正利用されていない場合、又はアクティベーションキー３０１が融合機１０１に登録されている場合は、ＳＡＳ１４２は、アクティベーションサービス１４３にＪＳＤＫプラットフォーム１４７の使用を要求する（Ｓ３１６）。
【０１０１】
なお、改竄が検知され、かつ、アクティベーションキー３０１が登録されていない場合、又は、不正利用が検知され、かつ、アクティベーションキー３０１が登録されていない場合、ＳＡＳ１４２はＪＳＤＫプラットフォーム１４７の起動処理を中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ３１５又はＳ３１７）。
【０１０２】
ＪＳＤＫプラットフォーム１４７の使用要求を受けたアクティベーションサービス１４３は、アクティベーションキー３０１の有効性を判断する（Ｓ３１８）。アクティベーションキー３０１の有効性とは、アクティベーションキー３０１自体が正当なものであるか否か、すなわち、アクティベーションキー３０１に基づいてＪＳＤＫプラットフォーム１４７の使用許否の判断を行うことの妥当性をいう。例えば、アクティベーションキー３０１が融合機１０１に登録されているか、アクティベーションキー３０１が改竄されていないか等が判断される。アクティベーションキー３０１の改竄は、アクティベーションキー３０１の電子署名をアクティベーションキー３０１に付加しておき、当該電子署名に基づいて検知すればよい。
【０１０３】
アクティベーションキー３０１が無効な場合（アクティベーションキー３０１が登録されていない場合も含む。）、アクティベーションサービス１４３は、当該融合機１０１の機体番号とＪＳＤＫプラットフォーム１４７のプロダクトＩＤとを伴って、アクティベーションキー３０１の提供をアクティベーション管理サーバ３０に要求する（Ｓ３１９）。ノードロックライセンス方式の場合、アクティベーション管理サーバ３０は、当該機体番号及び当該プロダクトＩＤに対応するアクティベーションキー３０１を保持していれば、当該アクティベーションキー３０１をアクティベーションサービス１４３に返信する（Ｓ３２０）。また、フローティングライセンス方式の場合、アクティベーション管理サーバ３０は、最大同時使用個数を超えていなければ、当該アクティベーションキー３０１をアクティベーションサービス１４３に返信し、同時使用個数をインクリメントする（Ｓ３２０）。続いて、アクティベーションサービス１４３は、アクティベーションキー３０１に基づいて、ＪＳＤＫプラットフォーム１４７の使用の許否判定を行い（Ｓ３２１）、その判定結果をＳＡＳ１４２に返却する（Ｓ３２２）。なお、アクティベーションキー３０１に基づく使用の許否判定の処理内容については後述する。
【０１０４】
使用が許可された場合、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７を起動する（Ｓ３２３）。使用が許可されなかった場合、ＳＡＳ１４２は、起動処理を中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ３２４）。
【０１０５】
その後、ＳＡＳ１４２が表示させている操作画面を介してユーザによってＪＳＤＫプラットフォーム１４７の終了が指示されると（Ｓ３２５）、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７を終了させる（Ｓ３２６）。更に、フローティングライセンス方式の場合、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７の使用終了通知をアクティベーション管理サーバ３０に送信する（Ｓ３２７）。この場合、アクティベーション管理サーバ３０は、同時使用個数をデクリメントする。
【０１０６】
続いて、ステップＳ３２１における、アクティベーションキー３０１に基づくアプリケーション（図１３では、ＪＳＤＫプラットフォーム１４７）の使用の許否判定の処理内容について説明する。図１４は、アクティベーションキーに基づくアプリケーションの使用の許否判定処理を説明するための図である。
【０１０７】
まず、起動対象のアプリケーションのプロダクトＩＤを収集する（Ｓ３２１ａ）。続いて、当該アプリケーションのハッシュ値を算出する（Ｓ３２１ｂ）。続いて、融合機１０１の機体番号を取得する（Ｓ３２１ｃ）。続いて、収集されたプロダクトＩＤが、アクティベーションキー３０１における使用可能なアプリケーション情報に含まれているかを判定する（Ｓ３２１ｄ）。当該判定が肯定的な場合、ステップＳ３２１ｂにおいて算出されたハッシュ値と、アクティベーションキー３０１における使用可能なアプリケーション情報に含まれているハッシュ値とが一致するか否かを判定する（Ｓ３２１ｅ）。当該判定結果が肯定的な場合、融合機１０１より取得された機体番号とアクティベーションキー３０１における使用機器の機体番号とが一致するか否かを判定する（Ｓ３２１ｆ）。当該判定結果が肯定的な場合、現時点が、アクティベーションキー３０１における使用開始期限及び使用有効期限によって特定される期間内に含まれているかを判定する（Ｓ３２１ｇ）。当該判定結果が肯定的な場合、当該アプリケーションの使用は許可すると判定する（Ｓ３２１ｈ）。一方、ステップＳ３２１ｄからＳ３２１ｇまでのいずれかの判定結果が否定的であった場合、当該アプリケーションの使用は許可しないと判定する（Ｓ３２１ｉ）。
【０１０８】
次に、ＪＳＤＫアプリ１４６のインストール及び起動処理について説明する。図１５は、第三の実施の形態におけるＪＳＤＫアプリのインストール及び起動処理を説明するためのシーケンス図である。
【０１０９】
ユーザが、少なくともＪＳＤＫアプリ１４６及びキーファイル１４６ｋが記録されたＳＤメモリカード６０２をＳＤメモリカード用スロット６０１に挿入し、ＳＡＳ１４２によってオペレーションパネル２０２に表示される操作画面よりＪＳＤＫアプリ１４６のインストールを指示すると（Ｓ４０１）、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７にＪＳＤＫアプリ１４６のインストールを指示する（Ｓ４０２）。
【０１１０】
ＪＳＤＫプラットフォーム１４７は、ＪＳＤＫアプリ１４６をインストールする前に改竄確認と不正利用防止確認を行う。具体的には、ＪＳＤＫプラットフォーム１４７がＪＳＤＫアプリ１４６の改竄確認をインストールサービス１４４に要求すると（Ｓ４０３）、インストールサービス１４４が改竄確認を行い、その結果をＪＳＤＫプラットフォーム１４７に返却する（Ｓ４０４）。改竄確認として、インストールサービス１４４は、ＪＳＤＫアプリ１４６のハッシュ値とキーファイル１４６ｋに格納されているハッシュ値とを比較し、一致すれば改竄されていないと判断し、一致しなければ改竄されていると判断する。
【０１１１】
ＪＳＤＫアプリ１４６が改竄されていない場合、ＪＳＤＫプラットフォーム１４７は、ＪＳＤＫアプリ１４６の不正利用確認をインストールサービス１４４に要求する（Ｓ４０５）。インストールサービス１４４は、融合機１０１の機体番号と、キーファイル１４６ｋに格納されている機体番号とを比較することにより不正利用確認を行う。すなわち、インストールサービス１４４は、両者が一致すれば不正利用でないと判断し、一致しなければ不正利用であると判断する。判断結果はＪＳＤＫプラットフォーム１４７に返却される（Ｓ４０７）。
【０１１２】
不正利用でない場合又はアクティベーションキー３０１が登録されている場合、ＪＳＤＫプラットフォーム１４７は、インストールサービス１４４に対しインストールを指示する（Ｓ４０８）。インストールサービス１４４は、ＳＤメモリカード６０２に記録されているＪＳＤＫアプリ１４６を融合機１０１にインストールする。
【０１１３】
なお、改竄が検知された場合、又は不正利用が検知され、かつ、アクティベーションキー３０１が登録されていない場合、ＪＳＤＫプラットフォーム１４７はＪＳＤＫアプリ１４６のインストールを中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ４０６又はＳ４０９）。
【０１１４】
インストールが正常に終了した後、ユーザが、ＳＡＳ１４２によってオペレーションパネル２０２に表示されている操作画面よりＪＳＤＫアプリ１４６の起動を指示すると（Ｓ４１０）、ＳＡＳ１４２は、ＪＳＤＫプラットフォーム１４７に対してＪＳＤＫアプリ１４６の起動を指示する（Ｓ４１１）。ＪＳＤＫプラットフォーム１４７は、改竄確認をインストールサービス１４４に要求する（Ｓ４１２）。ここでの改竄確認の処理内容はインストール時と同様である。改竄が検知されなかった場合、又はアクティベーションキー３０１が融合機１０１に登録されている場合は、ＪＳＤＫプラットフォーム１４７は、不正利用確認をインストールサービス１４４に要求する（Ｓ４１３）。不正利用されていない場合、又はアクティベーションキー３０１が融合機１０１に登録されている場合は、ＪＳＤＫプラットフォーム１４７は、アクティベーションサービス１４３にＪＳＤＫアプリ１４６の使用を要求する（Ｓ４１５）。
【０１１５】
なお、改竄が検知され、かつ、アクティベーションキー３０１が登録されていない場合、又は、不正利用が検知され、かつ、アクティベーションキー３０１が登録されていない場合、ＪＳＤＫプラットフォーム１４７はＪＳＤＫアプリ１４６の起動処理を中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ４１４又はＳ４１６）。
【０１１６】
ＪＳＤＫアプリ１４６の使用要求を受けたアクティベーションサービス１４３は、アクティベーションキー３０１の有効性を判断する（Ｓ４１７）。アクティベーションキー３０１が無効な場合（アクティベーションキー３０１が登録されていない場合も含む。）、アクティベーションサービス１４３は、当該融合機１０１の機体番号とＪＳＤＫアプリ１４６のプロダクトＩＤとを伴って、アクティベーションキー３０１の提供をアクティベーション管理サーバ３０に要求する（Ｓ４１８）。ノードロックライセンス方式の場合、アクティベーション管理サーバ３０は、当該機体番号及び当該プロダクトＩＤに対応するアクティベーションキー３０１を保持していれば、当該アクティベーションキー３０１をアクティベーションサービス１４３に返信する（Ｓ４１９）。また、フローティングライセンス方式の場合、アクティベーション管理サーバ３０は、最大同時使用個数を超えていなければ、当該アクティベーションキー３０１をアクティベーションサービス１４３に返信し、同時使用個数をインクリメントする（Ｓ４１９）。続いて、アクティベーションサービス１４３は、アクティベーションキー３０１に基づいて、ＪＳＤＫアプリ１４６の使用の許否判定を行い（Ｓ４２０）、その判定結果をＪＳＤＫプラットフォーム１４７に返却する（Ｓ４２１）。アクティベーションキー３０１に基づく使用の許否判定の処理内容については図１４において説明した通りである。
【０１１７】
使用が許可された場合、ＪＳＤＫプラットフォーム１４７は、ＪＳＤＫアプリ１４６を起動する（Ｓ４２２）。使用が許可されなかった場合、ＪＳＤＫプラットフォーム１４７は、起動処理を中止し、エラー画面をオペレーションパネル２０２に表示させる（Ｓ４２３）。
【０１１８】
その後、ＳＡＳ１４２が表示させている操作画面を介してユーザによってＪＳＤＫアプリ１４６の終了が指示されると（Ｓ４２４）、ＳＡＳ１４２からの指示に応じて（Ｓ４２５）、ＪＳＤＫプラットフォーム１４７はＪＳＤＫアプリ１４６を終了させる（Ｓ４２６）。更に、フローティングライセンス方式の場合、ＪＳＤＫプラットフォーム１４７は、ＪＳＤＫアプリ１４６の使用終了通知をアクティベーション管理サーバ３０に送信する（Ｓ４２７）。この場合、アクティベーション管理サーバ３０は、同時使用個数をデクリメントする。
【０１１９】
上述したように、上記第一から第三の実施の形態において説明した融合機１０１によれば、アクティベーションキー３０１のようにアプリケーションのインストール後でもネットワークを介して入手可能な情報に基づいてアプリケーションのライセンス管理を行う。したがって、キーファイルのようにアプリケーションと共に配布される情報に基づくライセンス管理（以下「ローカルなライセンス管理」という。）に比べて、より柔軟なライセンス管理を行うことができる。例えば、ＳＤメモリカード６０２によって配布されるアプリケーションが、当該ＳＤメモリカード６０２に記録されているキーファイルによって特定のＳＤメモリカード６０２（ＳＤカード番号）や特定の融合機１０１（機体番号）と紐付けられている場合であっても、不正目的のないユーザは、別のＳＤメモリカード６０２を購入する必要はない。すなわち、本実施の形態における融合機１０１によれば、使用したいアプリケーション及び使用したい環境（ＳＤメモリカード６０２や融合機１０１等）に関する情報を添えて申請を行うことにより当該環境に応じたアクティベーションキー３０１を入手できれば（すなわち、ネットワークを介した簡便な操作を行えば）、新たなＳＤメモリカード６０２を購入しなくても（すなわち、物理的な媒体を改めて入手しなくても）、当該別のＳＤメモリカード６０２や当該別の融合機１０１において当該アプリケーションを利用することができる。
【０１２０】
これは、アクティベーションキー３０１が、キーファイルに対して優先的に用いられることによる。実施の形態に即してより具体的に説明すれば、キーファイルによるアプリケーションの正当性の判断の判断結果が否定的な場合であっても、アクティベーションキー３０１が存在し、そのアクティベーションキー３０１が有効であれば、当該アクティベーションキー３０１によって当該アプリケーションの使用の許否が判定されることによる（例えば、図１３のＳ３１３〜Ｓ３２１、図１５のＳ４１３〜Ｓ４２０）。
【０１２１】
また、本実施の形態におけるライセンス管理方法は、アプリケーションの配布媒体となるＳＤメモリカード６０２内の既存の構成要素（キーファイル等）に変更を要求しないため、キーファイルに基づくローカルなライセンス管理との互換性が保たれている。すなわち、従来のライセンス管理方式に基づいて配布されていたＳＤメモリカード６０２に記録されているアプリケーションについてもライセンス管理を行うことができる。
【０１２２】
なお、アプリケーションの販売元は、アクティベーションキー３０１の配布に対して課金するようにすれば、販売利益の損失の発生を抑止することができる。課金の仕組は周知の技術を用いればよいので、その内容の詳細については本実施の形態では省略する。
【０１２３】
ところで、上記各実施の形態では、アクティベーションキー３０１は、アプリケーション及び機器と紐付けられている（関連付けられている）例について説明したが、更に、ユーザとの紐付けを保持するようにしてもよい。例えば、アクティベーションキー３０１の申請者情報（図６参照）を、当該アクティベーションキー３０１によってアプリケーションの使用が許可されるユーザの識別情報（ユーザＩＤ等）として扱う。すなわち、アクティベーションキー３０１の申請時において申請情報に含められる申請者情報は、具体的に申請作業を行っているユーザではなく、アプリケーションを使用する一以上のユーザの識別情報を指定するようにする。この場合、アクティベーションサービス１４３等は、図８又は図１０に代えて次のような処理を実行する。
【０１２４】
図１６は、ユーザとの紐付けを有するアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。図１６中、図８と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
【０１２５】
融合機１０１が起動すると、融合機１０１は、ユーザに対して認証情報の入力を要求する（Ｓ５０１）。具体的には、例えば、オペレーションパネル２０２に認証情報の入力を促すメッセージを表示させる。ユーザによって認証情報が入力されると（Ｓ５０２）、融合機１０１は、認証情報に基づいてユーザの認証を行う（Ｓ５０３）。
【０１２６】
ここで、認証情報としては所定のものに限定されず、例えば、ユーザ名及びパスワードや、ＩＣカード若しくは磁気カードに記録されている情報、又は生体情報（指紋情報等）等を用いても良い。ユーザ名及びパスワードの場合は、オペレーションパネル２０２を介して入力させればよい。ＩＣカード若しくは磁気カードに記録されている情報、又は生体情報（指紋情報等）を用いる場合は、融合機１０１とＵＳＢケーブル又はネットワークを介して接続された専用の読み取り装置より認証情報を読み取ればよい。また、当該専用の読み取り装置は、融合機１０１と接続されているＰＣに接続されていてもよい。いずれの場合であっても、融合機１０１には、ユーザごとに認証情報を含むユーザ情報が登録されており、ユーザ情報に含まれている認証情報と入力された認証情報との比較によって、ユーザの認証が行われる。認証が成功した場合は、ユーザ情報に含まれているユーザの識別情報（ユーザＩＤ等）が特定される。
【０１２７】
但し、認証処理は、融合機１０１とネットワークを介して接続されるコンピュータ（認証サーバ）において行われても良い。この場合、融合機１０１は入力された認証情報を認証サーバに転送する。認証サーバには、ユーザごとのユーザ情報が登録されており、ユーザ情報に含まれている認証情報と転送された認証情報との比較によってユーザの認証が行い、その結果（認証が成功した場合は、ユーザの識別情報も含む）を融合機１０１に返信する。
【０１２８】
ユーザが認証されなかった場合、融合機１０１は、オペレーションパネル２０２にその旨を表示させ、アプリケーションの起動を拒否する。（Ｓ５０４）。ユーザが認証された場合、融合機１０１は、自機にインストールされているアプリケーションのプロダクトＩＤを収集し（Ｓ１０３）、更に、自機の機体番号を取得する（Ｓ１０４）。続いて、融合機１０１は、自機に登録されているアクティベーションキー３０１によって、当該アプリケーションのライセンスの有無（起動の許否）を判定する（Ｓ１０５ａ）。但し、ここでは、アクティベーションキー３０１が有ること、自機の機体番号がアクティベーションキー３０１における使用可能な機体番号に含まれていること、当該アプリケーションのプロダクトＩＤがアクティベーションキー３０１における使用可能なアプリケーション情報に含まれていること、当該アプリケーションのハッシュ値と、アクティベーションキー３０１における使用可能なアプリケーション情報に含まれているハッシュ値とが一致すること、及び現時点がアクティベーションキー３０１における使用開始期限及び使用有効期限によって特定される期間内に含まれることに加え、認証の結果特定されたユーザの識別情報がアクティベーションキー３０１における申請者情報に含まれていることが、アプリケーションの起動が許可されるための条件とされる。なお、ユーザの識別情報として、認証情報を用いても良い。この場合、アクティベーションキー３０１の申請者情報には、アプリケーションの使用が許可される一以上のユーザの認証情報が登録されていればよい。
【０１２９】
ステップＳ１０６以降の処理については、図８又は図１０と同様でよいため、ここでの説明は省略する。
【０１３０】
なお、上記各実施の形態においては、アクティベーションキー３０１と、当該アクティベーションキー３０１によって使用が許可される機器（融合機１０１）との紐付け（関連付け）は、機体番号によって行われる例について説明した。すなわち、アクティベーションキー３０１の構成情報における「使用可能な機器の機体番号」によって、アプリケーションの使用が許可される機器が識別されていた。
【０１３１】
しかし、このことは、アクティベーションキー３０１と機器とを紐付ける情報（以下、「機体紐付け情報」という。）が機体番号のみに限定されることを意図するものではない。すなわち、各機器を一意に識別できる情報（各機器に固有の情報）であれば、機体番号に変えて当該情報を機体紐付け情報として用いても良い。
【０１３２】
例えば、"生の"（すなわち、何ら変換処理が行われていない）機体番号ではなく、機体番号のハッシュ値や暗号値（暗号化した値）を用いても良い。また、機器の構成要素に対して付与された、当該構成要素ごとに固有の情報（例えば、ＨＤＤのユニークＩＤ、機器のイーサーネットカードのＭＡＣ（Media Access Control address）アドレス、機器のマザーボードのユニークＩＤ、機器のＵＳＢデバイスのユニークＩＤ、機器のＲＡＭのユニークＩＤ、若しくは機器にインストールされているソフトウェアの固有情報（ハッシュ値等））や、これらの情報のハッシュ値若しくは暗号値、又は機体番号やこれらの情報を任意に組み合わせた情報のハッシュ値若しくは暗号値を用いても良い。また、アクティベーションキー３０１を構成する情報と、上記に列挙した情報とを組み合わせた情報又は組み合わせた情報のハッシュ値若しくは暗号値を用いても良い。
【０１３３】
この場合（生の機体番号とは異なる機体紐付け情報を適用する場合）、アクティベーションキー３０１を申請する際の申請情報には、当該機体紐付け情報に必要な情報を含めるようにすればよい。アクティベーションキー３０１を生成するキーエントリサーバ２０やアクティベーション管理サーバ３０は、「使用可能な機器の機体番号」（図６参照）の代わりに当該機体紐付け情報を構成情報としてアクティベーションキー３０１を生成すればよい。アクティベーションキー３０１に基づいてアプリケーションの起動の許否判定を行う機器のアクティベーションサービス１４３は、当該機体紐付け情報を構成する情報を当該機器より取得し、必要に応じて取得された情報のハッシュ値又は暗号値を生成した上で、アクティベーションキー３０１に含まれている当該機体紐付け情報との比較を行えばよい。なお、この場合、アクティベーションキー３０１に機体紐付け情報が含まれていることによって、アクティベーションキー３０１と機体紐付け情報との関連付けが実現されている。
【０１３４】
また、上記機体紐付け情報のいずれか（生の機体番号も含む。）を暗号鍵として用いてアクティベーションキー３０１を暗号化することにより、アクティベーションキー３０１と機器との紐付けを行うようにしてもよい。
【０１３５】
この場合（機体紐付け情報を暗号鍵として用いてアクティベーションキー３０１を暗号化する場合）、アクティベーションキー３０１を申請する際の申請情報には、当該機体紐付け情報に必要な情報を含めるようにすればよい。アクティベーションキー３０１を生成するキーエントリサーバ２０やアクティベーション管理サーバ３０は、アクティベーションキー３０１を当該機体紐付け情報によって暗号化すればよい。アクティベーションキー３０１に基づいてアプリケーションの起動の許否判定を行う機器のアクティベーションサービス１４３は、当該機体紐付け情報によってアクティベーションキー３０１を復号することで、当該アクティベーションキー３０１と機器との紐付けを確認すればよい。当該機体紐付け情報によってアクティベーションキー３０１が復号できた場合は、当該アクティベーションキー３０１は当該機器に対するライセンスであることが確認される。一方、復号できなかった場合は、当該アクティベーションキー３０１は、当該機器に対するライセンスでないことが確認される。この場合、アクティベーション３０１の構成情報として機体紐付け情報は含まれていなくても良い。アクティベーションキー３０１が機体紐付け情報によって暗号化されることで、アクティベーションキー３０１と機体紐付け情報との関連付けが実現されているからである。
【０１３６】
ところで、アクティベーションサービス１４３及びインストールサービス１４４は、ＪＳＤＫアプリ１４６として実装されてもよい。図１７は、アプリケーションサービス及びインストールサービスをＪＳＤＫアプリ１４６として実装した場合の融合機のソフトウェア構成例を示す図である。
【０１３７】
図中では、アクティベーションサービス１４３及びインストールサービス１４４が、ＪＳＤＫアプリ１４６のブロック内に記されている。これは、アクティベーションサービス１４３及びインストールサービス１４４がＪＳＤＫアプリ１４６として実装されていることを示す。なお、アクティベーションサービス１４３及びインストールサービス１４４がＪＳＤＫアプリ１４６として実装された場合であっても、上記において説明した処理手順に関しては特段変わるところはない。
【０１３８】
以上、本発明の実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１３９】
【図１】本発明の実施の形態における融合機のソフトウェア構成例を説明するための図である。
【図２】本発明の実施の形態における融合機のハードウェア構成例を示す図である。
【図３】融合機起動部を説明するための図である。
【図４】ＳＤメモリカード用スロットとＳＤメモリカードに係るソフトウェアを説明するための図である。
【図５】本発明の実施の形態におけるアプリケーションのライセンス管理の概要を説明するための図である。
【図６】本発明の実施の形態におけるアクティベーションキーに含まれる情報の構成例を示す図である。
【図７】第一の実施の形態におけるアクティベーションキーの申請及び配布の手順を説明するための図である。
【図８】第一の実施の形態におけるアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。
【図９】第二の実施の形態におけるアクティベーションキーの申請及び配布の手順を説明するための図である。
【図１０】第二の実施の形態におけるアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。
【図１１】第三の実施の形態におけるノードロックライセンス方式の場合のアクティベーションキーの申請及び配布の手順を説明するための図である。
【図１２】第三の実施の形態におけるフローティングライセンス方式の場合のアクティベーションキーの申請及び配布の手順を説明するための図である。
【図１３】第三の実施の形態におけるＪＳＤＫプラットフォームのインストール及び起動処理を説明するためのシーケンス図である。
【図１４】アクティベーションキーに基づくアプリケーションの使用の許否判定処理を説明するための図である。
【図１５】第三の実施の形態におけるＪＳＤＫアプリのインストール及び起動処理を説明するためのシーケンス図である。
【図１６】ユーザとの紐付けを有するアクティベーションキーに基づくアプリケーションの起動処理を説明するための図である。
【図１７】アプリケーションサービス及びインストールサービスをＪＳＤＫアプリとして実装した場合の融合機のソフトウェア構成例を示す図である。
【符号の説明】
【０１４０】
２０    キーエントリサーバ
３０    アクティベーション管理サーバ
１０１  融合機
１１１  ハードウェア
１１２  ソフトウェア
１１３  融合機起動部
１２１  撮像部
１２２  印刷部
１２３  その他のハードウェア
１３１  アプリケーション
１３２  プラットフォーム
１３５  仮想アプリケーションサービス（ＶＡＳ）
１３６  ＯＳ
１４１  標準アプリ
１４２  ＳＤＫアプリケーションサービス（ＳＡＳ）
１４３  アクティベーションサービス
１４４  インストールサービス
１４５  ＣＳＤＫアプリ
１４６  ＪＳＤＫアプリ
１４７  ＪＳＤＫプラットフォーム
１４６ｋ、１４７ｋ  キーファイル
１５１  コントロールサービス
１６１  ネットワークコントロールサービス
２０１  コントローラ
２０２  オペレーションパネル
２０３  ファクシミリコントロールユニット
２１１  ＣＰＵ
２１２  ＡＳＩＣ
２２１  ＮＢ
２２２  ＳＢ
２３１  ＭＥＭ−Ｐ
２３２  ＭＥＭ−Ｃ
２３３  ＨＤＤ
２３４  メモリカードスロット
２３５  メモリカード
２４１  ＮＩＣ
２４２  ＵＳＢデバイス
２４３  ＩＥＥＥ１３９４デバイス
２４４  セントロニクスデバイス
３０１  アクティベーションキー
５０１  メモリモニタ部
５０２  プログラム起動部
６０１  ＳＤメモリカード用スロット
６０２  ＳＤメモリカード
６１１  ＳＤメモリカードアクセスドライバ
６１２  ＳＤメモリカードステータスドライバ
６１３  起動処理用プログラム
６１４  ＳＤメモリカードチェックプログラム
【図１】
2008016013.tif 000003
【図２】
2008016013.tif 000004
【図３】
2008016013.tif 000005
【図４】
2008016013.tif 000006
【図５】
2008016013.tif 000007
【図６】
2008016013.tif 000008
【図７】
2008016013.tif 000009
【図８】
2008016013.tif 000010
【図９】
2008016013.tif 000011
【図１０】
2008016013.tif 000012
【図１１】
2008016013.tif 000013
【図１２】
2008016013.tif 000014
【図１３】
2008016013.tif 000015
【図１４】
2008016013.tif 000016
【図１５】
2008016013.tif 000017
【図１６】
2008016013.tif 000018
【図１７】
2008016013.tif 000019