(57)【要約】【課題】アプリケーションを使用する際に必要なライセンスの管理を容易に行う。【解決手段】ライセンスサーバ３は、クライアントＰＣ４からのライセンス発行要求を受けると、データベース１０に格納されたライセンスプール１１を参照し、通常ライセンスの空きがあるか否かが判断される。通常ライセンスの空きがあると判断された場合には、ライセンスプール１１の値から１だけ減じた値がライセンスプール１１に格納され、ライセンスプール１１が更新される。そして、通常ライセンスが発行され、クライアントＰＣ４に対して送信される。一方、通常ライセンスの空きがないと判断された場合には、オーバードラフトカウンタ１２の値を１加えた値がオーバードラフトカウンタ１２に格納され、オーバードラフトカウンタ１２が更新される。そして、超過ライセンスが発行され、クライアントＰＣ４に対して送信される。【選択図】図７
2010086461.tif 000002
【特許請求の範囲】
【請求項１】
ライセンスを用いて動作するアプリケーションを搭載した外部の機器からの要求に応じてライセンスを発行するライセンス管理手段と、
保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および上記通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースと、
上記外部の機器に対して発行された上記ライセンスを送信する送信手段と
を有し、
上記ライセンス管理手段は、
上記外部の機器からライセンスの発行要求を受けた際に、上記通常ライセンス情報を参照して上記通常ライセンスの空きがあるか否かを判定し、
上記通常ライセンスの空きがあると判定された場合には、上記通常ライセンス情報の値を１だけ減じた値に更新するとともに、上記送信手段を介して上記外部の機器に対して上記通常ライセンスを発行し、
上記通常ライセンスの空きがないと判定された場合には、上記超過ライセンス情報の値を１だけ加算した値に更新するとともに、上記送信手段を介して上記外部の機器に対して上記超過ライセンスを発行するライセンス管理装置。
【請求項２】
上記データベースは、
所定時間毎の上記超過ライセンス情報の値の履歴を示す超過履歴情報をさらに格納し、
上記ライセンス管理手段は、
上記所定時間毎に上記超過ライセンス情報を参照し、上記超過ライセンス情報の値が１以上である場合に、上記超過履歴情報に対して現在の超過ライセンス情報の値を追記し、
上記超過履歴情報の値の総和に基づき上記超過ライセンスの使用による累積時間を算出する請求項１に記載のライセンス管理装置。
【請求項３】
上記ライセンス管理手段は、
通常ライセンスが追加された際に、上記超過履歴情報に記録された全ての値から上記追加された通常ライセンスの数を減算して該超過履歴情報を更新する請求項２に記載のライセンス管理装置。
【請求項４】
上記ライセンス管理手段は、
上記通常ライセンスが追加された際に、上記通常ライセンス情報の最大値に上記追加された通常ライセンスの数を加算して該通常ライセンス情報をさらに更新する請求項３に記載のライセンス管理装置。
【請求項５】
上記ライセンス管理手段は、
上記超過履歴情報の値の総和に基づき算出された上記累積時間が予め設定された閾値を超えた場合に、上記超過ライセンスの発行を停止する請求項２に記載のライセンス管理装置。
【請求項６】
上記ライセンス管理手段は、
上記外部の機器からライセンスの発行要求を受け、上記通常ライセンスの空きがないと判定された場合に、算出された上記累積時間を示す情報を上記送信手段を介して上記外部の機器に対して送信する請求項２に記載のライセンス管理装置。
【請求項７】
上記ライセンス管理手段は、
上記外部の機器からライセンスの返却要求を受けた際に、上記超過ライセンス情報を参照して上記超過ライセンスが発行されているか否かを判定し、
上記超過ライセンスが発行されていると判定された場合には、上記超過ライセンス情報の値を１だけ減じた値に更新し、
上記超過ライセンスが発行されていないと判定された場合には、上記通常ライセンス情報の値を１だけ加算した値に更新し、
上記外部の機器に対してライセンスの返却処理が完了したことを通知する請求項１に記載のライセンス管理装置。
【請求項８】
保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および上記通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースを参照し、ライセンスを用いて動作するアプリケーションを搭載した外部の機器からの要求に応じてライセンスを発行するライセンス管理ステップと、
上記外部の機器に対して発行された上記ライセンスを送信する送信ステップと
を有し、
上記ライセンス管理ステップは、
上記外部の機器からライセンスの発行要求を受けた際に、上記通常ライセンス情報を参照して上記通常ライセンスの空きがあるか否かを判定し、
上記通常ライセンスの空きがあると判定された場合には、上記通常ライセンス情報の値を１だけ減じた値に更新するとともに、上記外部の機器に対して上記通常ライセンスを発行し、
上記通常ライセンスの空きがないと判定された場合には、上記超過ライセンス情報の値を１だけ加算した値に更新するとともに、上記外部の機器に対して上記超過ライセンスを発行するライセンス管理方法。
【請求項９】
搭載されたアプリケーションを使用する際に必要なライセンスの発行を要求する手段と、
上記ライセンスの発行要求を送信する第１の送信手段と
を有する機器と、
上記機器からの要求に応じてライセンスを発行するライセンス管理手段と、
保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および上記通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースと、
上記機器に対して発行された上記ライセンスを送信する第２の送信手段と
を有するライセンス管理装置と
を備え、
上記ライセンス管理手段は、
上記機器からライセンスの発行要求を受けた際に、上記通常ライセンス情報を参照して上記通常ライセンスの空きがあるか否かを判定し、
上記通常ライセンスの空きがあると判定された場合には、上記通常ライセンス情報の値を１だけ減じた値に更新するとともに、上記第２の送信手段を介して上記機器に対して上記通常ライセンスを発行し、
上記通常ライセンスの空きがないと判定された場合には、上記超過ライセンス情報の値を１だけ加算した値に更新するとともに、上記第２の送信手段を介して上記機器に対して上記超過ライセンスを発行するライセンス管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、アプリケーションを使用する際に必要となるライセンスを管理するライセンス管理装置およびライセンス管理方法、ならびに、ライセンス管理システムに関する。
【背景技術】
【０００２】
従来から、会社や学校などにおいて複数のユーザが同一のアプリケーションを使用する場合に、ユーザに対してアプリケーションを提供する方式として従量課金方式やライセンス購入方式が用いられている。
【０００３】
従量課金方式では、アプリケーションを使用するユーザの数を制限せず、アプリケーションを使用した数や期間に対して課金される。そのため、ユーザは、必要なときに必要なだけアプリケーションを使用することができる。一方、ライセンス購入方式では、必要な数のライセンスを事前に購入し、購入したライセンス数の範囲であれば、どれだけ使用しても一定の料金で使用することができる。
【０００４】
しかしながら、従量課金方式では、アプリケーションの使用量に対して課金されるため、アプリケーションの使用量が多い場合には、ライセンス購入方式と比較して使用料金が高額となってしまうおそれがある。また、課金される料金が不確定であるため、財務上の処理に手間がかかるという問題点があった。
【０００５】
一方、ライセンス購入方式では、購入したライセンス数を超過した場合に、アプリケーションの機能が制限されてしまったり、アプリケーション自体が使用できないという問題点があった。この問題を解決する方法として、ライセンス数の超過に対して従量課金方式を適用する方式が考えられる。下記の特許文献１には、このような方式を用いたソフトウェアライセンス管理システムが記載されている。
【０００６】
【特許文献１】特表２００６−５１７６９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述の特許文献１に記載された方式の場合においても、従量課金方式と同様に、アプリケーションの使用料金が高額となったり、課金される料金が不確定であるために財務上の処理に手間がかかってしまうという問題点があった。
【０００８】
したがって、この発明の目的は、上述したような手間がかかることなく、アプリケーションを使用する際に必要なライセンスの管理が容易であるライセンス管理装置およびライセンス管理方法、ならびに、ライセンス管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、第１の発明は、ライセンスを用いて動作するアプリケーションを搭載した外部の機器からの要求に応じてライセンスを発行するライセンス管理手段と、
保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースと、
外部の機器に対して発行されたライセンスを送信する送信手段と
を有し、
ライセンス管理手段は、
外部の機器からライセンスの発行要求を受けた際に、通常ライセンス情報を参照して通常ライセンスの空きがあるか否かを判定し、
通常ライセンスの空きがあると判定された場合には、通常ライセンス情報の値を１だけ減じた値に更新するとともに、送信手段を介して外部の機器に対して通常ライセンスを発行し、
通常ライセンスの空きがないと判定された場合には、超過ライセンス情報の値を１だけ加算した値に更新するとともに、送信手段を介して外部の機器に対して超過ライセンスを発行するライセンス管理装置である。
【００１０】
また、第２の発明は、保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースを参照し、ライセンスを用いて動作するアプリケーションを搭載した外部の機器からの要求に応じてライセンスを発行するライセンス管理ステップと、
外部の機器に対して発行されたライセンスを送信する送信ステップと
を有し、
ライセンス管理ステップは、
外部の機器からライセンスの発行要求を受けた際に、通常ライセンス情報を参照して通常ライセンスの空きがあるか否かを判定し、
通常ライセンスの空きがあると判定された場合には、通常ライセンス情報の値を１だけ減じた値に更新するとともに、外部の機器に対して通常ライセンスを発行し、
通常ライセンスの空きがないと判定された場合には、超過ライセンス情報の値を１だけ加算した値に更新するとともに、外部の機器に対して超過ライセンスを発行するライセンス管理方法である。
【００１１】
また、第３の発明は、搭載されたアプリケーションを使用する際に必要なライセンスの発行を要求する手段と、
ライセンスの発行要求を送信する第１の送信手段と
を有する機器と、
機器からの要求に応じてライセンスを発行するライセンス管理手段と、
保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースと、
機器に対して発行されたライセンスを送信する第２の送信手段と
を有するライセンス管理装置と
を備え、
ライセンス管理手段は、
機器からライセンスの発行要求を受けた際に、通常ライセンス情報を参照して通常ライセンスの空きがあるか否かを判定し、
通常ライセンスの空きがあると判定された場合には、通常ライセンス情報の値を１だけ減じた値に更新するとともに、第２の送信手段を介して機器に対して通常ライセンスを発行し、
通常ライセンスの空きがないと判定された場合には、超過ライセンス情報の値を１だけ加算した値に更新するとともに、第２の送信手段を介して機器に対して超過ライセンスを発行するライセンス管理システムである。
【００１２】
上述したように、第１、第２および第３の発明では、保有する通常ライセンス数を最大値とし、発行されていない残りの通常ライセンスの数を示す通常ライセンス情報および通常ライセンスの空きがない場合に発行される超過ライセンスの数を示す超過ライセンス情報を格納するデータベースを参照し、ライセンスを用いて動作するアプリケーションを搭載した外部の機器からの要求に応じてライセンスを発行し、外部の機器に対して発行されたライセンスを送信し、外部の機器からライセンスの発行要求を受けた際に、通常ライセンス情報を参照して通常ライセンスの空きがあるか否かを判定し、通常ライセンスの空きがあると判定された場合には、通常ライセンス情報の値を１だけ減じた値に更新するとともに、外部の機器に対して通常ライセンスを発行し、通常ライセンスの空きがないと判定された場合には、超過ライセンス情報の値を１だけ加算した値に更新するとともに、外部の機器に対して超過ライセンスを発行するようにしているため、通常ライセンスの空きがない場合であっても、ライセンスを発行することができる。
【発明の効果】
【００１３】
この発明は、外部の機器からライセンスの発行要求を受けた際に、通常ライセンスの空きがない場合には、超過ライセンスを発行するようにしているため、事前に購入した通常ライセンス数を超えてアプリケーションを使用することができるという効果がある。
【００１４】
また、この発明は、超過ライセンス使用による累積時間を所定時間毎に算出している。そして、算出された累積時間が予め設定された閾値を超えた場合には、超過ライセンスの発行を停止するとともに、アプリケーションの機能制限やアプリケーション自体の使用停止などのペナルティを行うようにしている。そのため、超過ライセンスを用いた「悪意による使用」を防止することができるという効果がある。
【発明を実施するための最良の形態】
【００１５】
以下、この発明の実施の一形態について、図面を参照しながら説明する。この発明の実施の一形態では、事前に購入したライセンスが全て発行されている状態で、新たにライセンスの発行要求がなされた場合に、事前に購入したライセンスを超えて予め設定された所定時間まで使用可能なライセンスを発行する。
【００１６】
図１は、この発明の実施の一形態に適用可能なライセンス管理システム１の一例の構成を示す。ライセンス管理システム１は、ライセンスマネジメントサーバ３およびクライアントＰＣ（Personal Computer）４，４，・・・を備え、ＬＡＮ（Local Area Network）等のネットワーク２で互いに接続される。ここでは、一例として３台のクライアントＰＣ４が接続されている様子を示すが、これに限られず、任意の数のクライアントＰＣ４を接続することができる。
【００１７】
クライアントＰＣ４は、ライセンスの管理対象となるアプリケーションが搭載されている。アプリケーションを使用する際には、後述するライセンスマネジメントサーバ３から発行される、アプリケーションの利用許可を示すライセンスが必要である。そのため、クライアントＰＣ４は、図示しない送信手段を用い、後述するネットワーク２を介してライセンスマネジメントサーバ３に対してライセンスの発行要求を行う。また、アプリケーションの使用を終了した場合、クライアントＰＣ４は、送信手段を用い、ネットワーク２を介してライセンスマネジメントサーバ３に対してライセンスの返却要求を行う。そして、ライセンスマネジメントサーバ３との間で、ライセンスの発行／返却要求に応じたライセンスの授受を行う。
【００１８】
ライセンスマネジメントサーバ３（以下、ライセンスサーバ３と適宜称する）は、クライアントＰＣ４に搭載されたアプリケーションのライセンス管理を行い、ネットワーク２を介してクライアントＰＣ４からの要求に応じたライセンス発行処理や返却処理を行う。ライセンスサーバ３には、データベース１０が接続されている。データベース１０には、ライセンスの発行に関する各種情報が格納されている。この発明の実施の一形態では、ライセンスの発行に関する情報として、ライセンスプール１１、オーバードラフトカウンタ１２およびオーバードラフトヒストリ１３が格納されている。
【００１９】
ライセンスプール１１は、事前に購入したライセンスの数を最大値とした、空きライセンス数を示す値である。ライセンスサーバ３によって事前に購入したライセンスが発行されることにより、ライセンスプール１１に格納された値が更新される。オーバードラフトカウンタ１２は、事前に購入したライセンス数を超えて発行されたライセンス数を示す値である。ライセンスサーバ３によって事前に購入したライセンス数を超えてライセンスが発行されることにより、オーバードラフトカウンタ１２に格納された値が更新される。オーバードラフトヒストリ１３は、オーバードラフトカウンタ１２の履歴であり、事前に購入したライセンス数を超えて発行されたライセンスの履歴が記録されている。
【００２０】
ネットワーク２は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などの所定のプロトコルを用い、接続された機器間での通信を行う。
【００２１】
この発明の実施の一形態によるライセンス管理方法について説明する。上述したように、この発明の実施の一形態では、クライアントＰＣ４においてアプリケーションを使用する際に、ライセンスが必要となる。このライセンスは、ライセンスサーバ３により管理されており、ライセンスに関する情報がデータベース１０に格納されている。クライアントＰＣ４においてアプリケーションを使用する場合には、クライアントＰＣ４からライセンスサーバ３に対してライセンスの発行要求を行う。ライセンスサーバ３は、クライアントＰＣ４からのライセンス発行要求に応じてライセンスを発行する。
【００２２】
ここで、ライセンスサーバ３によって管理されたライセンスが全て発行された状態で、さらにライセンスの発行要求が行われた場合について考える。このような場合、従来のライセンス管理方法では、ライセンスを発行することができないが、この発明の実施の一形態では、事前に購入したライセンス数を超えてアプリケーションを使用することができるように、ライセンスをさらに発行する。
【００２３】
ライセンスサーバ３によって発行されるライセンスとしては、事前に購入したライセンスである「通常ライセンス」と、通常ライセンスが全て発行されている場合にさらに発行される「超過ライセンス」との２種類のライセンスがある。ライセンスサーバ３は、クライアントＰＣ４からライセンスの発行要求を受けると、データベース１０に格納されたライセンスプール１１の値を参照する。そして、ライセンスプール１１の値に応じて、通常ライセンスの空きがあると判断された場合には、通常ライセンスを発行し、通常ライセンスの空きがない場合には、超過ライセンスを発行する。
【００２４】
図２を用いて、具体的に説明する。ここでは、通常ライセンスとして事前に３ライセンスを購入しているときで、通常ライセンス数を超えた複数のユーザＵ１からユーザＵ６がアプリケーションを利用する場合を例にとって説明する。図２Ａは、ユーザＵ１からユーザＵ６によるアプリケーションの利用状況の遷移を示す。図２Ｂは、アプリケーションの利用人数に応じたライセンスプール１１およびオーバードラフトカウンタ１２の値を示す。図２Ｃは、所定時間毎の時点で発行されているライセンス数を示す。この例では、発行されているライセンス数が３以下である場合には、通常ライセンスが発行され、３を超えた場合には、超過ライセンスが発行されていることを示す。
【００２５】
ライセンスプール１１およびオーバードラフトカウンタ１２の値は、アプリケーションを利用するユーザの人数に応じて変化する。これらの値は、数式（１）および数式（２）に基づき算出することができる。ただし、ライセンスプール１１およびオーバードラフトカウンタ１２の値の最小値は「０」とする。
ライセンスプール１１＝通常ライセンス数−使用ライセンス数    ・・・（１）
オーバードラフトカウンタ１２＝使用ライセンス数−通常ライセンス数
・・・（２）
【００２６】
先ず、何れのユーザもアプリケーションを使用していない場合には、通常ライセンスが発行されていないため、ライセンスプール１１には、購入したライセンス数の最大値を示す値「３」が格納されている。また、超過ライセンスも発行されていないので、オーバードラフトカウンタ１２には値「０」が格納されている。
【００２７】
時点ａにおいて、ユーザＵ１およびユーザＵ６がアプリケーションの使用を開始すると、ライセンスサーバ３は、ユーザＵ１およびユーザＵ６からのライセンスの発行要求に基づき、データベース１０に格納されたライセンスプール１１を参照する。このとき、ライセンスサーバ３は、ライセンスプール１１の値が「３」であるため通常ライセンスの空きがあると判断し、ユーザＵ１およびユーザＵ６に対してそれぞれ通常ライセンスを発行する。そして、直前のライセンスプール１１の値から、通常ライセンスの発行数である２だけ減じた値「１」をライセンスプール１１に格納する。
【００２８】
時点ｂにおいて、さらにユーザＵ２がアプリケーションの使用を開始すると、ライセンスサーバ３は、ユーザＵ２からのライセンスの発行要求に基づきライセンスプール１１を参照する。ライセンスサーバ３は、ライセンスプール１１の値が「１」であるため通常ライセンスの空きがあると判断し、ユーザＵ２に対して通常ライセンスを発行する。そして、ライセンスプール１１の値から１だけ減じた値「０」をライセンスプール１１に格納する。
【００２９】
次に、時点ｃにおいて、さらにユーザＵ５がアプリケーションの使用を開始すると、ライセンスサーバ３は、ユーザＵ５からのライセンスの発行要求に基づきライセンスプール１１を参照する。このとき、ライセンスサーバ３は、ライセンスプール１１の値が「０」であるため通常ライセンスの空きがないと判断する。ここで、従来のライセンス購入方式では、通常ライセンスの空きがないため、ユーザＵ５に対してライセンスを発行することができないが、この発明の実施の一形態では、ユーザＵ５に対して通常ライセンスとは異なる超過ライセンスを発行する。そして、直前のオーバードラフトカウンタ１２の値に超過ライセンスの発行数である１を加えた値「１」をオーバードラフトカウンタ１２に格納する。
【００３０】
時点ｄにおいて、さらにユーザＵ３およびユーザＵ４がアプリケーションの使用を開始すると、時点ｃの場合と同様に、ライセンスサーバ３は、ユーザＵ３およびユーザＵ４からのライセンスの発行要求に基づきライセンスプール１１を参照する。ライセンスサーバ３は、ライセンスプール１１の値が「０」であるため通常ライセンスの空きがないと判断し、ユーザＵ３およびユーザＵ４に対してそれぞれ超過ライセンスを発行する。そして、オーバードラフトカウンタ１２の値に２を加えた値「３」をオーバードラフトカウンタ１２に格納する。
【００３１】
次に、時点ｅにおいて、ユーザＵ２がアプリケーションの使用を終了すると、ライセンスサーバ３は、ユーザＵ２からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照する。このとき、ライセンスサーバ３は、オーバードラフトカウンタ１２の値が「３」であるため超過ライセンスが発行されていると判断し、ユーザＵ２からの超過ライセンスの返却を許可する。そして、オーバードラフトカウンタ１２の値から１だけ減じた値「２」をオーバードラフトカウンタ１２に格納する。
【００３２】
時点ｆにおいて、ユーザＵ５がアプリケーションの使用を終了すると、時点ｅの場合と同様に、ライセンスサーバ３は、ユーザＵ５からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照し、ユーザＵ５からの超過ライセンスの返却を許可する。そして、オーバードラフトカウンタ１２の値から１だけ減じた値「１」をオーバードラフトカウンタ１２に格納する。
【００３３】
時点ｇにおいて、ユーザＵ６がアプリケーションの使用を終了すると、時点ｅおよびｆの場合と同様に、ライセンスサーバ３は、ユーザＵ６からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照し、ユーザＵ６からの超過ライセンスの返却を許可する。そして、オーバードラフトカウンタ１２の値から１だけ減じた値「０」をオーバードラフトカウンタ１２に格納する。
【００３４】
時点ｈにおいて、ユーザＵ１がアプリケーションの使用を終了すると、ライセンスサーバ３は、ユーザＵ１からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照する。このとき、ライセンスサーバ３は、オーバードラフトカウンタ１２の値が「０」であるため超過ライセンスが発行されていないと判断し、ユーザＵ１からの通常ライセンスの返却を許可する。そして、ライセンスプール１１の値に１を加えた値「１」をライセンスプール１１に格納する。
【００３５】
時点ｉにおいて、ユーザＵ３がアプリケーションの使用を終了する。この場合には、時点ｈの場合と同様に、ライセンスサーバ３は、ユーザＵ３からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照し、超過ライセンスが発行されていないと判断し、ユーザＵ３からの通常ライセンスの返却を許可する。そして、ライセンスプール１１の値に１を加えた値「２」をライセンスプール１１に格納する。
【００３６】
時点ｊにおいて、ユーザＵ４がアプリケーションの使用を終了する。この場合には、時点ｈおよびｉの場合と同様に、ライセンスサーバ３は、ユーザＵ４からのライセンス返却要求に基づきオーバードラフトカウンタ１２を参照し、超過ライセンスが発行されていないと判断し、ユーザＵ４からの通常ライセンスの返却を許可する。そして、ライセンスプール１１の値に１を加えた値「３」をライセンスプール１１に格納する。
【００３７】
このように、ユーザからのライセンスの発行および／または返却要求に基づき、ライセンスプール１１および／またはオーバードラフトカウンタ１２の値を増減させることにより、ライセンスサーバ３によるライセンスの管理が行われる。
【００３８】
次に、超過ライセンスを使用した場合の処理について説明する。この発明の実施の一形態では、上述したように、通常ライセンスの空きがなくなった場合に超過ライセンスを発行し、通常ライセンスを使用した場合と同様にアプリケーションを使用することができる。しかしながら、超過ライセンスが通常ライセンスと全く同様に機能してしまうと、実際に必要な通常ライセンスを購入せず、超過ライセンスによってアプリケーションを使用するという、「悪意による使用」が発生するおそれがある。
【００３９】
そこで、この発明の実施の一形態では、超過ライセンスによるアプリケーションの使用時間、すなわち超過ライセンス使用に対して使用可能な累積時間を予め設定する。そして、超過ライセンス使用による累積時間が設定値以下である場合には、アプリケーションを通常通り使用することができるようにする。また、累積時間が設定値を超えた場合には、超過ライセンスの発行を停止するとともに、アプリケーションの機能制限やアプリケーション自体の使用停止などのペナルティを行うようにしている。こうすることにより、超過ライセンスを用いた「悪意による使用」を防止することができる。
【００４０】
図３は、通常ライセンスが３ライセンスの場合における、所定時間毎の使用ライセンス数の推移の一例を示す。図３に示すグラフにおいて、白塗りで示す部分は、３ライセンス分の通常ライセンスの使用を示す。また、斜線および網線で示す部分は、超過ライセンスの使用を示す。このうち斜線で示す部分は、便宜上、２ライセンス分の超過ライセンスの使用を示している。この斜線および網線で示す使用された超過ライセンス数がオーバードラフトカウンタ１２に格納される。また、このときのオーバードラフトカウンタ１２の値がオーバードラフトヒストリ１３に記録される。
【００４１】
オーバードラフトヒストリ１３は、上述したように、オーバードラフトカウンタ１２の履歴であり、図４に示すように、集計処理を行う所定時間毎にオーバードラフトカウンタ１２の値が追記される。ただし、オーバードラフトカウンタ１２の値が「０」、すなわち超過ライセンスが発行されていない場合には、追記されない。
【００４２】
図５は、所定時間毎に集計処理が行われた際の超過ライセンス使用の累積時間の一例を示す。図５に示すグラフは、上述した図３における斜線および網線で示した、超過ライセンス使用における所定時間毎の累積時間を示す。点線は、累積時間に対して予め設定された閾値を示す。累積時間がこの閾値に達した時点で、超過ライセンスの発行を停止し、アプリケーションの使用制限等のペナルティが行われる。ペナルティとしては、例えば全てのライセンスによるアプリケーションの使用停止や、超過ライセンスによるアプリケーションの使用停止が行われる。
【００４３】
図５に示すような超過ライセンス使用による累積時間は、オーバードラフトヒストリ１３の各記録値の総和に、オーバードラフトカウンタ１２の値が更新される時間である所定時間を乗じることにより算出することができる。例えば、オーバードラフトカウンタ１２の値が１時間毎に更新される場合、超過ライセンス使用による累積時間は、オーバードラフトヒストリ１３の値の総和に１時間を乗じた値となる。
【００４４】
ここで、超過ライセンスによるアプリケーション使用の常態化に伴い、現在購入している通常ライセンスではライセンス数が不足していると判断し、新たに通常ライセンスを購入する場合が考えられる。新たに通常ライセンスを購入した場合には、これまで累積された超過ライセンスの使用による累積時間から、購入した通常ライセンスに対応する超過ライセンス使用分の累積時間がリセットされる。
【００４５】
例えば、３ライセンス分の通常ライセンスを事前に購入している状態で、新たに２ライセンス分の通常ライセンスを購入する場合について考える。図３に示すように、時点Ｘにおいて２ライセンス分の通常ライセンスを新たに購入した場合には、通常ライセンスが５ライセンスとなる。そのため、斜線で示す部分の２ライセンス分の超過ライセンスが通常ライセンスとなり、網線で示す６ライセンス目以降の超過ライセンス使用の時間のみが累積されることになる。
【００４６】
また、図５に示すように、時点Ｘにおいて２ライセンス分の通常ライセンスを新たに購入することにより、これまで累積された超過ライセンス使用による累積時間から、斜線で示す部分の２ライセンス分の累積時間がリセットされる。
【００４７】
このとき、オーバードラフトヒストリ１３に記録された各記録値から、購入した通常ライセンス数がそれぞれ減算される。こうすることにより、オーバードラフトヒストリ１３に記録された超過ライセンス使用の履歴から、新たに購入した通常ライセンス分に対応する超過ライセンスの使用履歴が削除される。
【００４８】
図６は、２ライセンス分の通常ライセンスを新たに購入した場合のオーバードラフトヒストリ１３の更新の一例を示す。例えば、オーバードラフトヒストリ１３に記録された各記録値から、新たに購入した通常ライセンスの数である値「２」が減算される。なお、記録値が１以下である場合には、値が「０」とされる。そして、算出された記録値から値が「０」となった記録値を削除し、オーバードラフトヒストリ１３が更新される。
【００４９】
この発明の実施の一形態に適用可能なライセンス管理システム１による各種処理について説明する。ここでは、
（１）アプリケーション起動時の処理
（２）アプリケーション終了時の処理
（３）超過ライセンス使用による累積時間の集計処理
（４）通常ライセンスの追加購入時の処理
の各処理について説明する。
【００５０】
（１）アプリケーション起動時の処理
先ず、クライアントＰＣ４においてアプリケーションが起動された際の処理の流れについて、図７に示すフローチャートを参照して説明する。なお、このフローチャートにおいて、点線で示す境界線の右側は、ライセンスサーバ３側で行われる処理を示す。また、境界線の左側は、クライアントＰＣ４側で行われる処理を示す。
【００５１】
ステップＳ１において、クライアントＰＣ４側でアプリケーションが起動されると、ステップＳ２において、ライセンスサーバ３に対してライセンスの発行要求が行われる。
【００５２】
ステップＳ３において、ライセンスサーバ３側でライセンスの発行要求が検知されると、ステップＳ４において、オーバードラフトヒストリ１３に記録された記録値の総和に基づき、超過ライセンス使用によるペナルティが有効であるか否かが判断される。ペナルティが有効でないと判断された場合には、処理がステップＳ５に移行し、データベース１０に格納されたライセンスプール１１が参照される。
【００５３】
ステップＳ６では、ステップＳ５におけるライセンスプール１１の参照結果に基づき、通常ライセンスの空きがあるか否かが判断される。ライセンスプール１１の値が「１」以上、すなわち「０」以外である場合には、通常ライセンスの空きがあると判断され、処理がステップＳ７に移行し、ライセンスプール１１に格納された値から１だけ減じた値がライセンスプール１１に格納され、ライセンスプール１１が更新される。そして、次のステップＳ８で通常ライセンスが発行され、クライアントＰＣ４に対して送信される。
【００５４】
一方、ステップＳ６において、ライセンスプール１１の値が「１」以上でない、すなわち「０」である場合には、通常ライセンスの空きがないと判断され、処理がステップＳ９に移行し、データベース１０に格納されたオーバードラフトヒストリ１３が参照される。ステップＳ１０では、ステップＳ９におけるオーバードラフトヒストリ１３の参照結果から、超過ライセンス使用による累積時間が取得され、累積時間を示す情報がクライアントＰＣ４に対して送信される。
【００５５】
ステップＳ１１では、クライアントＰＣ４において累積時間を示す情報が受信されると、ユーザに対して超過ライセンスを用いてアプリケーションを使用することが提示されるとともに、超過ライセンス使用によるこれまでの累積時間が提示される。
【００５６】
ステップＳ１２では、超過ライセンス使用による累積時間の情報に基づき、超過ライセンスを使用するか否かがユーザによって判断される。超過ライセンスを使用すると判断された場合には、処理がステップＳ１３に移行し、ライセンスサーバ３に対して超過ライセンスの発行要求が行われる。
【００５７】
ステップＳ１４において、ライセンスサーバ３側で超過ライセンスの発行要求が検知される。ステップＳ１５では、データベース１０に格納されたオーバードラフトカウンタ１２の値を１加えた値がオーバードラフトカウンタ１２に格納され、オーバードラフトカウンタ１２が更新される。そして、次のステップＳ１６で超過ライセンスが発行され、クライアントＰＣ４に対して送信される。
【００５８】
ステップＳ１７では、発行された通常ライセンスまたは超過ライセンスを用いてアプリケーションが使用可能となり、一連の処理が終了する。
【００５９】
一方、ステップＳ４においてペナルティが有効であると判断された場合や、ステップＳ１２において超過ライセンスを使用しないと判断された場合には、処理がステップＳ１８に移行し、アプリケーションの起動が中止され、一連の処理が終了する。
【００６０】
（２）アプリケーション終了時の処理
次に、クライアントＰＣ４によるアプリケーション終了時の処理の流れについて、図８に示すフローチャートを参照して説明する。なお、このフローチャートでは、図７と同様に、点線で示す境界線の右側に位置する各処理がライセンスサーバ３側で行われ、境界線の左側に位置する各処理がクライアントＰＣ４側で行われる。
【００６１】
ステップＳ２１において、クライアントＰＣ４側でアプリケーションの終了が指示されると、ステップＳ２２において、ライセンスサーバ３に対してライセンスの返却要求が行われる。
【００６２】
ステップＳ２３において、ライセンスサーバ３側でライセンスの返却要求が検知されると、ステップＳ２４においてオーバードラフトカウンタ１２が参照される。ステップＳ２５では、ステップＳ２４におけるオーバードラフトカウンタ１２の参照結果に基づき、超過ライセンスが発行されているか否かが判断される。オーバードラフトカウンタ１２の値が「１」以上である場合には、超過ライセンスが発行されていると判断され、処理がステップＳ２６に移行する。ステップＳ２６では、オーバードラフトカウンタ１２の値から１だけ減じた値がオーバードラフトカウンタ１２に格納され、オーバードラフトカウンタ１２が更新される。
【００６３】
一方、ステップＳ２５において、オーバードラフトカウンタ１２の値が「０」である場合には、超過ライセンスが発行されていないと判断され、処理がステップＳ２７に移行する。ステップＳ２７では、ライセンスプール１１の値に１加えた値がライセンスプール１１に格納され、ライセンスプール１１が更新される。
【００６４】
ステップＳ２８において、ライセンスの返却処理が完了したことがクライアントＰＣ４に対して通知される。ステップＳ２９では、クライアントＰＣ４においてライセンス返却処理の完了通知が受信され、アプリケーションの終了処理が行われ、一連の処理が終了する。
【００６５】
（３）超過ライセンス使用による累積時間の集計処理
次に、超過ライセンス使用による累積時間の集計処理の流れについて、図９に示すフローチャートを参照して説明する。なお、このフローチャートで示す処理は、ライセンスサーバ３側で行われ、所定時間毎、例えば１時間毎に巡回的に行われる。
【００６６】
ステップＳ３１において、オーバードラフトカウンタ１２が参照され、参照結果に基づき、ステップＳ３２において超過ライセンスが発行されているか否かが判断される。オーバードラフトカウンタ１２の値が「１」以上である場合には、超過ライセンスが発行されていると判断され、処理がステップＳ３３に移行し、図４に示すように、オーバードラフトヒストリ１３に現在のオーバードラフトカウンタ１２の値が追記されて更新される。
【００６７】
一方、オーバードラフトカウンタ１２の値が「０」である場合には、超過ライセンスが発行されていないと判断され、処理がステップＳ３４に移行する。
【００６８】
ステップＳ３４では、オーバードラフトヒストリ１３に記録された値の総和が取得される。ステップＳ３５において、ステップＳ３４で取得されたオーバードラフトヒストリ１３の記録値の総和が規定値以上であるか否かが判断される。記録値が規定値以上であると判断された場合には、処理がステップＳ３６に移行し、ペナルティが有効化される。
【００６９】
一方、記録値が規定値未満であると判断された場合には、処理がステップＳ３１に戻り、所定時間経過後に一連の処理が再度行われる。
【００７０】
（４）通常ライセンスの追加購入時の処理
次に、通常ライセンスを追加購入した場合の処理の流れについて、図１０に示すフローチャートを参照して説明する。なお、このフローチャートで示す処理は、ライセンスサーバ３側で行われる。この処理は、通常ライセンスが新たに購入され、ライセンスサーバ３において通常ライセンスの追加購入の認証処理が完了した時点でが開始される。
【００７１】
ステップＳ４１において、オーバードラフトヒストリ１３が参照される。ステップＳ４２では、オーバードラフトヒストリ１３に記録された記録値から、追加購入した通常ライセンス数が減算される。
【００７２】
ステップＳ４３では、ステップＳ４２で算出された記録値が１未満であるか否かが判断される。記録値が「１」未満、すなわち「０」である場合には、処理がステップＳ４４に移行し、値が「０」となった記録値がオーバードラフトヒストリ１３から削除される。一方、記録値が「１」以上である場合には、処理がステップＳ４５に移行する。
【００７３】
ステップＳ４５において、オーバードラフトヒストリ１３に記録された全ての記録値に対して上述のステップＳ４２からステップＳ４４までの減算処理が行われたか否かが判断される。全ての記録値に対して減算処理が行われたと判断された場合には、処理がステップＳ４６に移行する。一方、全ての記録値に対して減算処理が行われていないと判断された場合には、処理がステップＳ４２に戻り、次の記録値に対してステップＳ４２の処理が行われる。
【００７４】
ステップＳ４６では、オーバードラフトヒストリ１３に記録された各記録値が、ステップＳ４２で算出された値に更新される。
【００７５】
次に、ステップＳ４７において、ライセンスプール１１が参照される。ステップＳ４８では、ライセンスプール１１に格納された通常ライセンスの最大値に対して、追加購入した通常ライセンスの数が加えられて更新され、一連の処理が終了する。
【００７６】
このように、この発明の実施の一形態では、全ての通常ライセンスが発行されている状態で、新たにライセンスの発行要求がなされた場合には、超過ライセンスを発行する。そのため、通常ライセンス分を超えてアプリケーションを使用する場合であっても、超過ライセンス使用による対価を支払う必要がない。
【００７７】
また、超過ライセンス使用による累積時間を集計するとともに、超過ライセンスの発行に対しては、予め使用可能な累積時間を設定し、累積時間を超えて超過ライセンスを使用した場合には、アプリケーションの使用停止等のペナルティを課すようにしている。そのため、超過ライセンスを用いてアプリケーションを使用する「悪意による使用」を防止することができる。
【００７８】
さらに、新たに通常ライセンスを購入した場合には、超過ライセンス使用による累積時間から、追加購入した通常ライセンス分に対応する超過ライセンスによる累積時間をリセットする。このように、この発明の実施の一形態では、通常ライセンスを新たに購入することで、超過ライセンスによる累積時間を全てリセットせず、新たに購入された通常ライセンスの数に応じてリセットされる超過ライセンスによる累積時間が異なるようにしている。そのため、通常ライセンスの追加購入数による超過使用に対する不公平を防ぐことができる。
【００７９】
以上、この発明の実施の一形態について説明したが、この発明は、上述したこの発明の実施の一形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。上述した例では、超過ライセンス使用による累積時間の集計処理を所定時間毎に行うようにしているが、これはこの例に限られない。
【００８０】
例えば、累積時間の集計処理を行うタイミングと所定時間経過後に次の集計処理を行うタイミングとの間に、超過ライセンスの発行および返却が行われる場合が考えられる。このような場合には、超過ライセンスが発行されたことを検出することができないため、超過ライセンスの使用時間を累積することができない。そこで、例えば超過ライセンスが発行されたタイミングおよび超過ライセンスが返却されたタイミングにおいて、超過ライセンス使用による累積時間の集計処理を行うようにしてもよい。こうすることにより、超過ライセンス使用による累積時間をより確実に集計することができる。
【図面の簡単な説明】
【００８１】
【図１】この発明の実施の一形態に適用可能なライセンス管理システムの一例の構成を示すブロック図である。
【図２】ライセンスの管理方法について説明するための略線図である。
【図３】所定時間毎の使用ライセンス数の推移の一例を示す略線図である。
【図４】オーバードラフトヒストリについて説明するための略線図である。
【図５】超過ライセンス使用による累積時間の一例を示す略線図である。
【図６】通常ライセンスを追加購入した際のオーバードラフトヒストリの更新について説明するための略線図である。
【図７】アプリケーション起動時の処理の流れについて説明するためのフローチャートである。
【図８】アプリケーション終了時の処理の流れについて説明するためのフローチャートである。
【図９】超過ライセンス使用による累積時間の集計処理の流れについて説明するためのフローチャートである。
【図１０】通常ライセンスを追加購入した場合の処理の流れについて説明するためのフローチャートである。
【符号の説明】
【００８２】
１  ライセンス管理システム
２  ネットワーク
３  ライセンスマネジメントサーバ
４  クライアントＰＣ
１０  データベース
１１  ライセンスプール
１２  オーバードラフトカウンタ
１３  オーバードラフトヒストリ
【図１】
2010086461.tif 000003
【図２】
2010086461.tif 000004
【図３】
2010086461.tif 000005
【図４】
2010086461.tif 000006
【図５】
2010086461.tif 000007
【図６】
2010086461.tif 000008
【図７】
2010086461.tif 000009
【図８】
2010086461.tif 000010
【図９】
2010086461.tif 000011
【図１０】
2010086461.tif 000012