JP5458535B2 - 機器、ライセンス管理方法、プログラム、及びライセンス管理システム - Google Patents

機器、ライセンス管理方法、プログラム、及びライセンス管理システム Download PDF

Info

Publication number
JP5458535B2
JP5458535B2 JP2008235681A JP2008235681A JP5458535B2 JP 5458535 B2 JP5458535 B2 JP 5458535B2 JP 2008235681 A JP2008235681 A JP 2008235681A JP 2008235681 A JP2008235681 A JP 2008235681A JP 5458535 B2 JP5458535 B2 JP 5458535B2
Authority
JP
Japan
Prior art keywords
license
license data
program
data
history
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008235681A
Other languages
English (en)
Other versions
JP2010067232A (ja
Inventor
拓 南雲
裕子 杉浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008235681A priority Critical patent/JP5458535B2/ja
Publication of JP2010067232A publication Critical patent/JP2010067232A/ja
Application granted granted Critical
Publication of JP5458535B2 publication Critical patent/JP5458535B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、機器、ライセンス管理方法、プログラム、及びライセンス管理システムに関する。
近年では、主に複合機又は融合機と呼ばれる画像形成装置において、その出荷後に新たなアプリケーションの開発及びインストールが可能とされているものがある(例えば、特許文献1)。斯かるアプリケーションの利用形態は多様化しており、所定の期間だけ利用できればよいユーザや、アプリケーションの全機能のうち特定の機能のみ利用できればよいユーザもある。それぞれのユーザの利用形態に応じてアプリケーションのライセンスを管理することができれば、ユーザにとって便宜であるばかりでなく、アプリケーションを販売する側にとってもビジネスチャンスの拡大を期待できる。
ところで、画像形成装置のような高価な機器では、リース契約などの年限による入れ替えが発生することが多い。ユーザの観点からすれば、入れ替え時において元の画像形成装置において利用されていたアプリケーションのライセンスが有効である場合には、入れ替え後の画像形成装置においても同等のアプリケーションが利用可能であるべきである。
そこで、特許文献2に記載されているようなライセンスの解除の仕組みによって入れ替え元の画像形成装置のライセンスを解除し、入れ替え後の画像形成装置において改めてライセンスを取得することが考えられる。なお、特許文献2に記載された技術は、ライセンスコードに含まれる照合キー等と、コンピュータ内に保存された照合キー等とを照合することにより、ライセンスの正当性を判定するものである。ライセンスの解除時には、コンピュータ内に保持された照合コードを変更することにより、解除されたライセンスコードに基づくソフトウェアの利用を制限できるとしている。
特開2005−269619号公報 特開2007−34389号公報
しかしながら、特許文献2に記載された技術では、元の照合キーがコピーされ、保持されていた場合、ライセンスの解除後に元の照合キーが復元される虞がある。特に、当該文献の段落0034には、照合キーは他のソフトウェア情報と共に記録媒体に記憶されている旨が記載されており、当該記録媒体から復元される可能性も考えられる。
そうすると、解除されたはずのライセンスコードに基づいてソフトウェアの利用が可能となってしまうという問題がある。
本発明は、上記の点に鑑みてなされたものであって、プログラムに対するライセンス管理を適切に実現することのできる機器、ライセンス管理方法、プログラム、及びライセンス管理システムの提供を目的とする。
そこで上記課題を解決するため、本発明は、プログラムに関連付けて前記プログラムのライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段と、前記ライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手段と、前記判定手段によって起動が許可された場合にプログラムを起動する起動手段と、前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手段とを有し、前記判定手段は、起動対象とされたプログラムに関連付けられているライセンスデータが前記履歴に含まれているときは、前記プログラムの起動を許可しないことを特徴とする。
このような機器では、プログラムに対するライセンス管理を適切に実現することができる。
本発明によれば、プログラムに対するライセンス管理を適切に実現することができる。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるライセンス管理システムの構成例を示す図である。図1において、ライセンス管理システムは、ユーザサイトA及びライセンス発行サイトB等より構成されている。
ユーザサイトAは、画像形成装置(機器)のユーザ環境であり、当該ユーザのオフィス等が相当する。したがって、ユーザサイトAは、画像形成装置のユーザに応じて複数存在し得る。ユーザサイトAでは、ライセンス制御装置20と、画像形成装置10a、10b、10c、及び10d等の一台以上の画像形成装置(以下、総称する場合「画像形成装置10」という。)とがLAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。画像形成装置10は、一般的に、複合機又は融合機と称される機器であり、コピー機能、プリンタ機能、スキャナ機能、及びファクス機能等、複数の機能を実現するためのハードウェアを一台の筐体内に備える。画像形成装置10には、これらの機能を利用した各種のアプリケーションのインストールが可能である。但し、本発明を適用対象となる画像形成装置は、複合機に限られず、少なくともアプリケーションのインストール及び実行が可能であればよい。したがって、コピー機、ファクシミリ、プリンタ、又はスキャナ等の単一の機能を実現する画像形成装置であってもよい。
ライセンス制御装置20は、ユーザサイトAにおける画像形成装置10において動作するアプリケーションのライセンス(利用権限)を一括して取得等するためPC(Personal Computer)等のコンピュータである。すなわち、画像形成装置10にインストールされた各種のアプリケーションは、ライセンス制御装置20によって取得されるライセンスによって利用可能となる。
ライセンス発行サイトBは、ユーザサイトAにおいて利用される画像形成装置10のアプリケーションに対するライセンスをユーザサイトAに対して発行する環境である。例えば、ライセンス発行サイトBは、画像形成装置10のメーカーによって運用される。ライセンス発行サイトBには、ライセンスサーバ50が設置されている。ライセンスサーバ50は、ライセンスの生成及び発行等を実行するコンピュータである。
なお、ライセンス制御装置20及びライセンスサーバ50は、インターネット等の広域ネットワーク70を介して接続されている。
画像形成装置10の詳細について説明する。図2は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図2において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、ネットワークインタフェース15、及び操作パネル16等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を含む。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムを処理することにより、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタは13、画像データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。ネットワークインタフェース15は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。操作パネル16は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。
図3は、本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。同図において、画像形成装置10は、OS121、コントロールサービス122、及びアプリケーション123等のソフトウェアを有する。
OS121は、UNIX(登録商標)等のいわゆるOS(Operating System)であり、各種ソフトウェアをプロセス単位で並列的に起動する。
コントロールサービス122は、各種のハードウェアリソース等を制御するためのサービスを上位アプリケーション等に対して共通的に提供するソフトウェアモジュール群である。例えば、コントロールサービス122は、スキャナ12又はプリンタ13を制御するための手段や、モデム14又はネットワークインタフェース15を介した通信手段等を提供する。
アプリケーション123は、コントロールサービス122やOS121等を利用して、ユーザより要求された各種のジョブを画像形成装置10に実行させるプログラムである。アプリケーション123は、標準アプリ130とSDKアプリ140とに大別される。
標準アプリ130は、画像形成装置10に標準的に(出荷時に予め)実装されているアプリケーションをいう。図中では、コピージョブを制御するコピーアプリ131、スキャンジョブを制御するスキャンアプリ132、ファクス送信ジョブを制御するファクスアプリ133、印刷ジョブを制御するプリントアプリ134等が例示されている。
SDKアプリ140は、画像形成装置10に専用のSDK(ソフトウェア開発キット)を使用して開発されたアプリケーションをいい、SDKプラットフォーム150上で動作する。すなわち、画像形成装置10には、その出荷後に専用のSDKを使用して新たにアプリケーションを追加することができる。図中では、SDKアプリ141、142、及び143の三つのSDKアプリ140が例示されている。画像形成装置10におけるSDKアプリ140の起動は、それぞれに対するライセンスキーが取得さされていることが前提とされる。ライセンスキーは、SDKアプリ140の利用を特定の画像形成装置10上において許可するデータである。なお、本実施の形態において、SDKアプリ140は、Java(登録商標)言語で記述されたプログラムであるとする。但し、本発明の実施に際し、SDKアプリ140は、Java(登録商標)言語によって記述されたプログラムに限定されない。
SDKプラットフォーム150は、SDKアプリ140の動作環境を提供するソフトウェアであり、例えば、Java(登録商標)仮想マシンや、Java(登録商標)ME(Micro Edition)において標準で提供されているクラス群やコントロールサービス122の機能をラッピングしたクラス群等を含む。また、SDKプラットフォーム150は、SDKアプリ140に関するライセンス管理を行う。例えば、SDKアプリ140は、各SDKアプリ140に対するライセンスキーを管理し、当該ライセンスキーに基づいてSDKアプリ140の起動制御等を行う。
図4は、SDKプラットフォームにおけるライセンス管理機能とSDKアプリの構成例とを示す図である。
同図に示されるように、一つのSDKアプリ140は、一つ以上の機能モジュール(例えば、JAR(Java(登録商標) Archive)等のプログラムモジュール)と機能モジュールごとに付随する(対応する)ライセンス情報ファイルを含む。機能モジュールの中にはライセンス情報ファイルが付随しないものも存在しうる。各機能モジュールは、当該機能モジュールの属するSDKアプリ140が実行するジョブを構成する一部の機能を実現する。ライセンス情報ファイルは、対応する機能モジュールに関するライセンスに関する情報(ライセンス情報)を含むファイルである。ライセンス情報は、例えば、機能モジュールが属するSDKアプリ140の識別子(アプリID)、機能モジュールの識別子 (機能モジュールID)、機能モジュールのファイル名、及び機能モジュールの表示名 (表示文字列)等より構成される。
同図のSDKアプリ140には、機能モジュールとして機能モジュール1401a、1401b、及び1401c(以下、総称する場合「機能モジュール1401」という。)が含まれている。また、ライセンス情報ファイルとしてライセンス情報ファイル1402a及びライセンス情報ファイル1402b(以下、総称する場合「ライセンス情報ファイル1402」という。)が含まれている。ライセンス情報ファイル1402aは、機能モジュール1401aに付随するライセンス情報ファイルである。ライセンス情報ファイル1402bは、機能モジュール1401bに付随するライセンス情報ファイルである。なお、機能モジュール1401cにはライセンス情報ファイルは付随していない。これは、機能モジュール1401cは、ライセンス対象ではないこと(ライセンスチェックが不要(例えば、ライセンスフリー)であること)を示す。
一方、SDKプラットフォーム150は、ライセンス導入部151、ライセンス管理部152、判定部153、起動制御部154、ライセンス無効化部155、インストール部156、及びライセンスリスト170等を有する。
ライセンス導入部151は、ライセンス制御装置20よりSDKアプリ140(機能モジュール1401)に対するライセンスキーを取得し、当該ライセンスキーをライセンスリスト170に保存する。ライセンスキーの導入により、当該ライセンスキーに係るSDKアプリ140又は機能モジュール1401の利用が可能となる。
起動制御部154は、SDKアプリ140の起動及び停止を制御する。SDKアプリ140を起動する際、起動制御部154は、ライセンス管理部152にSDKアプリ140のライセンス状況の問い合わせを行うことにより、機能モジュール1401単位で起動(RAM112へのロード)を制御する。
ライセンス管理部152は、ライセンスリスト170の生成及びライセンスリスト170に基づくライセンスチェック処理の制御等を行う。ライセンスリスト170は、SDKアプリ140と一対一に対応する。したがって、複数のSDKアプリ140がインストールされている場合、複数のライセンスリスト170が生成される。一つのライセンスリスト170は、対応するSDKアプリ140に含まれている機能モジュール1401ごとに、対応するライセンス情報ファイル1402に含まれているライセンス情報、及びライセンスキー(ライセンスキーが発行されている場合)等を含む。
図5は、ライセンスリストの構成例を示す図である。同図に示されるようにライセンスリスト170には、機能モジュールごとに、機能モジュールID、ライセンスキー、及びディアクティベーションキー等が登録される。ライセンスキーは、機能モジュール1401に対して発行されたライセンスキーの実体である。すなわち、本実施の形態では、機能モジュール1401単位でライセンスされる。但し、このことは、ライセンスキーと機能モジュール1401とが常に一対一に対応することを意味するものではない。一つのライセンスキーによって複数の機能モジュール1401の利用が許可されうる。ディアクティベーション済みキーは、無効化されたライセンスキーの実体又はその識別情報である。
なお、図5において機能モジュールIDが「A」の機能モジュール(機能モジュールA)は、図3の機能モジュール1401aに対応する。また、機能モジュールBは、機能モジュール1401bに対応する。上記したように、機能モジュール1401cにはライセンス情報ファイルが付随していないため、ライセンスリスト170には対応する情報は登録されていない。また、図5は、ライセンスキーが発行されていない状態を示す。したがって、いずれの機能モジュール1401に対してもライセンスキーは登録されていない。
なお、ライセンスリスト170は、例えば、SDKアプリ140のインストール時に、ライセンス管理部152によってファイルに格納されて生成され、HDD114に保存される。ライセンスリスト170の生成に伴って、ライセンス管理部152は、ライセンスリスト170の改竄検知用のデータ(例えば、ライセンスリスト170の電子署名)を生成し、ライセンスリスト170に関連付けておく。また、不正な編集等を困難とするため、ライセンス管理部152は、ライセンスリスト170を暗号化して保存する。後述される処理手順における各ステップでは省略するが、ライセンスリスト170を参照、更新等する際は、そのたびごとにライセンスリスト170の復号や電子署名に基づく改竄検知等が行われる。また、更新された際は、更新した主体(ライセンス管理部152又はライセンス無効化部155等)によって、改めて更新後のライセンスリスト170について電子署名が生成され、暗号化が行われる。
判定部153は、ライセンス管理部153からの要求に応じ、起動対象とされたSDKアプリ140に属する機能モジュール1401のうちライセンス対象となる機能モジュール1401(同図では、機能モジュール1401a及び1401b)について、ライセンスキーに基づく起動の可否(許否)の判断を行う。判定部153は、当該判断結果をライセンス管理部152に応答する。
ライセンス無効化部155は、ライセンス制御装置20からの指示に応じ、当該指示において指定されたSDKアプリ140のライセンスキーを無効化する。ライセンスキーの無効化により、当該ライセンスキーに係るSDKアプリ140又は機能モジュール1401は利用不可能となる(当該SDKアプリ140又は機能モジュール1401はディアクティベーションされる。)。
更に、ライセンスサーバ50及びライセンス制御装置20の詳細について説明する。
図6は、本発明の実施の形態におけるライセンスサーバの機能構成例を示す図である。同図において、ライセンスサーバ50は、ライセンス発行部51、ライセンス発行情報更新部52、及びライセンス発行情報管理テーブル53等を有する。これら各部は、ライセンスサーバ50にインストールされたプログラムがライセンスサーバ50のCPUに実行される処理によって実現される。
ライセンス発行部51は、ユーザサイトAより、ライセンスキーの発行が要求された際に、ライセンスキーを発行(生成)する。ライセンス発行情報更新部52は、プロダクトキーに対するライセンスキーの発行状況等を示す情報をライセンス発行情報管理テーブル53に記録する。
プロダクトキーとは、製品が購入されるごとに一意に発行される(又は割り当てられる)識別子であり、例えば製品に添付されて購入者に配布される。製品の購入時には、購入対象の製品と共に当該製品に対するライセンス数が購入者によって選択される。ここで、製品とは、SDKアプリ140に含まれる機能モジュール1401の構成によって異なる概念である。すなわち、同一種類の(同一名の)SDKアプリ140であっても、基本機能に係る機能モジュール1401のみを含むSDKアプリ140と拡張機能に係る機能モジュール1401をも含むSDKアプリ140とでは異なる製品として販売されている。また、機能モジュール1401単独でも製品が構成されうる。
図7は、ライセンス発行情報管理テーブルの構成例を示す図である。同図におけるライセンス発行情報管理テーブル53は、アプリIDが「1234ABC」のSDKアプリ140に対するライセンス発行情報管理テーブル53である。すなわち、ライセンス発行情報管理テーブル53は製品ごとに作成される。
同図に示されるように、ライセンス発行情報管理テーブル53は、発行されたプロダクトキーごとに、ライセンス機能、ライセンス数、ライセンス発行数、及びライセンスキー等を管理する。ライセンス機能は、当該プロダクトキーに基づいて発行されるライセンスキーによって利用が許可される機能モジュール1401の機能モジュールIDである。ライセンス数は、当該プロダクトキーに基づいて発行可能なライセンス(ライセンスキー)の数である。ライセンス発行数は、当該プロダクトキーに基づいて既に発行されたライセンス(ライセンスキー)の数である。ライセンスキーは、現在発行されているライセンスキーの一覧である。
例えば、アプリIDが「1234ABC」のSDKアプリ140が、図4に示される構成を有している場合であって、機能モジュール1401aの機能モジュールIDは「A」、機能モジュール1401bの機能モジュールIDは「B」であるとする。この場合、図7のライセンス発行情報管理テーブル53によれば、プロダクトキー「AAA」の製品では、機能モジュール1401a及び1041bのライセンスが与えられ、ライセンス数は1であることが示されている。但し、ライセンス発行数は0であるため、未だライセンスキーは発行されていないことが分かる。一方、プロダクトキー「BBB」の製品では、機能モジュール1401aのみのライセンスが与えられ、ライセンス数は5であることが示されている。また、ライセンス発行数は3であるため、既に3つのライセンスキーが発行されていることが示されている。なお、ライセンス発行情報管理テーブル53は、ライセンスサーバ50の記憶装置に記録されている。
プロダクトキーは、ライセンス発行時の入力情報となる。すなわち、SDKアプリ140の購入時点において、ユーザは、SDKアプリ140とプロダクトキーとを有している。この段階において、ユーザは、SDKアプリ140の画像形成装置10へのインストールは可能であるが、利用は許可されない。上記したようにSDKアプリ140の起動の許否はライセンスキーに基づいて判定されるからである。SDKアプリ140を利用したい場合、ユーザは、プロダクトキーに基づいてライセンスキーを入手する。一つのプロダクトキーに基づいて、ライセンス数分のライセンスキーを入手することができる。また、同一のプロダクトキーに属する機能モジュール1401は、同一のライセンスキーによって利用可能となる。なお、プロダクトキーに属する機能モジュール1401とは、プロダクトキーに対応する製品に含まれている機能モジュール1401をいう。
図8は、本発明の実施の形態におけるライセンス制御装置の機能構成例を示す図である。同図において、ライセンス制御装置20は、インストール部21、ライセンス取得部22、ライセンス配信部23、及びライセンス無効化制御部24等を有する。
インストール部21は、画像形成装置10へのSDKアプリ140のインストールを制御する。ライセンス取得部22は、ユーザによる指示入力に応じ、ライセンスキーの発行をライセンスサーバ50より受ける。ライセンス配信部23は、発行されたライセンスキーを画像形成装置10へ配信する。ライセンス無効化制御部24は、ユーザによる指示入力に応じ、画像形成装置10に対してライセンスキーの無効化を指示する。
以下、ライセンス管理システムの処理手順について説明する。図9は、画像形成装置へのSDKアプリのインストール処理の処理手順を説明するためのシーケンス図である。なお、図9の前提として、ライセンス制御装置20には、購入済みのSDKアプリ140が保存されている。また、操作者(管理者等)による操作は、ライセンス制御装置20において行われる。
操作者による指示入力に応じ、ライセンス制御装置20のインストール部21は、機器情報の取得要求を各画像形成装置10に送信する(S101、S102)。なお、機器情報の取得要求は、ネットワーク30に接続されている全ての画像形成装置10に送信されてもよいし、操作者によってインストール先として指定された画像形成装置10のみに送信されてもよい。同図では、画像形成装置10a及び10bに送信されている例が示されている。
機器情報の取得要求を受信した各画像形成装置10のインストール部156は、当該画像形成装置10の機器情報を取得し、ライセンス制御装置20に返信する(S103、S104)。機器情報を受信したライセンス制御装置20のインストール部21は、当該機器情報の一覧をライセンス制御装置20の表示装置に表示させる。機器情報には、例えば、画像形成装置10にインストールされているSDKアプリ140の一覧情報が含まれている。当該一覧情報は、インストール部156が、各SDKアプリ140を検索することにより行われる。したがって、機器情報の一覧を参照することにより、操作者は、各画像形成装置20にインストールされているSDKアプリ140を確認することができる。
続いて、操作者が、ライセンス制御装置20に保存されているSDKアプリ140のうちインストール対象とするSDKアプリ140と、インストール先とする画像形成装置20とを選択すると、インストール部21は、選択されたSDKアプリ140を選択された画像形成装置10へ送信する(S105、S107)。ここで、各画像形成装置10へ送信されるSDKアプリ140は、同じでもよいし、異なっていてもよい。SDKアプリ140を受信した各画像形成装置10のインストール部156は、当該SDKアプリ140のインストール処理を実行する。また、ライセンス管理部152は、インストール部156からの要求に応じ、当該SDKアプリ140のライセンスリスト170を生成する。インストール部156は、これらの処理結果(成否を示す情報)をライセンス制御装置20に返信する(S106、S108)。
続いて、図10は、ライセンスキーの発行処理及び画像形成装置へのライセンスキーの導入処理の処理手順を説明するためのシーケンス図である。同図において、操作者(管理者等)による操作は、ライセンス制御装置20において行われる。
ライセンス制御装置20においてライセンスキーの導入先の画像形成装置10が選択されると、ライセンス制御装置20のライセンス取得部22は、選択された画像形成装置10に対して機器情報の取得要求を送信する(S201)。ライセンスキーの導入先の画像形成装置10の選択は、例えば、ライセンス制御装置20がネットワーク30に接続されている画像形成装置10を自動検索することにより表示される画像形成装置10の一覧情報の表示画面における操作によって行われる。但し、当該導入先のIPアドレスが直接入力されてもよい。
機器情報の取得要求を受信した各画像形成装置10のライセンス導入部151は、当該画像形成装置10にインストールされているSDKアプリ140の一覧情報(各SDKアプリ140のアプリIDを含む)と、当該画像形成装置10の機体番号とを取得し、これらを含む情報を機器情報としてライセンス制御装置20に返信する(S202)。なお、機体番号とは、工場出荷時において各画像形成装置10に対して一意に割り当てられている番号であり、例えば、ROM113に記録されている。したがって、機体番号は変更することはできない。
続いて、ライセンス制御装置20のライセンス取得部22は、受信した機器情報に含まれているSDKアプリ140の一覧情報を表示装置に表示させ、一覧の中からライセンスキーの取得対象とするSDKアプリ140を操作者に選択させる。また、ライセンス取得部22は、選択されたSDKアプリ140に対するプロダクトキーの入力を操作者より受け付ける(S203)。なお、プロダクトキーは、予め操作者が入手しているという前提である。例えば、SDKアプリ140が記録媒体によって配布される場合は、当該記録媒体にプロダクトキーが添付されている。また、SDKアプリ140がネットワークを介して配信される場合は、当該SDKアプリ140と共に配信されるファイル内にプロダクトキーが記録されている。
続いて、ライセンス取得部22は、入力されたプロダクトキーと、受信した機体番号と、選択されたSDKアプリ140のアプリIDとを伴ってライセンスキーの発行要求をライセンスサーバ50に送信する(S204)。
当該要求に応じ、ライセンスサーバ50のライセンス発行部51は、当該要求に含まれるプロダクトキーのライセンス発行数がライセンス数に達しているかいないかを当該要求に含まれているアプリIDに対応するライセンス発行情報管理テーブル53に基づいて判定する。当該プロダクトキーのライセンス発行数がライセンス数に達していない場合は、受信された機体番号及びプロダクトキーと、ライセンス発行情報管理テーブル53とに基づいてライセンスキーを生成する(S205)。
図11は、ライセンスキーの構成例を示す図である。同図において、一つのライセンスキーは、アプリID、画像形成装置10の機体番号、及びライセンス機能(機能モジュール1401の識別子の一覧)等によって構成される。当該ライセンスキーによって、「機体番号」によって識別される画像形成装置10上において、「アプリID」によって識別されるSDKアプリ140に含まれる機能モジュール1401のうち、「ライセンス機能」に機能モジュールIDが含まれる機能モジュール1401の利用が許可される。ライセンス機能は、プロダクトキーに基づいてライセンス発行情報管理テーブル53より取得された値である。アプリID及び機体番号は、受信されたライセンスの発行要求に含まれていたものである。なお、ライセンスキーは、アプリID、の機体番号、及びライセンス機能を単に並べたものではなく、これらの情報がエンコードされ、更に暗号化されたものでもよい。
ライセンスキーが発行された場合、ライセンス発行情報更新部52は、ライセンス発行情報管理テーブル53におけるライセンス発行数を更新する。
図12は、ライセンスキーの発行により更新されたライセンス発行情報管理テーブルの例を示す図である。同図は、プロダクトキー「AAA」に対してライセンスキーが発行された例を示す。ライセンスキーの発行により、プロダクトキー「AAA」のライセンス発行数が1に更新されている。また、発行されたライセンスキー「BJP138−BUQ」が登録されている。なお、「BJP138−BUQ」は、エンコード及び暗号化されたライセンスキーを表現している。
続いて、ライセンス発行部51は、生成されたライセンスキーをライセンス制御装置20に送信する(S206)。なお、ステップS205において、プロダクトキーのライセンス発行数がライセンス数に達している場合、ライセンス発行部51は、ライセンスキーの生成を拒否する。したがって、この場合、ライセンス発行部51は、ステップS206において、ライセンスキーは発行されないことを示す情報をライセンス制御装置20に送信する。
ライセンス制御装置20のライセンス取得部22がライセンスキーを受信すると、ライセンス配信部23は、当該ライセンスキーを画像形成装置10に転送する(S207)。画像形成装置10のライセンス導入部151は、ライセンスキーを受信すると、当該ライセンスキーをライセンスリスト170に書き込む(S208)。なお、書き込み先のライセンスリスト170は、ライセンスキーに含まれているアプリIDに基づいて判定される。
図13は、ライセンスキーが書き込まれたライセンスリストの例を示す図である。同図のライセンスリスト170では、機能モジュールA及びBの双方に同じライセンスキーが登録されている。これは、図11に示されるライセンスキーにおいて、機能モジュールA及びB(機能モジュール1401a及び1401b)の双方の機能モジュールIDが「ライセンス機能」に含まれているからである。したがって、ライセンスキーにいずれか一方の機能モジュールIDが含まれていない場合は、当該一方のみに対してライセンスキーが登録される。
続いて、ライセンス導入部151は、ライセンスキーの導入の成否を示す情報をライセンス制御装置20に送信する(S209)。以上によってライセンスキーの導入が完了する。なお、SDKアプリ140のインストールライセンスキーの導入は、ライセンス制御装置20を介さないで行われてもよい。例えば、画像形成装置10の操作パネル16を介した操作によって、記録媒体から又はネットワークを介してSDKアプリ140のインストールが行われてもよい。また、画像形成装置10がライセンスサーバ50より直接的にライセンスキーの発行を受けるようにしてもよい。但し、ライセンス制御装置20を利用することにより、一度に複数の画像形成装置10に対してSDKアプリ140のインストールやライセンスキーの導入等を行うことができ、管理者等の作業負担が軽減することができる。
ライセンスキーの導入により、当該ライセンスキーに係るSDKアプリ140の起動(利用)が可能となる。そこで、SDKアプリ140の起動処理について説明する。図14は、画像形成装置におけるSDKアプリの起動処理の処理手順を説明するためのシーケンス図である。
例えば、操作対象の画像形成装置10の操作パネル16に、インストールされているSDKアプリ140の一覧が表示されている。ステップS301では、当該画像形成装置10の操作者が、当該一覧の中から所望のSDKアプリ140を選択し、当該SDKアプリ140の起動指示を入力する。続いて、起動制御部154は、選択されたSDKアプリ140のアプリIDを指定して、当該SDKアプリ140のライセンスの有無のチェック(以下、単に「ライセンスチェック」という。)をライセン管理部152に要求する(S302)。ライセン管理部152は、アプリIDを指定して、ライセンスチェックを判定部153に要求する(S303)。判定部153は、アプリIDに関連付けられているライセンスリスト170に基づいて、当該SDKアプリ140ライセンスチェックを行う(S304)。
具体的には、当該ライセンスリスト170に登録されている機能モジュール1401ごとに、ライセンスキーが登録されているか否かを判定する。ライセンスキーが登録されている場合、当該ライセンスキーに含まれている「機体番号」が操作対象の画像形成装置10の機体番号と一致するか、当該ライセンスキーに含まれている「ライセンス機能」に、当該機能モジュール1401の機能モジュールIDが含まれているか否かを判定する。全ての判定結果が肯定的な場合、判定部153は、当該機能モジュール1401のライセンスは有ると判定する。
なお、判定部153によるライセンスチェックは、ライセンスリスト170に登録されている機能モジュール1401についてのみ行われる。ここで、ライセンスリスト170は、予め(例えば、SDKアプリ140のインストール時に)ライセンス対象の機能モジュール1401が登録されたものである。したがって、ライセンスリスト170により、ライセンス対象でない機能モジュール(例えば、機能モジュール1401c)についてまでライセンスチェックを行う必要はなくなる。よって、SDKアプリ140起動時のライセンスチェック処理を高速化することができ、ひいてはSDKアプリ140の起動処理を高速化することができる。
ライセンス対象のすべての機能モジュール1401(図4及び図13の例では、機能モジュール1401a及び1401b)についてライセンスチェックが完了すると、判定部153は、機能モジュール1401ごとのライセンスチェック結果をライセンス管理部152に出力する(S305)。続いて、ライセンス管理部153は、当該ライセンスチェック結果を起動制御部154に出力する(S306)。続いて、起動制御部154は、当該ライセンスチェック結果においてライセンスが有ると判定された機能モジュール1401のみを起動する(S307)。但し、当該ライセンスチェック結果に含まれていない機能モジュール1401(例えば、機能モジュール1401c)については、起動制御部154はライセンス対象でないと判定し、起動させる。続いて、SDKアプリ140の起動結果が操作パネル16に表示される(S308)。例えば、起動されたSDKアプリ140のメインの機能モジュール1401によって操作画面が表示される。
このように、本実施の形態のライセンス(ライセンスキー)は、機体番号によって画像形成装置10と紐付いて(関連付いて)いる。したがって、或る画像形成装置10を導入先として発行されたライセンスキーによって他の画像形成装置10におけるSDKアプリ140を起動することはできない。これによって、SDKアプリ140の不正コピーによる不正利用が防止される。
ところで、ライセンスキーの導入後にSDKアプリ140を利用する画像形成装置10を変更したい場合がある。顕著な例としては、画像形成装置10をリース契約で利用しており、リース契約の期限切れにより、他の画像形成装置10に置き換える場合である。この場合、本実施の形態では、ライセンスキーが導入されているSDKアプリ140のライセンスキーの無効化(ディアクティベーション)を実行した後、改めて、他の画像形成装置10に新たなライセンスキーを導入する必要がある。これにより、SDKアプリ140の不正利用が効果的に防止される。その理由については後述する。
図15は、ディアクティベーション処理を説明するためのシーケンス図である。図15において、操作者(管理者等)による操作は、ライセンス制御装置20において行われる。
ライセンス制御装置20において、操作者が、ディアクティベーションの対象とするSDKアプリ140及びその機能モジュール1401を選択すると、ライセンス制御装置20のライセンス無効化制御部24は、選択されたSDKアプリ140のアプリIDと機能モジュール1401の機能モジュールIDとを伴って、ディアクティベーションの要求を画像形成装置10に送信する(S401)。
画像形成装置10のライセンス無効化部155は、当該要求を受信すると、ディアクティベーション要求に係る機能モジュール1401のディアクティベーションを実行する(S402)。なお、当該ステップの詳細については後述する。続いて、ライセンス無効化部155は、ディアクティベーションの結果(成否)をライセンス制御装置20に送信するS403)。なお、ディアクティベーションに成功した場合、ライセンス無効化部155は、無効化されたライセンスキー及び当該ライセンスキーに係るアプリIDもライセンス制御装置20に送信する。
ディアクティベーションに成功した場合、ライセンス制御装置20のライセンス無効化制御部24は、画像形成装置10より受信したライセンスキー及びアプリIDを伴って、ディアクティベーションを実行したことの通知をライセンスサーバ50に送信する(S404)。ディアクティベーションサーバ50のライセンス発行情報更新部52は、当該通知に応じ、当該通知と共に受信されたアプリIDに対応するライセンス発行情報管理テーブル53を更新する(S405)。より詳しくは、当該ライセンス発行情報管理テーブル53において、受信されたプロダクトキーに係るレコードより、当該ライセンスキーを削除すると共に、ライセンス発行数を減少させる。例えば、プロダクトキー「AAA」に対するライセンスがディアクティベーションされた場合、その「ライセンス発行数」は、「0」に更新される。
ライセンス発行情報管理テーブル53の更新が完了すると、ライセンス発行情報更新部52は、ライセンス制御装置20に対して応答を行う(S406)。以上によって、ディアクティベーション処理が終了する。
続いて、画像形成装置10のライセンス無効化部によるステップS402の処理の詳細について説明する。図16は、ライセンス無効化部による処理手順を説明するためのフローチャートである。
ライセンス制御装置20からのディアクティベーション要求の受信に応じ、当該要求に含まれているアプリIDに対応するSDKアプリ140を停止させる(S4011)。停止に成功した場合、又は元々停止していた場合(S4012でYes)、ライセンスリスト170を更新することによりライセンスキーを無効化する(S4013)。具体的には、ディアクティベーション要求に係るSDKアプリ140のライセンスリスト170において、ディアクティベーション要求に係る機能モジュール1401のライセンスキーを削除し、ディアクティベート済みキーとする。同一のライセンスキーに係る機能モジュール1401についても同様の処理を行う。その結果、ライセンスリスト170は、例えば、次のようになる。
図17は、ディアクティベーションにより更新されたライセンスリストの例を示す図である。同図において、機能モジュールAのライセンスキーは、「ライセンスキー」の項目から削除され、「ディアクティベーション済みキー」の項目に転記されている。また、同一のライセンスキーに係る機能モジュールBについても同様である。
続いて、ライセンス制御装置20にディアクティベーションに成功したことを応答する(S4014)。
一方、SDKアプリ140の停止に失敗した場合(S4012でNo)、ライセンス制御装置20にディアクティベーションに失敗したことを応答する(S4015)。
なお、ディアクティベーションの指示は、画像形成装置10の操作パネル16から入力されてもよい。
ところで、ディアクティベーションにより、ライセンスサーバ50のライセンス発行情報管理テーブル53では、プロダクトキーの発行ライセンス数が減少する。例えば、プロダクトキー「AAA」に対するライセンスが無効化された場合、その「ライセンス発行数」は、「0」に更新される。このことは、プロダクトキー「AAA」に基づいて再度ライセンスキーの発行を受けることが可能な状態となったことを意味する。すなわち、一つのプロダクトキーは、ライセンスキーの発行又はディアクティベーションに応じて、ライセンスキーを発行可能な状態(利用可能状態)、又はライセンスキーを発行不可能な状態(利用不可能状態)に遷移する。これを図示すると図18のように表せる。
図18は、プロダクトキーの状態遷移を示す図である。なお、同図では、便宜上、ライセンス数が1のプロダクトキーについて説明する。
プロダクトキーの配布当初において、当該プロダクトキーは利用可能状態にある。この状態で、当該プロダクトキーに基づいてライセンスキーAが発行されると、当該プロダクトキーは利用不可状態となる。この状態で、ライセンスキーAがディアクティベーションされると、当該プロダクトキーは再び利用可能状態となる。
このようなサイクルを繰り返すことにより、一つのプロダクトキーに基づいて、ライセンスキーA、ライセンスキーB、及びライセンスキーCといったように、複数のライセンスキーが時系列に発行されうる。なお、ライセンスキーCが発行されている段階において、ライセンスリスト170では、当該プロダクトキーに係る機能モジュール1401に対してライセンスキーCが「ライセンスキー」の項目に登録され、ライセンスキーA及びBが「ディアクティベート済みキー」の項目に登録された状態となる。すなわち、「ディアクティベート済みキー」の項目には、過去に無効化されたライセンスキーの履歴が記録される。
ここで、基本的には、新たなライセンスキー(例えば、ライセンスキーB)が発行される前に、古いライセンスキー(例えば、ライセンスキーA)は無効化されているため、複数のライセンスキーが同時に利用可能になるという不都合は生じない。
しかし、仮に、ライセンスキー発行時等のライセンスキーの流通過程において(例えば、ライセンス制御装置20において)、ライセンスキーが不正にコピーされ、保持されていたとしたら、一つのプロダクトキーに基づく複数のライセンスキーが存在するという事態が発生する。このような事態が発生した場合でも、本実施の形態の画像形成装置10は、SDKアプリ140の不正利用を防止することができる。
以下、不正利用を防止するための処理手順について説明する。図19は、SDKアプリの不正利用を防止するための第一の処理手順を説明するためのシーケンス図である。
例えば、図10のステップS205からS207の間において、ライセンス制御装置20のメモリ上に一時的に保持されるライセンスキーがコピーされ、ライセンス制御装置20のHDD内に保持されていたとする。その後、画像形成装置10では、当該ライセンスキーは無効化されていたとする。
ステップS501において、ライセンス制御装置20のライセンス配信部23は、ライセンスキー導入用のプロトコルに基づいて、HDD内に保持されているライセンスキーを画像形成装置10に送信する。画像形成装置10のライセンスキー導入部151は、当該ライセンスキーを受信すると、当該ライセンスキーの正当性のチェックをライセンス管理部152に要求する。ライセンス管理部152は、ライセンスキーに含まれているアプリIDに基づいて対応するライセンスリスト170を判定し、当該ライセンスキーが当該ライセンスリスト170のディアクティベーション済みキーとして登録されていないか否かを判定する(S502)。ライセンス管理部152は、当該ライセンスキーがディアクティベーション済みキーと一致する場合は、当該ライセンスキーのライセンスリスト170への書き込みは行わず、当該ライセンスキーの導入(ライセンスリスト170への登録)の拒否をライセンス導入部151に通知する。当該通知に応じ、ライセンス導入部151は、ライセンスキーの導入を拒否することをライセンス制御装置20に送信する(S503)。なお、ライセンスリスト170には、直近のみではなく過去に無効化されたライセンスキーの履歴がディアクティベーション済みキーとして登録されているため、過去に一度でも無効化されたライセンスキーは、導入が拒否される。
一方、当該ライセンスキーが、ディアクティベーション済みキーでない場合は、図10のステップS208以降と同様の処理が実行される。
このように、無効化されたライセンスキーの履歴が記録され、当該履歴に基づいてライセンスキーの導入の可否を判断することにより、無効化されたライセンスキーの導入を適切に防止することができる。したがって、ディアクティベーションにより、一つのプロダクトキーに許可されたライセンス数を超えてライセンスキーが存在しうる場合であっても、当該ライセンス数を超えたSDKアプリ140の利用を防止することができる。
具体的例として、プロダクトキー「AAA」に基づいて画像形成装置10aに対して発行されたライセンスキーAを無効化したとする。その後、プロダクトキー「AAA」に基づいて画像形成装置10bに対して新たなライセンスキーBの発行を受けたとする。この場合、仮に、ライセンスキーAがライセンス制御装置20等に保持されていたとしても、図19の処理により、再度ライセンスキーAを画像形成装置10aに導入することはできない。したがって、画像形成装置10a及び10bの双方において、1ライセンス分のプロダクトキー「AAA」に基づいてSDKアプリ140を同時に利用することはできない。
図19の代わりに、又は図19の処理と共に図20に示される処理を実行するようにしてもよい。図20は、SDKアプリの不正利用を防止するための第二の処理手順を説明するためのシーケンス図である。同図は、SDKアプリ140の起動時に不正利用を防止する例である。
操作者によるSDKアプリ140の起動指示の入力に応じ(S601)、起動制御部154がライセンス管理部152に当該SDKアプリ140のアプリIDを指定してライセンスチェックを要求するまで(S602)は図14(S301、S302)と同様である。
続いて、ライセンス管理部152は、アプリIDに関連付けられているライセンスリスト170に基づいて、当該SDKアプリ140に属する各機能モジュール1401のライセンスキーの有効性をチェックする(S603)。具体的には、当該ライセンスリスト170の各レコードにおいて「ライセンスキー」と「ディアクティベーション済みキー」とに同一のライセンスキーが登録されていないか否かを確認する。
「ライセンスキー」と「ディアクティベーション済みキー」とに同一のライセンスキーが登録されているといった事態は、無効化されたライセンスキーが、図19の処理が実行されないことにより、再度導入された場合に発生する。すなわち、ステップS603のチェックによって、無効化されたライセンスキーの再導入が検知される。
「ライセンスキー」と「ディアクティベーション済みキー」とに同一のライセンスキーが登録されている機能モジュール1401が存在した場合、ライセンス管理部152は、当該SDKアプリ140の起動は許可しない旨を起動制御部154に応答する(S604)。起動制御部154は、当該応答に応じ、SDKアプリ140の起動は実行せずに、SDKアプリ140の起動に失敗したことを示すメッセージを操作パネル16に表示させる(S605)。
なお、SDKアプリ140全体ではなく、無効化されたライセンスキーの再導入が検知された機能モジュール1401のみの起動を禁止するようにしてもよい。但し、ステップS603においてライセンスキーが無効化されていないことが判定された機能モジュール1401については、図14のステップS303以降の処理(ライセンスキーに基づくライセンスチェック)が実行される必要がある。
このように、無効化されたライセンスキーの履歴が記録され、当該履歴に基づいてライセンスキーの有効性を判断することにより、無効化されたライセンスキーに基づくSDKアプリ140(機能モジュール1401)の起動を適切に防止することができる。したがって、ディアクティベーションにより、一つのプロダクトキーに許可されたライセンス数を超えてライセンスキーが存在しうる場合であっても、当該ライセンス数を超えたSDKアプリ140の利用を防止することができる。
なお、無効化されたライセンスキーに基づく不正利用の防止が実現されることにより、リース契約のように画像形成装置10が永続的に一つのユーザ環境に固定されない場合あっても適切にSDKアプリ140のライセンス違反を防止することができる。したがって、リース契約による画像形成装置10におけるSDKアプリ140の展開を安心して行うことが可能となる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
本発明の実施の形態におけるライセンス管理システムの構成例を示す図である。 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態における画像形成装置のソフトウェア構成例を示す図である。 SDKプラットフォームにおけるライセンス管理機能とSDKアプリの構成例とを示す図である。 ライセンスリストの構成例を示す図である。 本発明の実施の形態におけるライセンスサーバの機能構成例を示す図である。 ライセンス発行情報管理テーブルの構成例を示す図である。 本発明の実施の形態におけるライセンス制御装置の機能構成例を示す図である。 画像形成装置へのSDKアプリのインストール処理の処理手順を説明するためのシーケンス図である。 ライセンスキーの発行処理及び画像形成装置へのライセンスキーの導入処理の処理手順を説明するためのシーケンス図である。 ライセンスキーの構成例を示す図である。 ライセンスキーの発行により更新されたライセンス発行情報管理テーブルの例を示す図である。 ライセンスキーが書き込まれたライセンスリストの例を示す図である。 画像形成装置におけるSDKアプリの起動処理の処理手順を説明するためのシーケンス図である。 ディアクティベーション処理を説明するためのシーケンス図である。 ライセンス無効化部による処理手順を説明するためのフローチャートである。 ディアクティベーションにより更新されたライセンスリストの例を示す図である。 プロダクトキーの状態遷移を示す図である。 SDKアプリの不正利用を防止するための第一の処理手順を説明するためのシーケンス図である。 SDKアプリの不正利用を防止するための第二の処理手順を説明するためのシーケンス図である。
符号の説明
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 ネットワークインタフェース
16 操作パネル
20 ライセンス制御装置
21 インストール部
22 ライセンス取得部
23 ライセンス配信部
24 ライセンス無効化制御部
30 ネットワーク
50 ライセンスサーバ
51 ライセンス発行部
52 ライセンス発行情報更新部
53 ライセンス発行情報管理テーブル
70 広域ネットワーク
111 CPU
112 RAM
113 ROM
114 HDD
121 OS
122 コントロールサービス
123 アプリケーション
130 標準アプリ
150 SDKプラットフォーム
131 コピーアプリ
132 スキャンアプリ
133 ファクスアプリ
134 プリントアプリ
140、141、142、143 SDKアプリ
151 ライセンス導入部
152 ライセンス管理部
153 判定部
154 起動制御部
155 ライセンス無効化部
156 インストール部
170 ライセンスリスト
1401a、1401b、1401c 機能モジュール
1402a、1402b ライセンス情報ファイル1402a

Claims (10)

  1. プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段と、
    前記ライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手段と、
    前記判定手段によって起動が許可された場合にプログラムを起動する起動手段と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手段とを有し、
    前記判定手段は、起動対象とされたプログラムに関連付けられているライセンスデータが前記履歴に含まれているときは、前記プログラムの起動を許可しないことを特徴とする機器。
  2. プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段と、
    前記ライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手段と、
    前記判定手段によって起動が許可された場合にプログラムを起動する起動手段と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手段と、
    前記ライセンスデータの入力を受け付け、入力されたライセンスデータをプログラムに関連付けて前記ライセンスデータ管理手段に記録するライセンス導入手段とを有し、
    前記ライセンス導入手段は、前記入力されたライセンスデータが前記履歴に含まれているときは、当該ライセンスデータを前記ライセンスデータ管理手段に記録しないことを特徴とする機器。
  3. 機器が実行するライセンス管理方法であって、
    プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手順と、
    前記判定手順によって起動が許可された場合にプログラムを起動する起動手順と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手順とを有し、
    前記判定手順は、起動対象とされたプログラムに関連付けられているライセンスデータが前記履歴に含まれているときは、前記プログラムの起動を許可しないことを特徴とするライセンス管理方法。
  4. 機器が実行するライセンス管理方法であって、
    プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手順と、
    前記判定手順によって起動が許可された場合にプログラムを起動する起動手順と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手順と、
    前記ライセンスデータの入力を受け付け、入力されたライセンスデータをプログラムに関連付けて前記ライセンスデータ管理手段に記録するライセンス導入手順とを有し、
    前記ライセンス導入手順は、前記入力されたライセンスデータが前記履歴に含まれているときは、当該ライセンスデータを前記ライセンスデータ管理手段に記録しないことを特徴とするライセンス管理方法。
  5. 機器に、
    プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手順と、
    前記判定手順によって起動が許可された場合にプログラムを起動する起動手順と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手順とを実行させ、
    前記判定手順は、起動対象とされたプログラムに関連付けられているライセンスデータが前記履歴に含まれているときは、前記プログラムの起動を許可しないことを特徴とするプログラム。
  6. 機器に、
    プログラムに関連付けて前記プログラムを利用可能とさせるライセンスデータと無効化されたライセンスデータの履歴とを管理するライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手順と、
    前記判定手順によって起動が許可された場合にプログラムを起動する起動手順と、
    前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手順と、
    前記ライセンスデータの入力を受け付け、入力されたライセンスデータをプログラムに関連付けて前記ライセンスデータ管理手段に記録するライセンス導入手順とを実行させ、
    前記ライセンス導入手順は、前記入力されたライセンスデータが前記履歴に含まれているときは、当該ライセンスデータを前記ライセンスデータ管理手段に記録しないことを特徴とするプログラム。
  7. 機器と、機器において利用されるプログラムを利用可能とさせるライセンスデータを生成するライセンス発行装置と、前記ライセンス発行装置より前記ライセンスデータを取得し、前記機器に送信するライセンス制御装置とを有するライセンス管理システムであって、
    前記機器は、
    前記ライセンス制御装置より受信したライセンスデータと無効化されたライセンスデータの履歴とを前記プログラムに関連付けて管理するライセンスデータ管理手段と、
    前記ライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手段と、
    前記判定手段によって起動が許可された場合にプログラムを起動する起動手段と、
    前記ライセンス制御装置からの前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手段とを有し、
    前記判定手段は、起動対象とされたプログラムに関連付けられているライセンスデータが前記履歴に含まれているときは、前記プログラムの起動を許可しないことを特徴とするライセンス管理システム。
  8. 機器と、機器において利用されるプログラムを利用可能とさせるライセンスデータを生成するライセンス発行装置と、前記ライセンス発行装置より前記ライセンスデータを取得し、前記機器に送信するライセンス制御装置とを有するライセンス管理システムであって、
    前記機器は、
    前記ライセンス制御装置より受信したライセンスデータと無効化されたライセンスデータの履歴とを前記プログラムに関連付けて管理するライセンスデータ管理手段と、
    前記ライセンスデータ管理手段に管理されているライセンスデータに基づいて起動対象とされたプログラムの起動の許否を判定する判定手段と、
    前記判定手段によって起動が許可された場合にプログラムを起動する起動手段と、
    前記ライセンス制御装置からの前記ライセンスデータの無効化の要求の入力に応じ、該ライセンスデータを前記履歴に含めるライセンス無効化手段と、
    前記ライセンスデータの入力を受け付け、入力されたライセンスデータをプログラムに関連付けて前記ライセンスデータ管理手段に記録するライセンス導入手段とを有し、
    前記ライセンス導入手段は、前記入力されたライセンスデータが前記履歴に含まれているときは、当該ライセンスデータを前記ライセンスデータ管理手段に記録しないことを特徴とするライセンス管理システム。
  9. 前記ライセンス制御装置は、
    前記プログラムが購入されるたびに一意に割り当てられる識別子の入力に応じ、前記プログラムのライセンスデータの発行要求を前記識別子とともに前記ライセンス発行装置に送信し、該該発行要求に応じて返信されるライセンスデータを受信するライセンスデータ取得手段と、
    前記ライセンスデータ取得手段によって取得されたライセンスデータを前記機器に送信するライセンス配信手段とを有し、
    前記ライセンス発行装置は、
    前記ライセンスデータの発行要求に応じ、前記ライセンスデータを生成し、前記ライセンス制御装置に送信するライセンス発行手段と、
    前記ライセンスデータの生成に応じ、前記識別子に対して前記ライセンスデータが発行されたことを示すライセンス発行情報を記憶装置に記録するライセンス発行情報記録手段とを有し、
    前記ライセンス発行手段は、前記ライセンス発行情報に基づいて前記識別子に対応するライセンス数の前記ライセンスデータが発行されていると判定されるときは、前記ライセンスデータを生成しないことを特徴とする請求項7又は8記載のライセンス管理システム。
  10. 前記ライセンス制御装置は、前記機器への前記ライセンスデータの無効化の要求に続き、前記ライセンスデータが無効化されたことの通知を前記ライセンス発行装置に送信するライセンス無効化通知手段を有し、
    前記ライセンス発行装置は、前記通知に応じ、前記ライセンス発行情報を更新することにより前記ライセンスデータの発行を可能とすることを特徴とする請求項9記載のライセンス管理システム。
JP2008235681A 2008-09-12 2008-09-12 機器、ライセンス管理方法、プログラム、及びライセンス管理システム Active JP5458535B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008235681A JP5458535B2 (ja) 2008-09-12 2008-09-12 機器、ライセンス管理方法、プログラム、及びライセンス管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008235681A JP5458535B2 (ja) 2008-09-12 2008-09-12 機器、ライセンス管理方法、プログラム、及びライセンス管理システム

Publications (2)

Publication Number Publication Date
JP2010067232A JP2010067232A (ja) 2010-03-25
JP5458535B2 true JP5458535B2 (ja) 2014-04-02

Family

ID=42192724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008235681A Active JP5458535B2 (ja) 2008-09-12 2008-09-12 機器、ライセンス管理方法、プログラム、及びライセンス管理システム

Country Status (1)

Country Link
JP (1) JP5458535B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5002675B2 (ja) * 2010-04-26 2012-08-15 株式会社東芝 サーバ装置及び通信システム及びサーバ装置で使用される制御方法
JP2015055927A (ja) * 2013-09-10 2015-03-23 株式会社リコー 機器管理装置、機器管理システム、機器管理方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4827467B2 (ja) * 2004-09-10 2011-11-30 キヤノン株式会社 ライセンス転送システム及びライセンス情報発行サーバ
US20070033395A1 (en) * 2005-08-02 2007-02-08 Macrovision Method and system for hierarchical license servers
KR100954370B1 (ko) * 2005-12-28 2010-04-26 후지쯔 가부시끼가이샤 소프트웨어 실행 관리 장치 및 그 방법
JP2007316938A (ja) * 2006-05-25 2007-12-06 Fujitsu Business Systems Ltd ライセンス管理プログラム、ソフトウェア利用制御方法、ライセンスチェックプログラムおよびライセンスチェックセットアッププログラム

Also Published As

Publication number Publication date
JP2010067232A (ja) 2010-03-25

Similar Documents

Publication Publication Date Title
JP5206263B2 (ja) 情報処理装置、ライセンス判定方法、及びプログラム
JP5599557B2 (ja) 情報処理装置、ライセンス判定方法、プログラム及び記録媒体
JP5474916B2 (ja) 情報処理装置および複合機
JP5090790B2 (ja) 機器、ライセンス管理方法、ライセンス管理プログラム、及びライセンス管理システム
JP5173563B2 (ja) ライセンス管理装置及び方法
JP5428668B2 (ja) ライセンス管理サーバ、ライセンス管理方法およびプログラム
JP6124531B2 (ja) 情報処理システム、画像処理装置及びその制御方法、並びにプログラム
US7430669B2 (en) Image forming apparatus, launching method of program in the apparatus, image forming system, and program and storage medium therefor
JP2005102133A (ja) 画像形成装置及び宛先情報参照方法
JP2010178077A (ja) アクセス制限ファイル、制限ファイル生成装置
JP2005301968A (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP4969480B2 (ja) 画像形成装置、情報処理方法、及び情報処理プログラム
US8353057B2 (en) Information processing apparatus, control method, and control program
JP2013037705A (ja) 機器、ライセンス管理システム、ライセンス管理方法、及びライセンス管理プログラム
JP2010211469A (ja) 情報処理装置、情報処理方法及びプログラム
JP5458535B2 (ja) 機器、ライセンス管理方法、プログラム、及びライセンス管理システム
JP6338729B2 (ja) 画像処理装置及びその制御方法、情報処理システム、並びに記憶媒体
JP2011128815A (ja) 画像形成装置、方法、プログラム
JP4968452B2 (ja) 情報配信管理システム、情報配信管理サーバ、プログラム
JP5510535B2 (ja) 情報処理装置、ライセンス判定方法、プログラム、及び記録媒体
JP2011257876A (ja) 画像形成装置、ソフトウェア更新方法及びソフトウェア更新プログラム
US20240004999A1 (en) Information processing apparatus and image processing system
JP2011130125A (ja) 情報処理装置及びその制御方法、プログラム、記憶媒体
JP5482920B2 (ja) 情報処理装置、ライセンス判定方法、及びプログラム
JP2008141626A (ja) 画像処理システムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130222

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131021

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20131028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131230

R151 Written notification of patent or utility model registration

Ref document number: 5458535

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151