Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4052049B2 - License management terminal and application execution terminal - Google Patents
[go: Go Back, main page]

JP4052049B2 - License management terminal and application execution terminal - Google Patents

License management terminal and application execution terminal Download PDF

Info

Publication number
JP4052049B2
JP4052049B2 JP2002212043A JP2002212043A JP4052049B2 JP 4052049 B2 JP4052049 B2 JP 4052049B2 JP 2002212043 A JP2002212043 A JP 2002212043A JP 2002212043 A JP2002212043 A JP 2002212043A JP 4052049 B2 JP4052049 B2 JP 4052049B2
Authority
JP
Japan
Prior art keywords
application
license
execution
terminal
executed
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.)
Expired - Fee Related
Application number
JP2002212043A
Other languages
Japanese (ja)
Other versions
JP2004054659A (en
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.)
Nikon Corp
Original Assignee
Nikon Corp
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 Nikon Corp filed Critical Nikon Corp
Priority to JP2002212043A priority Critical patent/JP4052049B2/en
Publication of JP2004054659A publication Critical patent/JP2004054659A/en
Application granted granted Critical
Publication of JP4052049B2 publication Critical patent/JP4052049B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、アプリケーションのライセンス管理を行うライセンス管理端末、およびアプリケーションの実行端末に関する。
【0002】
【従来の技術】
ライセンス管理端末(管理サーバ)から発行されたライセンス情報を受けたアプリケーション実行端末(クライアント端末)でアプリケーションを使用するように、アプリケーション使用権を管理するライセンス管理システムが知られている(たとえば、特開2001−142689号公報参照)。管理サーバはライセンス情報を求めたクライアント端末に対してライセンス情報を発行し、当該クライアント端末にアプリケーション使用を許可する。管理サーバはライセンス情報の発行数を管理し、発行数が制限値に達すると以降の発行を禁止する。
【0003】
【発明が解決しようとする課題】
上述した管理サーバでは、アプリケーション実行端末でアプリケーションを起動したまま使用されないものがあった場合に、使用されているアプリケーション実行端末と使用されていないアプリケーション実行端末とを区別できない。このため、ライセンス情報の発行数が制限値に達すると、アプリケーションを起動したまま使用されない端末があったとしても、新たにライセンス情報を求めた端末に対してライセンス情報を発行できない。
【0005】
【課題を解決するための手段】
(1)本発明によるライセンス管理端末は、アプリケーション実行端末から送信された発行要求に応じてアプリケーション起動を許可するライセンス情報を発行するライセンス情報発行手段と、ライセンス情報発行手段が発行したライセンス情報の数をカウントするカウント手段と、カウント手段によるカウント数が制限値になるとライセンス情報発行手段に発行禁止を指示する禁止手段と、カウント数と制限値との差が所定数より少ない場合に、ライセンス情報の発行を受けたアプリケーション実行端末でアプリケーションを実行中か否かの監視を始める監視手段と、アプリケーション実行端末においてアプリケーション非実行中を示す情報が監視手段で得られた場合、カウント手段へカウント数の減算を指示する減算指示手段とを備えることを特徴とする。
【0006】
(2)本発明によるアプリケーション実行端末は、アプリケーション起動操作に応じてアプリケーション起動のためのライセンス情報の発行要求をライセンス管理端末へ送るライセンス情報要求手段と、ライセンス管理端末が発行したライセンス情報を受けてアプリケーションを起動するアプリケーション起動手段と、ライセンス制限値と発行済みライセンス数との差が所定数より少ない場合にライセンス管理端末から送信される指令を受けて、起動したアプリケーションを実行中か否かを判定する判定手段と、判定手段が非実行中を判定した場合に所定の警告を行い、当該警告後も判定手段が非実行中を判定した場合にアプリケーションを終了させるアプリケーション終了手段と、判定手段が実行中を判定した場合にライセンス管理端末へアプリケーション実行中を示す情報を送り、判定手段が警告後に非実行中を判定した場合にライセンス管理端末へアプリケーション非実行中を示す情報を送る判定情報送出手段とを備えることを特徴とする。
(3)請求項2に記載のアプリケーション実行端末において、警告はアプリケーションを終了させることを予告するものでもよい。
(4)請求項3に記載のアプリケーション実行端末はさらに、判定手段が非実行中を判定した場合に所定時間の計時を開始する計時手段を備えてもよい。この場合のアプリケーション終了手段は、計時手段により所定時間が計時された以降に判定手段が非実行中を判定した場合にアプリケーションを終了させ、判定情報送出手段は、計時手段により所定時間が計時された以降に判定手段が実行中を判定した場合にライセンス管理端末へアプリケーション実行中を示す情報を送り、計時手段により所定時間が計時された以降に判定手段が非実行中を判定した場合にライセンス管理端末へアプリケーション非実行中を示す情報を送ることが好ましい。
【0007】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施の形態によるライセンス管理端末、およびアプリケーション実行端末を用いたライセンス管理システムの構成図である。図1において、ライセンス管理システムは、アプリケーションを実行する複数の端末(以下、クライアントと呼ぶ)10A〜10Fと、アプリケーションのライセンス管理を行うライセンス管理端末(以下、サーバと呼ぶ)20とが、ネットワークを介して相互に接続されている。ネットワークは、有線接続でも無線接続でもよい。
【0008】
図2は、クライアント10(10A〜10F)の構成を説明する図である。クライアント10は、CPU11、メモリ12、I/Oポート13、入力機器14および出力機器15を有し、これらがシステムバス16を介して相互に接続されている。メモリ12は、RAM、ROMおよびハードディスクドライブなどのデータ記憶媒体を含む。入力機器14は、キーボードやポインティングデバイス、データ読み取り装置などによって構成される。出力機器15は、ディスプレイ装置やスピーカなどの再生装置、およびプリンタなどによって構成される。
【0009】
メモリ12には、OS(Operating System)、クライアント用ライセンス管理ソフトウェアおよびアプリケーションソフトウェアなどのプログラムが格納されている。アプリケーションソフトウェアのうち、ライセンス管理の対象となるアプリケーションには使用制限が与えられている。使用制限とは、同時に当該アプリケーションを使用するクライアントの数を、ライセンス契約によって定められた数以下に制限するものである。クライアント10は、ライセンス管理の対象のアプリケーションを実行するとき、サーバ20から許可を受けた上で必要に応じて当該プログラムをメモリ12から読み出し、CPU11で実行する。クライアント10は、ライセンス管理の非対象のアプリケーションを実行するとき、必要に応じて当該プログラムをメモリ12から読み出し、CPU11で実行する。
【0010】
図3は、サーバ20の構成を説明する図である。サーバ20は、CPU21、メモリ22、I/Oポート23、入力機器24および出力機器25を有し、これらがシステムバス26を介して相互に接続されている。メモリ22は、RAM、ROMおよびハードディスクドライブなどのデータ記憶媒体を含む。入力機器24は、キーボードやポインティングデバイス、データ読み取り装置などによって構成される。出力機器25は、ディスプレイ装置やプリンタなどによって構成される。
【0011】
メモリ22には、OSと、クライアント10で実行されるアプリケーションのライセンス管理を行うためのサーバ用ライセンス管理ソフトウェアのプログラムとが格納されている。サーバ20は、管理プログラムをメモリ22から読み出してCPU21で実行することにより、アプリケーションのライセンス管理を行う。なお、メモリ22には、ライセンス管理以外に他のアプリケーションを実行するためのプログラムを格納してもよい。
【0012】
メモリ22はさらに、ライセンス管理するアプリケーションに関する契約情報を格納する。サーバ20は、この契約情報に対応するアプリケーションに関してライセンス管理を行う。契約情報には、ライセンス契約ごとのアプリケーション名、有効期限、ライセンス数Nなどが含まれる。有効期限は、当該ライセンス契約によって、当該アプリケーションの使用が認められている期間である。ライセンス数Nは、当該ライセンス契約によって当該アプリケーションを同時に使用することが認められたクライアント数(制限値)である。
【0013】
本実施の形態によるライセンス管理システムは、サーバ20がクライアント10にライセンス管理の対象となるアプリケーションの実行許可を与え、当該クライアント10が実際に当該アプリケーションを使用しているか否かを監視するようにしたものである。
【0014】
図4は、クライアント10のCPU11で行われるクライアント用ライセンス管理処理の流れを説明するフローチャートである。図4による処理を実行するプログラムは、クライアント側の操作者によって起動操作が行われると起動する。図4のステップS10において、CPU11は、ライセンス管理の対象となるアプリケーションの起動要求があるか否かを判定する。CPU11は、当該アプリケーションの起動操作が行われた場合にステップS10を肯定判定してステップS11へ進み、当該アプリケーションの起動操作が行われない場合にステップS10を否定判定し、ステップS10の判定処理を繰り返す。
【0015】
ステップS11において、CPU11は、サーバ20に対してライセンス発行要求を示す情報を送信してステップS12へ進む。ステップS12において、CPU11は、アプリケーションの実行を許可されたか否かを判定する。CPU11は、サーバ20から実行許可を示す情報を受信した場合にステップS12を肯定判定してステップS13へ進み、サーバ20から実行不可を示す情報を受信した場合にステップS12を否定判定し、図4による処理を終了する。
【0016】
ステップS13において、CPU11は、メモリ12からアプリケーションソフトウェアのプログラムを読み出して実行する。CPU11は、当該アプリケーションの利用を開始するとステップS13Aへ進む。ステップS13Aにおいて、CPU11は、サーバ20で監視プロセスが起動されたか否かを判定する。CPU11は、サーバ20からアプリケーション使用中か否かをチェックする指示を受けると、ステップS13Aを肯定判定してステップS14へ進む。CPU11は、サーバ20からアプリケーション使用中か否かをチェックする指示を受けない場合は、ステップS13Aを否定判定し、当該判定処理を繰り返す。
【0017】
ステップS14において、CPU11は、アプリケーションが使用されているか否かを判定する。CPU11は、所定時間当たりの処理命令数やメモリアクセス数などからCPU11の負荷状況を算出し、負荷状況が所定値以上の場合にステップS14を肯定判定してステップS15へ進む。一方、CPU11は、負荷状況が所定値未満の場合にステップS14を否定判定してステップS16へ進む。
【0018】
CPU11は、ステップS14を肯定判定した場合にアプリケーション使用中とみなす。ステップS15において、CPU11は、アプリケーション使用中を示す情報をサーバ20へ送信し、ステップS14へ戻る。CPU11は、ステップS14を否定判定した場合にアプリケーション非使用中とみなす。ステップS16において、CPU11は、警告プロセスを起動するとともに、警告プロセスを起動してから所定時間が経過するとステップS18へ進む。警告プロセスは、ディスプレイ装置の画面内に、たとえば、「アプリケーションを終了します。」という警告内容をポップアップ表示させたり、上記警告内容をスピーカから音声再生させたりする。警告プロセスのプログラムは、メモリ12に格納されている。
【0019】
ステップS18において、CPU11は、再びアプリケーションが使用されているか否かを判定する。CPU11は、ステップS14と同様にCPU11の負荷状況を算出し、負荷状況が所定値以上の場合にステップS18を肯定判定してステップS17へ進み、負荷状況が所定値未満の場合にステップS18を否定判定してステップS19へ進む。ステップS17において、CPU11は、アプリケーション使用中を示す情報をサーバ20へ送信し、ステップS14へ戻る。ステップS19において、CPU11は、停止プロセスを起動してステップS20へ進む。停止プロセスのプログラムは、メモリ12に格納されている。
【0020】
ステップS20において、CPU11は、アプリケーションで使用されているファイルをメモリ12に保存するとともに、設定されている各種データやフラグなどの動作環境もメモリ12に保存してステップS21へ進む。ステップS21において、CPU11は、アプリケーションを終了させてステップS22へ進む。ステップS22において、CPU11は、アプリケーションを終了通知をサーバ20へ送信し、図4による処理を終了する。
【0021】
図5は、サーバ20のCPU21で行われるサーバ用ライセンス管理処理の流れを説明するフローチャートである。図5による処理を実行するプログラムは、サーバ側の操作者によって起動操作が行われると起動する。図5のステップS30において、CPU21は、ライセンス発行要求があるか否かを判定する。CPU21は、クライアント10からライセンス発行要求を示す情報を受信した場合にステップS30を肯定判定してステップS31へ進み、クライアント10からライセンス発行要求を示す情報が受信されない場合にステップS30を否定判定し、ステップS20の判定処理を繰り返す。
【0022】
ステップS31において、CPU21は、メモリ22から契約情報を読み出してステップS32へ進む。ステップS32において、CPU21は、アプリケーションを実行可能か否かを判定する。CPU21は、有効期限や発行ライセンス数などが契約情報と合致する場合にステップS32を肯定判定してステップS34へ進み、有効期限を過ぎていたり、発行ライセンス数が契約情報で示されるライセンス数Nに達している場合にステップS32を否定判定してステップS33へ進む。
【0023】
ステップS33において、CPU21は、ライセンス発行要求を送信してきたクライアント10へ実行不可を示す情報を送信し、ステップS30へ戻る。
【0024】
ステップS34において、CPU21は、ライセンス発行要求を送信してきたクライアント10へ実行許可を示す情報を送信(ライセンス発行)し、ステップS35へ進む。ステップS35において、CPU21は、発行済みライセンス数の計数値Iを+1してステップS36へ進む。ステップS36において、CPU21は、次式(1)が成立するか否かを判定する。
【数1】
I>N−k (1)
ただし、Iは発行済みライセンス数の計数値であり、Nはライセンス契約で定められたライセンス数(制限値)であり、kは所定値(たとえば、5)である。
【0025】
CPU21は、上式(1)が成立する場合にステップS36を肯定判定してステップS37へ進み、上式(1)が成立しない場合にステップS36を肯定判定してステップS30へ戻る。ステップS36を肯定判定する場合は、発行可能なライセンスの残り数がk(上記の例では5つ)を割った場合である。ステップS36を否定判定する場合は、発行可能なライセンスの残り数がk(上記の例では5つ)以上の場合である。
【0026】
ステップS37において、CPU21は、監視プロセスを起動する。監視プロセスのプログラムは、メモリ22に格納されている。CPU21は、実行許可を送信した(ライセンスを発行した)全てのクライアント10に対してアプリケーション使用中か否かのチェックを指示し、ステップS38へ進む。ステップS38において、CPU21は、各クライアント10でアプリケーションが使用されているか否かを判定する。CPU21は、ライセンス発行済みの全てのクライアント10からアプリケーション使用中を示す情報を受信した場合にステップS38を肯定判定し、ステップS30へ戻る。
【0027】
一方、CPU21は、ライセンス発行済みのクライアント10の少なくとも1つからアプリケーション使用中を示す情報を受信しない場合にステップS38を否定判定し、ステップS39へ進む。ステップS39において、CPU21は、クライアント10からアプリケーション終了通知を受信したか否かを判定する。CPU21は、アプリケーション終了を示す情報を受信するとステップS39を肯定判定してステップS40へ進み、アプリケーション終了を示す情報を受信しない場合はステップS39を否定判定し、判定処理を繰り返す。
【0028】
ステップS40において、CPU21は、アプリケーション終了通知を送信したクライアント10の数に応じて、発行済みライセンス数の計数値Iを−1して図5による処理を終了する。たとえば、ライセンスを発行したクライアント10のうち3つのクライアント10からアプリケーション終了通知を受信した場合にI−3とし、1つのクライアント10からアプリケーション終了通知を受信した場合はI−1とする。
【0029】
以上説明した実施の形態によれば、以下の作用効果が得られる。
(1)サーバ20は、クライアント10にアプリケーションを実行する許可を与える(ライセンス発行する)(ステップS34)だけでなく、クライアント10がアプリケーションを使用中か否かをチェックする(ステップS38)ようにしたので、アプリケーションを実行させた以降に使用されない状態で放置されるクライアント10の存在をつかむ(ステップS38を否定判定)ことができる。
【0030】
(2)クライアント10は、アプリケーションが使用されているか否かをチェックし(ステップS14)、使用されていない場合に警告を行う(ステップS16)。クライアント10はさらに、警告から所定時間を経てもアプリケーションが使用されていない場合(ステップS18を否定判定)にアプリケーションを終了させ(ステップS19〜S21)、アプリケーション終了通知をサーバ20へ送る(ステップS22)。サーバ20は、アプリケーション終了通知の数に応じて発行済みライセンス数の計数値Iを減算する(ステップS40)。この結果、サーバ20は、放置されているクライアント10を含まずに、実際にアプリケーションが使用されているクライアント10の数を管理できるから、契約によるライセンス数Nを有効に利用することができる。
【0031】
(3)クライアント10がアプリケーションを終了させるとき、使用時の動作環境をメモリ12に保存するので、使用者が再びアプリケーションを利用する際には作業を継続して行うことができる。
【0032】
(4)サーバ20は、発行可能なライセンスの残り数がk(上記の例では5つ)を割って残り少なくなると監視プロセスを起動し(ステップS37)、クライアント10は、サーバ20側で監視プロセスが起動されると(ステップS13Aを肯定判定)、上記(2)の警告プロセス(ステップS16)および停止プロセス(ステップS19〜S21)へ進むようにした。この結果、各プロセスを常に起動させる場合に比べて、サーバ20およびクライアント10の処理を軽減させることができる。
【0033】
上述した説明では、アプリケーションが使用されているか否かを判定する際に、CPU11の負荷状況を算出し、算出結果に応じて判定を行った。この代わりに、入力機器14および出力機器15へのアクセス状況に基づいて判定してもよい。この場合には、各機器へのアクセス状況を所定時間ごとにメモリ12に蓄積しておき、最後にアクセスされた日時からアプリケーションの使用中か否かを判定する。たとえば、最後のアクセス日時から1時間が経過している場合にアプリケーションが使用されていないとみなす。
【0034】
クライアント10がサーバ20に演算させるアプリケーションを実行する場合は、クライアント10で当該アプリケーションを使用している間にクライアント10およびサーバ20間でデータの送受が行われる。この場合には、送受されるデータ数が所定値以上か否かでアプリケーションの使用中か否かを判定することもできる。
【0035】
上記の例では、アプリケーションの実行プログラムがクライアント10のメモリ12に格納しておくようにしたが、サーバ20のメモリ22に格納しておいてもよい。
【0036】
上述した説明において、サーバ20が監視プロセスを起動する条件を上式(1)が成立した場合としたが、所定の時刻になったときや、所定時間ごとに起動させるようにしてもよい。
【0038】
【発明の効果】
本発明によるライセンス管理端末、アプリケーション実行端末では、ライセンスを有効利用するための監視を常に行う場合に比べて、監視の処理を軽減できる。
【図面の簡単な説明】
【図1】本発明の一実施の形態によるライセンス管理端末、およびアプリケーション実行端末を用いたライセンス管理システムの構成図である。
【図2】クライアントの構成を説明する図である。
【図3】サーバの構成を説明する図である。
【図4】クライアント用ライセンス管理処理の流れを説明するフローチャートである。
【図5】サーバ用ライセンス管理処理の流れを説明するフローチャートである。
【符号の説明】
10(10A〜10F)…クライアント、
11,21…CPU、 12,22…メモリ、
20…サーバ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a license management terminal that performs license management of an application, and an application execution terminal.
[0002]
[Prior art]
There is known a license management system that manages application usage rights so that an application execution terminal (client terminal) that receives license information issued from a license management terminal (management server) uses the application (for example, see Japanese Patent Application Laid-Open (JP-A)). 2001-142689). The management server issues license information to the client terminal that has requested the license information, and permits the client terminal to use the application. The management server manages the number of license information issued, and prohibits subsequent issuance when the number reaches the limit value.
[0003]
[Problems to be solved by the invention]
In the management server described above, when there is an application execution terminal that is not used while the application is activated, it is not possible to distinguish between an application execution terminal that is being used and an application execution terminal that is not being used. For this reason, when the number of license information issued reaches the limit value, even if there is a terminal that is not used while the application is activated, the license information cannot be issued to a terminal that has newly obtained license information.
[0005]
[Means for Solving the Problems]
(1) A license management terminal according to the present invention includes a license information issuing unit that issues license information that permits application activation in response to an issuance request transmitted from an application execution terminal, and the number of license information issued by the license information issuing unit. A counting means for counting the license information, a prohibiting means for instructing the license information issuing means to prohibit the issuance when the count number by the counting means reaches a limit value, and if the difference between the count number and the limit value is less than a predetermined number, When the monitoring means starts monitoring whether or not the application is being executed on the issued application execution terminal and the monitoring means obtains information indicating that the application is not being executed at the application execution terminal, the count number is subtracted from the count means. Subtracting instruction means for instructing And wherein the door.
[0006]
(2) An application execution terminal according to the present invention receives license information request means for sending a license information issuance request for starting an application to the license management terminal in response to an application starting operation, and license information issued by the license management terminal. Application launching means for launching an application, and if the difference between the license limit value and the number of issued licenses is less than a predetermined number, a command sent from the license management terminal is received to determine whether the launched application is being executed A determination unit that performs a predetermined warning when the determination unit determines that the non-execution is being performed, and an application end unit that terminates the application when the determination unit determines that the non-execution is being performed after the warning, and the determination unit executes If it is judged as medium, go to the license management terminal Sends information indicating that the application running, determining means, characterized in that it comprises a determination information sending means for sending information indicating that the application is not executed to the license management terminal when it is determined in a non-running after warning.
(3) In the application execution terminal according to claim 2, the warning may be a notice that the application is to be terminated.
(4) The application execution terminal according to claim 3 may further include a time measuring unit that starts measuring a predetermined time when the determination unit determines that the non-execution is being performed. In this case, the application ending unit terminates the application when the determination unit determines that the non-execution is in progress after the predetermined time is measured by the time measuring unit, and the determination information sending unit measures the predetermined time by the time measuring unit. If the determination means determines that the application is being executed after that, information indicating that the application is being executed is sent to the license management terminal. If the determination means determines that the application is not being executed after a predetermined time has been counted by the time measurement means, the license management terminal It is preferable to send information indicating that the application is not being executed.
[0007]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a configuration diagram of a license management system using a license management terminal and an application execution terminal according to an embodiment of the present invention. In FIG. 1, a license management system includes a plurality of terminals (hereinafter referred to as clients) 10A to 10F that execute applications and license management terminals (hereinafter referred to as servers) 20 that perform license management of applications. Are connected to each other. The network may be a wired connection or a wireless connection.
[0008]
FIG. 2 is a diagram illustrating the configuration of the client 10 (10A to 10F). The client 10 includes a CPU 11, a memory 12, an I / O port 13, an input device 14, and an output device 15, which are connected to each other via a system bus 16. The memory 12 includes data storage media such as RAM, ROM, and hard disk drive. The input device 14 includes a keyboard, a pointing device, a data reading device, and the like. The output device 15 includes a display device, a playback device such as a speaker, and a printer.
[0009]
The memory 12 stores programs such as an OS (Operating System), client license management software, and application software. Of the application software, usage restrictions are given to the applications that are subject to license management. The use restriction is to limit the number of clients that use the application at the same time to the number determined by the license agreement or less. When executing the license management target application, the client 10 receives the permission from the server 20, reads the program from the memory 12 as necessary, and executes the program on the CPU 11. When the client 10 executes a non-target application for license management, the client 10 reads the program from the memory 12 and executes it on the CPU 11 as necessary.
[0010]
FIG. 3 is a diagram for explaining the configuration of the server 20. The server 20 includes a CPU 21, a memory 22, an I / O port 23, an input device 24, and an output device 25, which are connected to each other via a system bus 26. The memory 22 includes data storage media such as RAM, ROM, and hard disk drive. The input device 24 includes a keyboard, a pointing device, a data reading device, and the like. The output device 25 is configured by a display device, a printer, or the like.
[0011]
The memory 22 stores an OS and a server license management software program for managing licenses of applications executed on the client 10. The server 20 reads out the management program from the memory 22 and executes it by the CPU 21, thereby managing the license of the application. The memory 22 may store a program for executing other applications in addition to license management.
[0012]
The memory 22 further stores contract information related to the application for license management. The server 20 performs license management for the application corresponding to the contract information. The contract information includes an application name for each license contract, an expiration date, the number of licenses N, and the like. The expiration date is a period during which use of the application is permitted by the license agreement. The number of licenses N is the number of clients (limit value) that are permitted to use the application at the same time according to the license agreement.
[0013]
In the license management system according to the present embodiment, the server 20 gives the client 10 permission to execute an application to be licensed, and monitors whether the client 10 is actually using the application. Is.
[0014]
FIG. 4 is a flowchart for explaining the flow of the client license management process performed by the CPU 11 of the client 10. The program for executing the processing shown in FIG. 4 is started when a starting operation is performed by an operator on the client side. In step S10 in FIG. 4, the CPU 11 determines whether or not there is a request for starting an application to be licensed. The CPU 11 makes a positive determination in step S10 when the activation operation of the application is performed, and proceeds to step S11. If the activation operation of the application is not performed, the CPU 11 makes a negative determination in step S10, and performs the determination process of step S10. repeat.
[0015]
In step S11, the CPU 11 transmits information indicating a license issuance request to the server 20, and proceeds to step S12. In step S12, the CPU 11 determines whether or not the execution of the application is permitted. The CPU 11 makes an affirmative decision in step S12 when information indicating execution permission is received from the server 20 and proceeds to step S13, and makes a negative determination in step S12 when information indicating execution impossibility is received from the server 20. FIG. The process by is terminated.
[0016]
In step S <b> 13, the CPU 11 reads the application software program from the memory 12 and executes it. When starting to use the application, the CPU 11 proceeds to step S13A. In step S <b> 13 </ b> A, the CPU 11 determines whether or not the monitoring process has been activated on the server 20. When the CPU 11 receives an instruction to check whether or not the application is being used from the server 20, the CPU 11 makes an affirmative determination in step S13A and proceeds to step S14. If the CPU 11 does not receive an instruction to check whether or not the application is being used from the server 20, the CPU 11 makes a negative determination in step S13A and repeats the determination process.
[0017]
In step S14, the CPU 11 determines whether an application is being used. The CPU 11 calculates the load status of the CPU 11 from the number of processing instructions per predetermined time, the number of memory accesses, and the like. If the load status is equal to or greater than the predetermined value, an affirmative determination is made in step S14 and the process proceeds to step S15. On the other hand, if the load status is less than the predetermined value, the CPU 11 makes a negative determination in step S14 and proceeds to step S16.
[0018]
If the CPU 11 makes a positive determination in step S14, the CPU 11 considers that the application is being used. In step S15, the CPU 11 transmits information indicating that the application is being used to the server 20, and returns to step S14. If the CPU 11 makes a negative determination in step S14, the CPU 11 considers that the application is not being used. In step S16, the CPU 11 activates the warning process and proceeds to step S18 when a predetermined time has elapsed since the activation of the warning process. In the warning process, for example, a warning content “Exiting the application” is displayed in a pop-up on the screen of the display device, or the warning content is reproduced by sound from a speaker. The warning process program is stored in the memory 12.
[0019]
In step S18, the CPU 11 determines again whether or not the application is being used. The CPU 11 calculates the load status of the CPU 11 in the same manner as in step S14. If the load status is equal to or greater than the predetermined value, the CPU 11 makes an affirmative determination in step S18 and proceeds to step S17. If the load status is less than the predetermined value, the CPU 11 denies step S18. Determine and proceed to step S19. In step S17, the CPU 11 transmits information indicating that the application is being used to the server 20, and returns to step S14. In step S19, the CPU 11 starts a stop process and proceeds to step S20. The stop process program is stored in the memory 12.
[0020]
In step S20, the CPU 11 saves the file used in the application in the memory 12, and saves the set operating environment such as various data and flags in the memory 12, and proceeds to step S21. In step S21, the CPU 11 ends the application and proceeds to step S22. In step S22, the CPU 11 transmits an application end notification to the server 20, and ends the processing of FIG.
[0021]
FIG. 5 is a flowchart for explaining the flow of the server license management process performed by the CPU 21 of the server 20. The program for executing the processing in FIG. 5 is started when a start operation is performed by an operator on the server side. In step S30 in FIG. 5, the CPU 21 determines whether or not there is a license issue request. When receiving information indicating a license issuance request from the client 10, the CPU 21 makes a positive determination in step S30 and proceeds to step S31. When no information indicating the license issuance request is received from the client 10, the CPU 21 makes a negative determination in step S30. The determination process in step S20 is repeated.
[0022]
In step S31, the CPU 21 reads the contract information from the memory 22 and proceeds to step S32. In step S32, the CPU 21 determines whether or not the application can be executed. If the expiration date or the number of issued licenses matches the contract information, the CPU 21 makes an affirmative decision in step S32 and proceeds to step S34, where the expiration date has passed or the number of issued licenses has reached the number of licenses N indicated by the contract information. If it has reached, a negative determination is made in step S32 and the process proceeds to step S33.
[0023]
In step S33, the CPU 21 transmits information indicating that execution is impossible to the client 10 that has transmitted the license issuance request, and the process returns to step S30.
[0024]
In step S34, the CPU 21 transmits information indicating execution permission (license issuance) to the client 10 that has transmitted the license issuance request, and proceeds to step S35. In step S35, the CPU 21 increments the count value I of the number of issued licenses by 1, and proceeds to step S36. In step S36, the CPU 21 determines whether or not the following expression (1) is satisfied.
[Expression 1]
I> N−k (1)
Here, I is a count value of the number of issued licenses, N is the number of licenses (limit value) defined in the license agreement, and k is a predetermined value (for example, 5).
[0025]
When the above equation (1) is established, the CPU 21 makes an affirmative decision in step S36 and proceeds to step S37. When the above equation (1) is not established, the CPU 21 affirms the determination in step S36 and returns to step S30. When the determination in step S36 is affirmative, the remaining number of licenses that can be issued is divided by k (five in the above example). The negative determination in step S36 is a case where the remaining number of licenses that can be issued is k (five in the above example) or more.
[0026]
In step S37, the CPU 21 starts a monitoring process. The monitoring process program is stored in the memory 22. The CPU 21 instructs all the clients 10 that have transmitted the execution permission (issued the license) to check whether or not the application is being used, and proceeds to step S38. In step S <b> 38, the CPU 21 determines whether an application is being used in each client 10. When the CPU 21 receives information indicating that the application is being used from all the license-issued clients 10, the CPU 21 makes a positive determination in step S38 and returns to step S30.
[0027]
On the other hand, when the CPU 21 does not receive information indicating that the application is being used from at least one of the license-issued clients 10, the CPU 21 makes a negative determination in step S38 and proceeds to step S39. In step S <b> 39, the CPU 21 determines whether an application end notification has been received from the client 10. When the CPU 21 receives the information indicating the end of the application, the CPU 21 makes a positive determination in step S39 and proceeds to step S40. When the information indicating the end of the application is not received, the CPU 21 makes a negative determination in step S39 and repeats the determination process.
[0028]
In step S40, the CPU 21 decrements the count value I of the number of issued licenses by 1 in accordance with the number of clients 10 that have transmitted the application end notification, and ends the processing in FIG. For example, I-3 is set when an application end notification is received from three of the clients 10 that have issued licenses, and I-1 is set when an application end notification is received from one client 10.
[0029]
According to the embodiment described above, the following effects can be obtained.
(1) The server 20 not only gives the client 10 permission to execute the application (issues a license) (step S34), but also checks whether the client 10 is using the application (step S38). Therefore, it is possible to grasp the existence of the client 10 that is left unused in a state where it is not used after the application is executed (determination of step S38 is negative).
[0030]
(2) The client 10 checks whether or not the application is used (step S14), and gives a warning if it is not used (step S16). The client 10 further terminates the application (step S19 to S21) when the application is not used even after a predetermined time has passed from the warning (No at step S18), and sends an application termination notification to the server 20 (step S22). . The server 20 subtracts the count value I of the number of issued licenses according to the number of application end notifications (step S40). As a result, the server 20 can manage the number of clients 10 in which applications are actually used without including the abandoned clients 10, so that the number of licenses N by contract can be used effectively.
[0031]
(3) When the client 10 terminates the application, the operating environment at the time of use is stored in the memory 12, so that when the user uses the application again, the work can be continued.
[0032]
(4) The server 20 starts a monitoring process when the remaining number of licenses that can be issued is divided by k (five in the above example) and decreases (step S37), and the client 10 executes the monitoring process on the server 20 side. When activated (Yes in step S13A), the process proceeds to the warning process (step S16) and the stop process (steps S19 to S21) described in (2) above. As a result, the processing of the server 20 and the client 10 can be reduced as compared with the case where each process is always started.
[0033]
In the above description, when determining whether or not an application is being used, the load status of the CPU 11 is calculated, and the determination is made according to the calculation result. Instead, the determination may be made based on the access status to the input device 14 and the output device 15. In this case, the access status to each device is stored in the memory 12 every predetermined time, and it is determined whether or not the application is in use from the date and time of the last access. For example, when one hour has passed since the last access date / time, it is considered that the application is not being used.
[0034]
When the client 10 executes an application to be calculated by the server 20, data is transmitted and received between the client 10 and the server 20 while the client 10 is using the application. In this case, whether or not the application is in use can be determined based on whether or not the number of data to be transmitted and received is equal to or greater than a predetermined value.
[0035]
In the above example, the application execution program is stored in the memory 12 of the client 10, but may be stored in the memory 22 of the server 20.
[0036]
In the above description, the condition that the server 20 activates the monitoring process is the case where the above expression (1) is satisfied. However, the condition may be activated at a predetermined time or every predetermined time.
[0038]
【The invention's effect】
In the license management terminal and the application execution terminal according to the present invention, the monitoring process can be reduced as compared with the case where the monitoring for effectively using the license is always performed.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a license management system using a license management terminal and an application execution terminal according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a configuration of a client.
FIG. 3 is a diagram illustrating a configuration of a server.
FIG. 4 is a flowchart for explaining a flow of client license management processing;
FIG. 5 is a flowchart for explaining the flow of server license management processing;
[Explanation of symbols]
10 (10A-10F) ... client,
11, 21 ... CPU, 12, 22 ... memory,
20 ... Server

Claims (4)

アプリケーション実行端末から送信された発行要求に応じてアプリケーション起動を許可するライセンス情報を発行するライセンス情報発行手段と、
前記ライセンス情報発行手段が発行した前記ライセンス情報の数をカウントするカウント手段と、
前記カウント手段によるカウント数が制限値になると前記ライセンス情報発行手段に発行禁止を指示する禁止手段と、
前記カウント数と前記制限値との差が所定数より少ない場合に、前記ライセンス情報の発行を受けたアプリケーション実行端末で前記アプリケーションを実行中か否かの監視を始める監視手段と、
前記アプリケーション実行端末においてアプリケーション非実行中を示す情報が前記監視手段で得られた場合、前記カウント手段へ前記カウント数の減算を指示する減算指示手段とを備えることを特徴とするライセンス管理端末。
A license information issuing means for issuing license information that permits application activation in response to an issue request transmitted from the application execution terminal;
Counting means for counting the number of the license information issued by the license information issuing means;
Prohibiting means for instructing the license information issuing means to prohibit issuing when the count number by the counting means reaches a limit value;
Monitoring means for starting monitoring whether or not the application is being executed on the application execution terminal that has issued the license information when the difference between the count number and the limit value is less than a predetermined number;
A license management terminal comprising: a subtracting instruction unit that instructs the counting unit to subtract the count number when the monitoring unit obtains information indicating that the application is not being executed in the application execution terminal.
アプリケーション起動操作に応じてアプリケーション起動のためのライセンス情報の発行要求をライセンス管理端末へ送るライセンス情報要求手段と、
前記ライセンス管理端末が発行した前記ライセンス情報を受けて前記アプリケーションを起動するアプリケーション起動手段と、
ライセンス制限値と発行済みライセンス数との差が所定数より少ない場合に前記ライセンス管理端末から送信される指令を受けて、前記起動したアプリケーションを実行中か否かを判定する判定手段と、
前記判定手段が非実行中を判定した場合に所定の警告を行い、当該警告後も前記判定手段が前記非実行中を判定した場合に前記アプリケーションを終了させるアプリケーション終了手段と、
前記判定手段が実行中を判定した場合に前記ライセンス管理端末へ前記アプリケーション実行中を示す情報を送り、前記判定手段前記警告後に前記非実行中を判定した場合に前記ライセンス管理端末へ前記アプリケーション非実行中を示す情報を送る判定情報送出手段とを備えることを特徴とするアプリケーション実行端末。
A license information requesting means for sending a license information issuance request for starting the application to the license management terminal in response to the application starting operation;
Application starting means for starting the application in response to the license information issued by the license management terminal ;
A determination unit that receives a command transmitted from the license management terminal when a difference between the license limit value and the number of issued licenses is smaller than a predetermined number, and determines whether the activated application is being executed ;
An application ending unit that performs a predetermined warning when the determination unit determines that the non-execution is being performed, and terminates the application when the determination unit determines the non-execution even after the warning;
When the determination means determines that the application is being executed, information indicating that the application is being executed is sent to the license management terminal. When the determination means determines that the application is not being executed after the warning, the application is sent to the license management terminal. An application execution terminal comprising: determination information sending means for sending information indicating non-execution .
請求項2に記載のアプリケーション実行端末において、
前記警告は前記アプリケーションを終了させることを予告するものであることを特徴とするアプリケーション実行端末。
In the application execution terminal according to claim 2 ,
2. The application execution terminal according to claim 1, wherein the warning is for notifying the termination of the application.
請求項3に記載のアプリケーション実行端末において、
前記判定手段が前記非実行中を判定した場合に所定時間の計時を開始する計時手段をさらに備え、
前記アプリケーション終了手段は、前記計時手段により前記所定時間が計時された以降に前記判定手段が前記非実行中を判定した場合に前記アプリケーションを終了させ、
前記判定情報送出手段は、前記計時手段により前記所定時間が計時された以降に前記判定手段が前記実行中を判定した場合に前記ライセンス管理端末へ前記アプリケーション実行中を示す情報を送り、前記計時手段により前記所定時間が計時された以降に前記判定手段が前記非実行中を判定した場合に前記ライセンス管理端末へ前記アプリケーション非実行中を示す情報を送ることを特徴とするアプリケーション実行端末。
In the application execution terminal according to claim 3 ,
A timing unit that starts counting a predetermined time when the determination unit determines that the non-execution is in progress ;
The application ending unit terminates the application when the determination unit determines that the non-execution is in progress after the predetermined time is measured by the timing unit,
The determination information sending means sends information indicating that the application is being executed to the license management terminal when the determination means determines that the execution is in progress after the predetermined time is measured by the time measurement means, and the time measurement means An application execution terminal that sends information indicating that the application is not being executed to the license management terminal when the determination unit determines that the non-execution is being executed after the predetermined time has been counted by the above.
JP2002212043A 2002-07-22 2002-07-22 License management terminal and application execution terminal Expired - Fee Related JP4052049B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002212043A JP4052049B2 (en) 2002-07-22 2002-07-22 License management terminal and application execution terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002212043A JP4052049B2 (en) 2002-07-22 2002-07-22 License management terminal and application execution terminal

Publications (2)

Publication Number Publication Date
JP2004054659A JP2004054659A (en) 2004-02-19
JP4052049B2 true JP4052049B2 (en) 2008-02-27

Family

ID=31935082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002212043A Expired - Fee Related JP4052049B2 (en) 2002-07-22 2002-07-22 License management terminal and application execution terminal

Country Status (1)

Country Link
JP (1) JP4052049B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5135750B2 (en) * 2006-09-29 2013-02-06 富士通株式会社 Grid system, grid scheduling program and method
CN100449562C (en) * 2006-09-30 2009-01-07 华为技术有限公司 A license control method and device
JP4987431B2 (en) * 2006-11-08 2012-07-25 株式会社リコー Software license operation management apparatus and software license operation management method

Also Published As

Publication number Publication date
JP2004054659A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
CN100478828C (en) Method and system for single reactivation of software product licenses
US8566960B2 (en) System and method for adjustable licensing of digital products
US8387109B2 (en) Access control state determination based on security policy and secondary access control state
JP4145190B2 (en) Mobile terminal and management server
JP2014505931A (en) Virtual application licensing and metering
US20090320145A1 (en) Apparatus, method, and computer program for controlling use of a content
CN1756192B (en) Method and system for managing terminal services accounts and sessions
JP4753217B2 (en) License management method and content processing system
US20150142664A1 (en) Planning Assignment of Software Licenses
CN101292248A (en) Enter special PC mode after detecting undesired state
MX2008016351A (en) Independent computation environment and provisioning of computing device functionality.
JP2008521089A (en) Special PC mode to enter when an undesirable condition is detected
CN101573701A (en) Component supporting prepaid devices
CN113841131B (en) System for providing limited-use runtime application control in a microcontroller
JP4052049B2 (en) License management terminal and application execution terminal
JP5029460B2 (en) Information processing apparatus, information processing system, and computer program
KR20090000143A (en) Apparatus and method for managing digital contents
US7818625B2 (en) Techniques for performing memory diagnostics
JP6030497B2 (en) GAME SYSTEM, PLAY CONTROL METHOD, AND COMPUTER PROGRAM USED FOR THEM
CN101595706B (en) Playback device with conditional playback
CN117411658A (en) Authentication methods, devices, storage media and electronic equipment
JP2005251070A (en) License management system and license management method
CN114860481A (en) Clipboard protection method, clipboard protection system, storage medium and computer equipment
CN114676447B (en) File access control method, device, equipment and medium
CN116996745A (en) Multimedia playback control method, system, electronic device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070720

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: 20071113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071126

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4052049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees