JP2014153761A - ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム - Google Patents

ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2014153761A
JP2014153761A JP2013020593A JP2013020593A JP2014153761A JP 2014153761 A JP2014153761 A JP 2014153761A JP 2013020593 A JP2013020593 A JP 2013020593A JP 2013020593 A JP2013020593 A JP 2013020593A JP 2014153761 A JP2014153761 A JP 2014153761A
Authority
JP
Japan
Prior art keywords
license
information
software
server
computer
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.)
Granted
Application number
JP2013020593A
Other languages
English (en)
Other versions
JP6123320B2 (ja
Inventor
Kazuhiro Kusano
和寛 草野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2013020593A priority Critical patent/JP6123320B2/ja
Publication of JP2014153761A publication Critical patent/JP2014153761A/ja
Application granted granted Critical
Publication of JP6123320B2 publication Critical patent/JP6123320B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 割り当て可能なライセンス数に限りがある場合であっても、そのライセンスの割り当てを効率的に実施する。
【解決手段】 ライセンス管理装置1は、1つ以上の第1のプロセスから、第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバにライセンスの割り当てを要求し、ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、第2のプロセスが無い場合に、第1のライセンス情報101を受信したか否かを判定し、第1のライセンス情報101を受信したと判定した場合に、前記ソフトウェアに対応するライセンスの排他処理を利用可能な状態にするライセンス管理部2と、第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する実行制御部3とを備える。
【選択図】 図1

Description

本発明は、アプリケーションソフトにおけるライセンスを管理する情報処理の技術分野に関する。
一般的にライセンスサーバは、アプリケーションソフト(以下、「ソフトウェア」、単に「ソフト」とも記す)の使用権(ライセンス)や使用許諾等を管理する機能を有することが知られている。
また、ライセンスサーバは、通信ネットワークを介してライセンス管理されたソフトウェアの利用状況を把握(監視)することができる。
例えば、通信ネットワークを介して接続されたパーソナルコンピュータや携帯端末等の電子機器においてライセンス管理されたソフトウェアを利用する場合に、電子機器は、ライセンスサーバに使用許可を問い合わせる。
さらに、電子機器は、ライセンスサーバから係るソフトウェアにおける使用許可を得ることによって、ソフトウェアを実行することができる。
ここで、本願出願に先立って存在する関連技術として、特許文献1は、ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、ライセンス管理プログラムおよび記憶媒体に関する技術を開示する。
特許文献1における端末装置は、ライセンス管理されたソフトウェアを実行する際に、ライセンス管理装置にライセンスの使用が可能か否かを問い合わせる。
即ち、端末装置は、ライセンス管理装置に貸与要求情報を含む貸与要求を行う。ここで、貸与要求情報とは、ソフトウェアを使用する期間情報を含む。
ライセンス管理装置は、係る貸与要求に応答して、ライセンスの使用が可能か否かを判定する。さらに、ライセンス管理装置は、判定した結果と貸与要求情報とに基づいて、ライセンスを貸与する。
また、ライセンス管理装置は、ライセンスの貸与要求を行なった端末装置にライセンスの使用許可期間を通知する。
これにより、ライセンスの貸与要求を行なった端末装置は、取得したライセンスの使用許可期間に基づいて、ソフトウェアを使用することができる。
特許文献2は、ライセンス管理システムに関する技術を開示する。
より具体的に、特許文献2に開示されたライセンス管理システムは、ライセンス管理されたソフトウェアを利用するジョブが事前に判明している場合に、そのジョブの実行が重複しないようにスケジューリングする。
これにより、ライセンス管理システムでは、ライセンスを効率的に利用することができる。
特許文献3は、処理制御システム、サーバ及び処理制御プログラムに関する技術を開示する。
特許文献3に開示された処理制御システムは、複数台のクライアント及び複数台のサーバにおいてライセンスを管理する。
より具体的に、処理制御システムにおけるサーバは、クライアントからユーザの識別情報(ユーザID、identifier:以降、「ID」と称する)を含むアクセス要求を受信した際に、その識別情報に基づいてアプリケーション利用情報を参照する。
ここで、アプリケーション利用情報とは、ユーザIDとそのユーザに設定されたアプリケーションの使用可否に関する情報とをユーザ毎に関連付けた情報を含む。
さらに、係るサーバは、アプリケーション利用情報を参照した結果、アプリケーションの使用可否を判定すると共に、判定した結果をクライアントに返信する。
使用可能を示す判定結果を取得した場合に、クライアントは、係るアプリケーションを利用する。さらに、クライアントは、そのアプリケーションを利用してサーバに接続すると共に、サーバに格納されたファイルにアクセスすることができる。
特許文献4は、ソフトウェアライセンス管理方法、ソフトウェアライセンス管理システム、及びコンピュータ・プログラムに関する技術を開示する。
特許文献4に開示された管理方法は、ユーザが使用する端末(以下、「使用端末」と称する)からソフトウェアを使用する際に、ソフトウェアが予め具備している第1のライセンス情報と、携帯端末機から供給される第2のライセンス情報とに基づいて、ソフトウェアの使用を許可する。
また、係る携帯端末機は、使用端末からソフトウェアにおける使用終了の通知を受信するまでの間、第2のライセンス情報の供給を停止する。
そのため、係る管理方法では、1ユーザ1ライセンスの原則に則ったソフトウェアを供給する場合に、特定の1台の使用端末に限定することなくソフトウェアの使用を許可することができる。
特許文献5は、ソフトウェアライセンス管理装置に関する技術を開示する。より具体的に、係る管理装置は、ライセンス管理されたプログラム(以下、「ライセンスプログラム」と称する)を使用する際の優先度をユーザ毎に保持する。
例えば、優先度の高いユーザからライセンスプログラムの実行要求が発生し、且つライセンスプログラムを使用する(つまり、使用中の)ユーザ数がライセンスの上限に達している場合に、係る管理装置は、優先度の低いユーザの使用権を解除する。
さらに、管理装置は、優先度の高いユーザに使用権を付与する(割り当てる)。このため、ライセンスプログラムを使用するユーザ数がライセンスの上限数に達している場合であっても、優先度の高いユーザは、ライセンスプログラムを実行することができる。
特開2007−200236号公報 特表平06−500878号公報 特開2009−199481号公報 特開2004−139238号公報 特開平05−346851号公報
しかしながら、特許文献1及び特許文献2では、ライセンス管理されたソフトウェアの使用時間を予め設定する必要がある。
例えば、ソフトウェアの使用時間は、ジョブやそのソフトウェアの実行環境等によって異なる。そのため、ユーザは、事前にソフトウェアの使用時間を把握できない場合がある。
より具体的に、一般的に知られたコンパイラを例に考えた場合に、コンパイラにおける処理時間は、処理対象となるプログラムのサイズや複雑さ、ファイル数等によって大きく変化する。
さらに、コンパイラにおける処理は、例えば、ユーザによって中断することが可能である。また、係る処理には、コンパイルの処理に伴うファイルの入出力処理も含まれる。そのため、ユーザは、係る処理時間を想定することが困難である。
即ち、特許文献1及び2に開示された技術では、効率的にライセンスを管理することができない。
また、特許文献3には、複数台のクライアントと複数台のサーバにおいてライセンスを管理することが記載されているに留まり、割り当て可能なライセンス数が無い場合に、ライセンスの割り当てを効率的に実施することについては、何ら述べられていない。
特許文献4には、1人のユーザに対して割り当てられた1つのライセンスを複数台の使用端末において使用することが記載されているに留まり、複数のユーザにおいてライセンスを使用することについては、考慮されておらず何ら述べられていない。
特許文献5には、ユーザ毎に設定された優先度に基づいて、優先度の低いユーザからライセンスを解除することが記載されている。
そのため、例えば、優先度の低いユーザからライセンスプログラムの実行要求が発生する際に、管理装置は、優先度の高いユーザがライセンスプログラムの実行を終了するまで優先度の低いユーザに使用権を割り当てない。
つまり、特許文献5に開示された技術では、全てのユーザに対して公平にライセンスを提供できないことが問題である。
また、ライセンス管理されたソフトウェアを実行する際に、特許文献1乃至特許文献5に開示された技術では、実行開始から終了するまでライセンスを保持することが想定されている。
このため、特許文献1乃至特許文献5では、ソフトウェアの処理時間が長くなる場合や実行途中にユーザが何らかの理由で処理を中断する場合に、係る処理が終了するまでライセンスが割り当てられた状態を維持することになる。
例えば、利用可能なライセンスが無く、且つ長時間ライセンスを保持するユーザがいる場合に、特許文献1乃至特許文献5では、ライセンスの空き待ちが発生する。
即ち、複数のユーザにおいてライセンスを利用する場合に、特許文献1乃至特許文献5では、ライセンスの割り当てを効率的に実施することができない。
より具体的に、一例として、不特定多数のユーザの利用が想定されるクラウド環境には、ライセンス管理されたソフトウェアをサービスとして提供する場合がある。
不特定多数のユーザにソフトウェアを提供する場合に、特許文献1乃至特許文献5に開示された技術では、例えば、ユーザは、ライセンスが割り当てられるまで待ち状態が発生する。
即ち、クラウド環境において提供されるサービスとしては、全てのユーザに対して公平に提供できていない虞がある。
本発明の主たる目的は、割り当て可能なライセンス数に限りがある場合であっても、そのライセンスの割り当てを効率的に実施することが可能なライセンス管理装置等を提供することにある。
上記の課題を達成すべく、本発明に係るライセンス管理装置は、以下の構成を備えることを特徴とする。
即ち、本発明に係るライセンス管理装置は、
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にするライセンス管理部と、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する実行制御部と、
を備えることを特徴とすることを特徴とする。
或いは、上記に示すライセンス管理装置を含むライセンス管理システムによっても、同目的を達成される。
また、同目的を達成すべく、本発明に係るライセンス管理方法は、以下の構成を備えることを特徴とする。
即ち、本発明に係るライセンス管理方法は、
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にし、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定することを特徴とする。
尚、同目的は、上記の各構成を有するライセンス管理装置及びライセンス管理方法を、コンピュータによって実現するコンピュータ・プログラム、及びそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
本発明によれば、割り当て可能なライセンス数に限りがある場合であっても、そのライセンスの割り当てを効率的に実施することが可能なライセンス管理装置等を提供することができる。
本発明の第1の実施形態におけるライセンス管理装置の構成を示すブロック図である。 本発明の第1の実施形態におけるライセンス管理装置が行う第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。 本発明の第1の実施形態におけるライセンス管理装置が行う第1のプロセスが第1のソフトウェアのライセンスを解放する際の動作を示すフローチャートである。 本発明の第2の実施形態におけるライセンス管理装置の構成を示すブロック図である。 本発明の第3の実施形態におけるライセンス管理装置を含むライセンス管理システムの構成を示すブロック図である。 本発明の第3の実施形態におけるライセンスサーバが行う計算機から第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。 本発明の第4の実施形態におけるライセンス管理装置の構成を示すブロック図である。 本発明の第4の実施形態におけるライセンス管理装置が行う第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。 本発明に係る各実施形態を実現可能な情報処理装置のハードウェア構成を例示的に説明するブロック図である。
以下、本発明の実施形態について図面を参照して詳細に説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態におけるライセンス管理装置1の構成を示すブロック図である。図1において、ライセンス管理装置1は、ライセンス管理部2と実行制御部3とを有する。
以下の説明において、説明の便宜上、ライセンス管理されたソフトウェアを第1のソフトウェアと称する(以下、各実施形態においても同様)。
ライセンス管理部2は、第1のソフトウェアに関するライセンスを管理する。即ち、ライセンス管理部2は、第1のソフトウェアに対応するライセンスを管理する。
尚、ライセンス管理部2における詳細な動作については、本実施形態において後述する。
より具体的に、ライセンス管理部2は、不図示の通信部を介して第1のソフトウェアのライセンスの割り当てを要求する。また、ライセンス管理部2は、第1のライセンス情報101を受信する。
ここで、第1のライセンス情報101とは、ライセンス管理された第1のソフトウェアの使用権(ライセンス)の使用を許可する情報を含む。
また、ライセンス管理部2は、第1のライセンス情報101を受信する。
さらに、ライセンス管理部2は、第1のソフトウェアに対応する(関する)ライセンスの排他処理を利用可能な状態にする。
本実施形態において、係る第1のソフトウェアは、1つ以上存在することを想定している。また、ライセンス管理部2は、当該各(個々の)第1のソフトウェアに関するライセンスの排他処理について利用の要否を管理する。
ここで、排他処理とは、第1のソフトウェアのライセンスを1つ以上のプロセス間で利用することを制御する処理を表す(排他処理については、本実施形態において後述する)。
通信部(不図示)は、通信ネットワーク(例えば、図5に示す通信ネットワーク110)を介して、例えば、自装置と異なる電子機器やライセンスサーバ等と通信可能に接続する(以下、本願では「通信可能に接続」を単に「接続」と略称する)。
次に、実行制御部3は、第1のソフトウェアのライセンスが割り当てられることを要求するプロセス(以下、説明の便宜上、「第1のプロセス」と称する)に関して属性情報(メタデータ)を設定する。
さらに、実行制御部3は、第1のプロセスを実行可能な状態に制御することができる。
より具体的に、実行制御部3が第1のプロセスに関して設定する属性情報とは、第1のプロセスが第1のソフトウェアを実行する際に、上述した排他処理を実行するように指示する情報である。
ここで、以下の説明において、説明の便宜上、一例として、第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際のライセンス管理装置1の動作ついて説明する。
図2は、本発明の第1の実施形態におけるライセンス管理装置1が行う第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。
例えば、ライセンス管理装置1は、第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際に、不図示のライセンスサーバにライセンスの割り当て要求を通知することとする。
さらに、ライセンス管理装置1は、ライセンスサーバからライセンスの割り当て要求に対するリプライとして、第1のライセンス情報101を受信することとする。
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成には限定されない(以下の実施形態においても同様)。
ステップS1:
ライセンス管理部2は、第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けるのに応じて、不図示の通信部を介してライセンスサーバに、係るライセンスの割り当て要求を通知する。
ステップS2:
ライセンス管理部2は、第1のソフトウェアのライセンスを利用する第1のプロセスと異なるプロセス(以下、説明の便宜上、「第2のプロセス」と称する)の有無を判定する。
ステップS3において「YES」:
ライセンス管理部2は、係るライセンスを利用する第2のプロセスの有無を判定した結果、第2のプロセスが有ると判定した場合に、処理をステップS7に進める。
ステップS3において「NO」:
ライセンス管理部2は、係るライセンスを利用する第2のプロセスの有無を判定した結果、第2のプロセスが無いと判定した場合に、処理をステップS4に進める。
ステップS4:
ライセンス管理部2は、第1のライセンス情報101を受信したか否かを判定する。
ステップS5において「NO」:
ライセンス管理部2は、第1のライセンス情報101を受信したか否かを判定した結果、第1のライセンス情報101を受信していないと判定した場合に、処理をステップS4に進める。
つまり、ライセンス管理装置1は、ライセンスサーバ(不図示)から第1のソフトウェアのライセンスを割り当てられていないことを意味する。
ステップS5において「YES」:
ライセンス管理部2は、第1のライセンス情報101を受信したか否かを判定した結果、第1のライセンス情報101を受信していると判定した場合に、処理をステップS6に進める。
つまり、ライセンス管理装置1は、ライセンスサーバ(不図示)から第1のソフトウェアのライセンスを割り当てられたことを意味する。
ステップS6:
ライセンス管理部2は、第1のライセンス情報101を受信するのに応じて、第1のソフトウェアに対応するライセンスの排他処理を利用可能な状態にする。
ここでは、第1のソフトウェアに関するライセンスの排他処理には、一例として、セマフォを利用することとする。
尚、セマフォとは、1つ以上のプロセス間において排他処理が必要な資源毎にその資源を管理するカウンタ(カウンタ機能)である。また、セマフォは、係るカウンタに資源の数(資源数)を設定する。
ここで、係る排他処理が必要な資源は、第1のソフトウェアのライセンスとする。また、係る資源数は、第1のソフトウェアのライセンス数とする。
資源を使用する場合に、プロセスは、セマフォの資源数を「1」減算する。一方で、資源を解放(解除、返却)する場合に、プロセスは、セマフォの資源数を「1」加算する。また、セマフォの資源数が「0」の場合に、プロセスは、待ち状態に移行する。
尚、セマフォは、例えば、計算機において動作する全てのプロセスから参照できることとする。
より具体的に、ライセンス管理部2は、第1のライセンス情報101を受信するのに応じて、第1のソフトウェアに対応するセマフォを利用可能な状態にする。
次に、ライセンス管理部2が第1のソフトウェアに対応するセマフォを利用可能な状態にする動作を説明する。
ライセンス管理部2は、第1のライセンス情報101に基づいて、係るセマフォの資源数をセットする。
即ち、ライセンス管理部2は、第1のライセンス情報101に基づいて、第1のソフトウェアのライセンス数の資源数として「1」をセットする。尚、初めて資源数をセットする際には、ライセンス管理部2は、資源数を初期化(リセット)すると共に、係る資源数をセットする。
また、ライセンス管理部2は、例えば、2つの第1のライセンス情報101を受信する場合に、セマフォの資源数として「2」をセットする。
また、ライセンス管理部2は、新たに(つまり、追加で)第1のライセンス情報101を受信する場合に、新たに取得した第1のソフトウェアのライセンス数を、既にセットした資源数に加算する。
その場合に、例えば、ライセンス管理部2は、係る資源数に新たに取得した第1のソフトウェアのライセンス数を加算する操作と上述した排他処理とを、不可分な操作として実行することとする。
一方で、ライセンス管理部2は、ライセンスサーバ(不図示)に第1のソフトウェアのライセンスを解放(解除)する場合に、既にセットした資源数から、解放したライセンス数を減算する。
尚、上述した実施形態では、説明の便宜上、一例として、第1のソフトウェアのライセンスの排他処理には、セマフォを利用する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。排他処理には、例えば、ミューテックス等の一般的に知られた制御方法を採用してもよい。但し、本実施形態を例に説明する本発明は、これらに限定されない(以下、各実施形態においても同様)。
ステップS7:
実行制御部3は、第1のソフトウェアのライセンスが割り当てられることを要求する第1のプロセスの属性情報を設定すると共に、第1のプロセスを実行可能な状態に制御する。
尚、実行制御部3が第1のプロセスの属性情報を設定する技術自体は、現在では一般的な技術を採用することができるので、本実施形態における詳細な説明は省略する(以下、各実施形態においても同様)。
これにより、実行可能状態となった第1のプロセスは、一般的に知られた標準スケジューラ(ジョブスケジューラ、単に「スケジューラ」とも記す)におけるスケジューリングによってプロセッサ(例えば、図9に示すCPU301)を割り当てられた際に、第1のソフトウェアを実行することができる。
ここで、より具体的に、一例として、第1のプロセスが第1のソフトウェアのライセンスの割り当て要求する際の動作について説明する。
第1のプロセスにおいて、第1のプロセスの属性情報には、第1のソフトウェアのライセンスに関する排他処理をセマフォによって実行するように設定されている。
そのため、第1のプロセスは、第1のソフトウェアを実行する際に、第1のソフトウェアのライセンスを、1つ以上のプロセス間でセマフォを利用して排他処理を実行する。
ここで、既に設定された資源数が「1」以上の場合に、第1のプロセスは、セマフォの資源数を「1」減算すると共に、ライセンス管理部2から第1のソフトウェアのライセンスを取得する。
即ち、第1のプロセスには、ライセンス管理部2によって第1のソフトウェアのライセンスが割り当てられる。
また、既に設定された資源数が「0」の場合、第1のプロセスは、資源数の取得に失敗する。そのため、第1のプロセスは、待ち状態に移行する。即ち、第1のプロセスは、係るライセンスを取得することができない。
この場合に、例えば、第1のプロセスと異なる第2のプロセスから第1のソフトウェアのライセンスが解放されると共に、セマフォの資源数が「1」以上になった場合に、待ち状態の第1のプロセスは、セマフォの資源数を「1」減算すると共に、ライセンス管理部2から係るライセンスを取得することができる。
次に、以下の説明において、説明の便宜上、一例として、第1のプロセスが第1のソフトウェアのライセンスを解放する際のライセンス管理装置1の動作について説明する。
図3は、本発明の第1の実施形態におけるライセンス管理装置1が行う第1のプロセスが第1のソフトウェアのライセンスを解放する際の動作を示すフローチャートである。
図3に示すフローチャートに沿ってライセンス管理装置1の動作手順を説明する。
ステップS11:
ライセンス管理部2は、第1のプロセスが第1のソフトウェアのライセンスを解放するのに応じて、第1のソフトウェアのライセンスの割り当てを要求したプロセス数と、ライセンス管理部2が管理している(つまり、取得した)ライセンス数とを比較する。
ステップS12において「YES」:
ライセンス管理部2は、プロセス数とライセンス数とを比較した結果、プロセス数がライセンス数以下の場合に、処理をステップS13に進める。
ステップS12において「NO」:
ライセンス管理部2は、プロセス数とライセンス数とを比較した結果、プロセス数がライセンス数より大きい場合に、処理をステップS14に進める。
即ち、プロセス数がライセンス数より大きいとは、第1のソフトウェアのライセンスの割り当て待ち(待ち状態)のプロセスが存在することを意味する。つまり、複数のプロセスは、係るライセンスを共有していることを意味する。
ステップS13:
ライセンス管理部2は、ライセンスサーバ(不図示)に第1のソフトウェアのライセンスを解放したことと、第1のプロセスにおいて係るライセンスの利用が終了したこととを通知する。
さらに、ライセンス管理部2は、セマフォの資源数を「0」に設定する。
ステップS14:
ライセンス管理部2は、ライセンスサーバ(不図示)に第1のプロセスにおいて第1のソフトウェアのライセンスの利用が終了したことを通知する。
ここで、上述したように、セマフォの資源数は、プロセスから第1のソフトウェアのライセンスが解放されるため、「1」になる。そのため、例えば、待ち状態の第1のプロセスは、セマフォにおける資源数を「1」減算すると共に、ライセンス管理部2から係るライセンスを取得することができる。
即ち、待ち状態の第1のプロセスは、ライセンスサーバから、係るライセンスの割り当てを待つことなく第1のソフトウェアを実行することができる。
つまり、ライセンス管理装置1は、ライセンスの割り当てを効率的に実施することができる。
また、ライセンスサーバは、第1のプロセスにおいてライセンスの利用が終了したことを受信することによって、ライセンスの割り当て要求した第1のプロセスにおける処理が終了したことを認識することができる。
このように本実施の形態に係るライセンス管理装置1によれば、割り当て可能なライセンス数に限りがある場合であっても、そのライセンスの割り当てを効率的に実施することができる。その理由は、以下に述べる通りである。
その理由は、ライセンス管理装置1は、ライセンス管理されたソフトウェア毎に割り当てられたライセンスを排他制御する。これにより、ライセンスの割り当て要求するプロセスは、ライセンスサーバからライセンスを割り当てられるのを待つことなく利用することができるからである。
また、ライセンス管理装置1は、複数のプロセスにおいてライセンスを利用する場合であっても、セマフォによってライセンスの排他制御を行っているために、ライセンスの実行条件(利用条件)を満たすと共に、上述した処理を実行することができる。
さらに、ライセンス管理装置1によれば、ライセンスの利用効率を向上することができる。
その理由は、ライセンス管理装置1は、セマフォによってライセンスを管理するからである。より具体的に、ソフトウェアの処理時間が長くなる場合や実行途中にユーザが何らかの理由で処理を中断する場合であっても、係る処理を実行していたプロセスは、その処理において利用していたライセンスを解放する。さらに、他のプロセスは、解放されたライセンスを利用することができるからである。
即ち、ライセンス管理装置1は、ライセンスの割り当て要求した全てのプロセスに対してライセンスを公平に提供することができる。
<第2の実施形態>
次に、上述した本発明の第1の実施形態に係るライセンス管理装置1を基本とする第2の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
本発明の第2の実施形態におけるライセンス管理装置10について、図4を参照して説明する。
図4は、本発明の第2の実施形態におけるライセンス管理装置10の構成を示すブロック図である。
図4において、ライセンス管理装置10は、ライセンス管理部11を有する点が第1の実施形態におけるライセンス管理装置1と異なる。
ライセンス管理部11は、第1の実施形態において説明したライセンス管理部2に対して、さらに解放要求情報102を受信するのに応じて、第1のソフトウェアのライセンスを解放(解除)する。
ここで、解放要求情報102とは、ライセンス管理部11に第1のソフトウェアのライセンスの解放処理を依頼する情報と、その解放を依頼するライセンス数とを含む。
より具体的に、ライセンス管理部11は、解放要求情報102に基づいて、第1のソフトウェアに対応するセマフォに設定された資源数から、解放するライセンス数を適切なタイミングで減算する。
ここで、適切なタイミングとは、プロセスが実行を中断すると共に、ライセンスの解放後とする。
さらに、ライセンス管理部11は、例えば、ライセンスサーバ(不図示)に第1のソフトウェアのライセンスを解放したこと通知する。
これにより、例えば、ライセンスサーバは、第1のソフトウェアのライセンスの割り当て要求を受け付けた際に割り当て可能なライセンスが無い場合であっても、解放要求情報102に基づいて、ライセンス管理部11からライセンスが解放されるため、速やかにライセンスの割り当て要求元に対して、係るライセンスを割り当てることが可能となる。
このように本実施の形態に係るライセンス管理装置10によれば、上述した第1の実施形態において説明した効果を享受できると共に、さらに、ライセンス管理装置10は、長時間ライセンスを占有するプロセスがあった場合であっても、解放要求情報102に基づいてライセンスを効率的に解放(解除)することができる。
その理由は、ライセンス管理部11は、解放要求情報102を受信するのに応じて、ライセンスを解放することができるからである。
<第3の実施形態>
次に、上述した本発明の第2の実施形態に係るライセンス管理装置10を基本とする第3の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
本発明の第3の実施形態におけるライセンス管理システム50について、図2、図3、図5及び図6を参照して説明する。
図5は、本発明の第3の実施形態におけるライセンス管理装置10を含むライセンス管理システム50の構成を示すブロック図である。
図5において、ライセンス管理システム50は、大別して、ライセンスサーバ51とライセンス管理装置10を含む計算機52とを有する。
ライセンスサーバ51は、ライセンス制御部53とライセンス管理情報部54とを有する。
ライセンス制御部53は、計算機52から第1のソフトウェアのライセンスの割り当て要求を受け付けるのに応じて、ライセンス管理情報部54に格納された情報に基づいて、係るライセンスの割り当て可否を判定する。
ライセンス制御部53は、係るライセンスの割り当て可否を判定した結果、そのライセンスを割り当て可能と判定した場合に、計算機52に第1のライセンス情報101を通知する。
一方で、ライセンス制御部53は、係るライセンスの割り当て可否を判定した結果、そのライセンスを割り当てできないと判定した場合に、ライセンス管理情報部54に格納された情報に基づいて、第1のソフトウェアのライセンスの解放を依頼する計算機を特定する。
さらに、ライセンス制御部53は、特定した計算機に対して第1のソフトウェアのライセンスの解放要求(解放要求情報102)を通知する(ライセンス制御部53、ライセンス管理情報部54については、本実施形態において後述する)。
また、図5に示すライセンスサーバ51と計算機52とは、通信ネットワーク110を介して、通信可能である。
通信ネットワーク110は、例えば、携帯電話事業者が所有する各種通信回線、インターネットサービスプロバイダ等が提供するインターネット等の一般的な通信回線である。但し、本実施形態に係る実施例を例に説明する本発明は、これらに限定されない(以下の実施形態においても同様)。
尚、以下の説明において、説明の便宜上、計算機52は、1台の計算機52が通信ネットワーク110に接続する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されず、計算機52は、1台以上の計算機52が通信ネットワーク110に接続する構成を採用してもよい。
また、ライセンスサーバ51が計算機52から第1のソフトウェアのライセンスの割り当て要求を受信するのに応じて、第1のライセンス情報101を計算機52に通知する技術自体は、現在では一般的な技術を採用することができるので、本実施形態における詳細な説明は省略する(以下、各実施形態においても同様)。
次に、以下の説明において、説明の便宜上、一例として、本実施形態におけるライセンス管理装置10をライセンス管理システム50に適用した際の動作について説明する。
ここでは、説明の便宜上、計算機52のライセンス管理装置10は、第1のソフトウェアのライセンスの割り当てを要求することとする。
ライセンス管理部11は、第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けるのに応じて、ライセンスサーバ51にライセンスの割り当て要求を通知する(図2に示すステップS1)。
次に、ライセンス管理部11は、係るライセンスを利用する第1のプロセスと異なるプロセス(第2のプロセス)の有無を判定する(図2に示すステップS2)。
ライセンス管理部11は、ライセンスを利用する第2のプロセスの有無を判定した結果、ライセンスを利用する第2のプロセスが無いと判定する(図2に示すステップS3において「NO」)。
ライセンス管理部11は、ライセンスサーバ51から通信部(不図示)を介して第1のライセンス情報101を受信したか否かを判定する(図2に示すステップS4)。
ここでは、ライセンス管理部11は、ライセンスサーバ51から第1のライセンス情報101を受信することとする。尚、説明の便宜上、ライセンスサーバ51から第1のライセンス情報101を通知する動作については、本実施例において後述する。
ライセンス管理部11は、判定した結果、第1のライセンス情報101を受信していると判定する(図2に示すステップS5において「YES」)。
さらに、ライセンス管理部11は、第1のソフトウェアに対応するセマフォを利用可能な状態にする(図2に示すステップS6)。
尚、ライセンス管理部11が第1のソフトウェアに対応するセマフォを利用可能な状態にする動作は、第1の実施形態において説明した動作と同様である。そのため、重複する説明は省略する。
実行制御部3は、第1のソフトウェアのライセンスが割り当てられることを要求する第1のプロセスの属性情報を設定すると共に、第1のプロセスを実行可能な状態に制御する(図2に示すステップS7)。
これにより、実行可能状態となった第1のプロセスは、標準スケジューラにおけるスケジューリングによってプロセッサを割り当てられた際に、第1のソフトウェアを実行する。
次に、図6に示すフローチャートに沿って計算機52から第1のソフトウェアのライセンスの割り当て要求を受け付けた際のライセンスサーバ51の動作手順を説明する。
図6は、本発明の第3の実施形態におけるライセンスサーバ51が行う計算機52から第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。
ここで、以下の説明において、説明の便宜上、一例として、ライセンスサーバ51は、計算機52から係るライセンスの割り当て要求に対して割り当て可能なライセンスが無いこととする。
尚、説明の便宜上、上述した構成を例に説明するが、本実施形態を例に説明する本発明は、この構成には限定されない(以下の実施形態においても同様)。
ステップS21:
ライセンスサーバ51のライセンス制御部53は、計算機52から第1のソフトウェアのライセンスの割り当て要求を受け付けるのに応じて、ライセンスサーバ51に格納された契約情報(不図示)に基づいて、計算機52が第1のソフトウェアの利用条件を満たすか否かを判定する。
ここで、契約情報とは、一般的に知られたライセンス管理されたソフトウェアにおける利用可能なライセンス数や計算機毎に設定された係るソフトウェアの利用可否等の情報を含む。但し、本実施形態を例に説明する本発明は、これらに限定されない(以下、各実施形態においても同様)。
ステップS22において「YES」:
ライセンス制御部53は、契約情報に基づいて、計算機52が第1のソフトウェアの利用条件を満たすか否かを判定した結果、計算機52が第1のソフトウェアの利用条件を満たすと判定した場合に、処理をステップS23に進める。
ステップS22において「NO」:
ライセンス制御部53は、契約情報に基づいて、計算機52が第1のソフトウェアの利用条件を満たすか否かを判定した結果、計算機52が第1のソフトウェアの利用条件を満たさないと判定した場合に、処理を終了する。
ステップS23:
ライセンス制御部53は、ライセンス管理情報部54に格納されたライセンス管理情報に基づいて、第1のソフトウェアのライセンスを割り当て可能か否か判定する。
ここでは、説明の便宜上、一例として、ライセンス制御部53は、係るライセンスを割り当てできないこととする。
ステップS24において「YES」:
ライセンス制御部53は、計算機52からのライセンスの割り当て要求に対してライセンスを割り当て可能か否か判定した結果、ライセンスを割り当て可能と判定した場合に、処理をステップS25に進める。
ステップS24において「NO」:
ライセンス制御部53は、計算機52からのライセンスの割り当て要求に対してライセンスを割り当て可能か否か判定した結果、ライセンスを割り当てできないと判定した場合に、処理をステップS27に進める。
ステップS25:
ライセンス制御部53は、計算機52に第1のソフトウェアのライセンスを割り当てる。即ち、ライセンス制御部53は、計算機52に第1のライセンス情報101を通知する。
ステップS26:
ライセンス制御部53は、ライセンス管理情報部54にライセンスにおける管理情報(ライセンス管理情報)を格納する。
ここで、ライセンス管理情報とは、ライセンス情報と、計算機52から第1のソフトウェアのライセンスの割り当て要求を受け付けた時刻(受付時刻)と、計算機52を識別可能な識別情報と、ライセンス管理部11にライセンスの割り当て要求した第1のプロセスを識別可能なプロセスIDと、ライセンスを割り当てた時刻(割当時刻)と、ライセンスを解放した時刻(解放時刻)とが関連付けられた情報を含む。
尚、解放時刻とは、計算機52のライセンス管理部11から第1のプロセスにおいてライセンスの利用が終了したことを示す通知(図3に示すステップS13及びS14)を受信した際の時刻とする。
ステップS27:
ライセンス制御部53は、ライセンス管理情報部54を参照すると共に、ライセンス管理情報部54のライセンス管理情報に基づいて、ライセンスの解放を依頼する計算機を特定する。
尚、ライセンス制御部53がライセンス管理情報部54に格納された情報に基づいて、ライセンスの解放を依頼する計算機を特定する処理は、例えば、割り当て可能なライセンスが無く、且つ計算機からライセンスの割り当て要求を受け付けた際に行うようにしてもよい。
また、係る処理は、所定の間隔において定期的に利用開始時刻から長時間使用している計算機を特定するようにしてもよい。
さらに、係る処理は、所定の期間における割り当て時間から閾値を算出すると共に、その閾値を超える時間使用している計算機を特定するようにしてもよい。
その場合に、所定の期間における割り当て時間は、複数の計算機においてライセンスを利用する場合を考慮することとする。但し、本実施形態を例に説明する本発明は、これらに限定されない(以下、各実施形態においても同様)。
ステップS28:
ライセンス制御部53は、第1のソフトウェアのライセンスの割り当て要求した計算機52と特定した計算機とを比較する。
より具体的に、一例として、ライセンス制御部53は、計算機52の識別情報と特定した計算機の識別情報とを比較する。
これにより、ライセンス制御部53は、係るライセンスの割り当て要求した計算機52にライセンスの解放を依頼することを防ぐことができる。
ここでは、説明の便宜上、一例として、特定した計算機と計算機52とが異なることとする。
ステップS29において「YES」:
ライセンス制御部53は、第1のソフトウェアのライセンスの割り当て要求した計算機52と特定した計算機とを比較した結果、特定した計算機と計算機52とが同じ計算機の場合に、処理をステップS30に進める。
ステップS29において「NO」:
ライセンス制御部53は、第1のソフトウェアのライセンスの割り当て要求した計算機52と特定した計算機とを比較した結果、特定した計算機と計算機52とが異なる計算機の場合に、処理をステップS31に進める。
ステップS30:
ライセンス制御部53は、管理情報をライセンス管理情報部54に格納する。
より具体的に、ライセンス制御部53は、受付時刻と、計算機52を識別可能な識別情報と、プロセスIDとをライセンス管理情報部54に格納する。
ステップS31:
ライセンス制御部53は、特定した計算機に第1のソフトウェアのライセンスの解放要求(解放要求情報102)を通知すると共に、処理をステップS23に進める。
ここで、ライセンス制御部53によって特定された計算機は、解放要求情報102を受信すると共に、係るライセンスを解放することとする。
そのため、ライセンス制御部53は、計算機52に第1のライセンス情報101を通知することができる。
尚、特定された計算機が解放要求情報102を受信するのに応じて、ライセンスを返却する動作は、第2の実施形態において説明した動作と同様である。そのため、重複する説明は省略する。
また、上述した実施形態では、説明の便宜上、一例として、ライセンスサーバ51は、ライセンス制御部53がライセンス管理情報部54に格納された情報に基づいて、各種処理を実行する構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。
ライセンスサーバ51は、一般的に知られたフローティングライセンスによってライセンスを管理するライセンスサーバを採用してもよい。この場合であっても、第1の実施形態において説明した効果を享受できる。
このように本実施の形態に係るライセンス管理装置10によれば、上述した第1及び第2の実施形態において説明した効果を享受できると共に、また、ライセンス管理装置10は、例えば、一般的に知られたパーソナルコンピュータや携帯端末等においてライセンス管理されたソフトウェアを実行することが可能な計算機に適用して好適である。
さらに、ライセンス管理システム50は、長時間ライセンスを占有する計算機があった場合であっても、ライセンスの割り当てを効率的に実施することができる。
その理由は、ライセンスサーバ51のライセンス制御部53は、ライセンス管理情報部54に格納された情報に基づいて、長時間ライセンスを使用している計算機を特定することができる。また、ライセンス制御部53は、特定した計算機がライセンスを解放するように解放要求情報102を通知することができるからである。
また、ライセンス管理部11は、受信した解放要求情報102に基づいて、ライセンスを解放することができるからである。
<第4の実施形態>
次に、上述した本発明の第3の実施形態に係るライセンス管理装置10を基本とする第4の実施形態について説明する。以下の説明においては、本実施形態に係る特徴的な部分を中心に説明する。その際、上述した各実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明は省略する。
本発明の第4の実施形態におけるライセンス管理装置20について、図2、図7及び図8を参照して説明する。
図7は、本発明の第4の実施形態におけるライセンス管理装置20の構成を示すブロック図である。
図7において、ライセンス管理装置20は、ライセンス管理部21と実行制御部22とを有する。
図8は、本発明の第4の実施形態におけるライセンス管理装置20が行う第1のプロセスから第1のソフトウェアのライセンスの割り当て要求を受け付けた際の動作を示すフローチャートである。
図8に示すフローチャートに沿ってライセンス管理装置20の動作手順を説明する。
尚、図8に示すステップS1乃至ステップS7における動作は、第1の実施形態において説明した図2に示すステップS1乃至ステップS7における動作と同様である。そのため、重複する説明は省略する。
ここで、ライセンス管理装置20は、不図示のライセンスサーバ(例えば、図5に示すライセンスサーバ51)から第2のライセンス情報103を受信することとする。
また、第2のライセンス情報103は、第1の実施形態において説明した第1のライセンス情報101に、さらに、第1のソフトウェアのライセンスの利用形態を示す利用種別情報を含む。
利用種別情報とは、第1のソフトウェアのライセンスをプロセスが占有して利用するか否かを示す。
ステップS41:
ライセンス管理部21は、第2のライセンス情報103を受信したか否かを判定する。
ステップS42において「NO」:
ライセンス管理部21は、第2のライセンス情報103を受信したか否かを判定した結果、第2のライセンス情報103を受信していないと判定した場合に、処理をステップS41に進める。
ステップS42において「YES」:
ライセンス管理部21は、第2のライセンス情報103を受信したか否かを判定した結果、第2のライセンス情報103を受信していると判定した場合に、処理をステップS43に進める。
ステップS43:
ライセンス管理部21は、第2のライセンス情報103に含まれる利用種別情報に基づいて、第1のソフトウェアのライセンスの排他処理を行うか否かを判定する。
ステップS44において「YES」:
ライセンス管理部21は、係るライセンスの排他処理を行うか否かを判定した結果、ライセンスの排他処理を行うと判定した場合に、処理をステップS6に進める。
ステップS44において「NO」:
ライセンス管理部21は、係るライセンスの排他処理を行うか否かを判定した結果、ライセンスの排他処理を行なわない判定した場合に、処理をステップS45に進める。即ち、この場合、ライセンス管理部21は、割り当たられたライセンスをセマフォによって管理しないことを意味する。
ステップS45:
実行制御部22は、第1のソフトウェアのライセンスの割り当てを要求する第1のプロセスを実行可能状態にする。
これにより、ライセンスを割り当てられたプロセスは、ライセンスを占有して利用することができる。
尚、ライセンスサーバのライセンス制御部53(不図示)は、ライセンス管理部21からライセンスの割り当て要求を受け付けるのに応じて、例えば、プロセスIDに基づいて、ライセンス種別情報を参照する。
次に、ライセンス制御部53は、ライセンス種別情報からライセンスIDと関連付けられたライセンスの利用種別情報を取得する。
さらに、ライセンス制御部53は、取得した利用種別情報を第2のライセンス情報103に付加すると共に、第2のライセンス情報103をライセンス管理部21に通知する構成を採用してもよい。
ここで、ライセンス種別情報とは、プロセスIDと、ライセンスの利用種別情報とが関連付けられた情報を含む。
尚、上述した実施形態では、説明の便宜上、一例として、ライセンス種別情報には、プロセスID毎に占有してライセンスを利用するか否かを示す情報(利用種別情報)を含む構成を例に説明した。しかしながら本発明に係る実施形態は、係る構成に限定されない。
ライセンス種別情報には、例えば、利用者と、その利用者毎に設定された優先度と、ライセンスを占有するか否かを示す情報とを含む構成を採用してもよい。
これにより、例えば、優先度の低い利用者がライセンスを利用しており、その利用者の利用種別がライセンスを占有して利用しないことを示す場合に、優先度が高く、利用種別がライセンスを占有して利用することを示す利用者からライセンスの割り当て要求を受け付けたライセンス制御部53は、優先度の低い利用者に解放要求情報102を通知する。
次に、優先度の低い利用者からライセンスの解放を受け付けたライセンス制御部53は、優先度が高く、利用種別がライセンスを占有して利用することを示す利用者にライセンスを割り当てることができる。
このように本実施の形態に係るライセンス管理装置20によれば、上述した各実施形態において説明した効果を享受できると共に、さらに、ライセンス管理装置20は、プロセスにおけるライセンスの利用形態に応じて、ライセンスの割り当てを効率的に実施することができる。
その理由は、ライセンス管理装置20のライセンス管理部21は、第2のライセンス情報103に含まれる利用種別情報に基づいて、ライセンスの排他処理を行うか否かを判定する。さらに、ライセンス管理部21は、ライセンスの排他処理を行う場合のみセマフォを利用可能な状態にする。一方で、ライセンス管理部21は、ライセンスの排他処理を行わない場合には、セマフォを利用可能な状態にしない。これにより、ライセンスを占有して利用するプロセスがある場合に、ライセンス管理部21は、プロセスのライセンスの利用形態に合わせてライセンスの割り当てを行うことができるからである。
また、本実施の形態に係るライセンス管理装置20によれば、利用形態に合わせたライセンスの利用料(価格)を設定することができる。その理由は、ライセンス管理されたソフトウェアを利用する環境に応じて、様々なライセンス形態を提供することができるからである。
(ハードウェア構成例)
上述した実施形態において図1、図4、図5、図7に示した各部は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図9を参照して説明する。
図9は、本発明の模範的な実施形態に係るライセンス管理装置を実行可能な情報処理装置300(コンピュータ)の構成を例示的に説明する図である。即ち、図9は、図1に示したライセンス管理装置1、或いは、図4に示したライセンス管理装置10、図5に示したライセンス管理システム50、図7に示したライセンス管理装置20の全体または一部のライセンス管理装置を実現可能なサーバ等のコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図9に示した情報処理装置300は、CPU(Central_Processing_Unit)301、ROM(Read_Only_Memory)302、RAM(Random_Access_Memory)303、ハードディスク304(記憶装置)、並びに外部装置との通信インタフェース(Interface:以降、「I/F」と称する)305、CD−ROM(Compact_Disc_Read_Only_Memory)等の記憶媒体307に格納されたデータを読み書き可能なリーダライタ308を備え、これらの構成がバス306(通信線)を介して接続された一般的なコンピュータである。
そして、上述した実施形態を例に説明した本発明は、図9に示した情報処理装置300に対して、その実施形態の説明において参照したブロック構成図(図1、図4、図5、図7)或いはフローチャート(図2、図3、図6、図8)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU301に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータ・プログラムは、読み書き可能な揮発性の記憶メモリ(RAM303)またはハードディスク304等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータ・プログラムの供給方法は、CD−ROM等の各種記憶媒体307を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等のように、現在では一般的な手順を採用することができる。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード或いは、そのコードが格納された記憶媒体307によって構成されると捉えることができる。
尚、上述した各実施形態の一部又は全部は、以下の付記のようにも記載されうる。しかしながら、上述した実施形態及びその実施例により例示的に説明した本発明は、以下には限らない。即ち、
(付記1)
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にするライセンス管理部と、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する実行制御部と、
を備えることを特徴とするライセンス管理装置。
(付記2)
前記ライセンス管理部は、
前記第1のプロセスが前記ライセンスを解除する際に、前記ライセンスの割り当てを要求したプロセス数と前記ライセンスサーバから割り当てられたライセンス数とを比較し、該プロセス数が該ライセンス数以下の場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスを解除し、そのライセンスの利用を終了したことを通知し、
該プロセス数が該ライセンス数より多い場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスの利用を終了したことを通知することを特徴とする付記1に記載のライセンス管理装置。
(付記3)
前記ライセンス管理部は、
前記ライセンスサーバから前記ライセンスの解除を要求する情報を含む解放要求情報を受信するのに応じて、該ライセンスを前記ライセンスサーバに解除することを特徴とする付記1または付記2に記載のライセンス管理装置。
(付記4)
前記排他処理は、セマフォであることを特徴とする付記1に記載のライセンス管理装置。
(付記5)
前記ライセンス管理部は、
前記ライセンスサーバから前記ライセンスの使用を許可する情報と前記ライセンスの利用形態を示す利用種別情報とを含む第2のライセンス情報を受信するのに応じて、前記利用種別情報に基づいて、前記排他処理を行うか否かを判定することを特徴とする付記1乃至付記5の何れかに記載のライセンス管理装置。
(付記6)
受信した前記ライセンスの割り当て要求に応じて、前記第1のライセンス情報を通知するライセンスサーバと、
付記1乃至付記5の何れかに記載されたライセンス管理装置を含む計算機と、
を備えることを特徴とするライセンス管理システム。
(付記7)
前記ライセンスサーバは、
前記計算機からの前記ライセンスの割り当て要求に応じて、ライセンス情報を含むライセンス管理情報に基づいて、前記ライセンスを割り当て可能か否かを判定し、
前記ライセンスを割り当て可能と判定した場合に、前記第1のライセンス情報を前記計算機に通知し、
ライセンスを割り当てできないと判定した場合に、前記ライセンス管理情報に基づいて、前記解放要求情報を通知する計算機を特定し、前記特定した計算機と前記割り当て要求した計算機とを比較した結果に応じて、前記解放要求情報を前記特定した計算機に通知するライセンス制御部を備えることを特徴とする付記6に記載のライセンス管理システム。
(付記8)
前記ライセンス管理情報は、
前記ライセンス情報と、前記計算機からライセンスの割り当て要求を受付けた受付時刻と、前記計算機を識別可能な識別情報と、前記第1のプロセスを識別可能なプロセスIDと、前記計算機に前記ライセンスを割り当てた割当時刻と、前記計算機から前記ライセンスの解除を受け付けた解放時刻とが関連付けられた情報を含むことを特徴とする付記7に記載のライセンス管理システム。
(付記9)
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にし、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定することを特徴とするライセンス管理方法。
(付記10)
前記第1のプロセスが前記ライセンスを解除する際に、前記ライセンスの割り当てを要求したプロセス数と前記ライセンスサーバから割り当てられたライセンス数とを比較し、該プロセス数が該ライセンス数以下の場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスを解除し、そのライセンスの利用を終了したことを通知し、
該プロセス数が該ライセンス数より多い場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスの利用を終了したことを通知することを特徴とする付記9に記載のライセンス管理方法。
(付記11)
前記ライセンスサーバから前記ライセンスの解除を要求する情報を含む解放要求情報を受信するのに応じて、該ライセンスを前記ライセンスサーバに解除することを特徴とする付記9または付記10に記載のライセンス管理方法。
(付記12)
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にする機能と、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する機能と、
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
(付記13)
前記第1のプロセスが前記ライセンスを解除する際に、前記ライセンスの割り当てを要求したプロセス数と前記ライセンスサーバから割り当てられたライセンス数とを比較し、該プロセス数が該ライセンス数以下の場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスを解除し、そのライセンスの利用を終了したことを通知し、
該プロセス数が該ライセンス数より多い場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスの利用を終了したことを通知する機能
をコンピュータに実現させることを特徴とする付記12に記載のコンピュータ・プログラム。
本発明は、上述した各実施形態には限定されない。本発明は、例えば、パーソナルコンピュータ、POS(Point_Of_Sale)システム、サーバ、携帯端末、複写機、複合機等のライセンス管理されたソフトウェアを搭載する各種の電子機器に適用可能である。
1 ライセンス管理装置
2 ライセンス管理部
3 実行制御部
10 ライセンス管理装置
11 ライセンス管理部
20 ライセンス管理装置
21 ライセンス管理部
22 実行制御部
50 ライセンス管理システム
51 ライセンスサーバ
52 計算機
53 ライセンス制御部
54 ライセンス管理情報部
101 第1のライセンス情報
102 解放要求情報
103 第2のライセンス情報
110 通信ネットワーク
300 情報処理装置
301 CPU
302 ROM
303 RAM
304 ハードディスク
305 通信インタフェース
306 バス
307 記憶媒体
308 リーダライタ

Claims (10)

1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にするライセンス管理部と、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する実行制御部と、
を備えることを特徴とするライセンス管理装置。
前記ライセンス管理部は、
前記第1のプロセスが前記ライセンスを解除する際に、前記ライセンスの割り当てを要求したプロセス数と前記ライセンスサーバから割り当てられたライセンス数とを比較し、該プロセス数が該ライセンス数以下の場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスを解除し、そのライセンスの利用を終了したことを通知し、
該プロセス数が該ライセンス数より多い場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスの利用を終了したことを通知することを特徴とする請求項1に記載のライセンス管理装置。
前記ライセンス管理部は、
前記ライセンスサーバから前記ライセンスの解除を要求する情報を含む解放要求情報を受信するのに応じて、該ライセンスを前記ライセンスサーバに解除することを特徴とする請求項1または請求項2に記載のライセンス管理装置。
前記排他処理は、セマフォであることを特徴とする請求項1に記載のライセンス管理装置。
前記ライセンス管理部は、
前記ライセンスサーバから前記ライセンスの使用を許可する情報と前記ライセンスの利用形態を示す利用種別情報とを含む第2のライセンス情報を受信するのに応じて、前記利用種別情報に基づいて、前記排他処理を行うか否かを判定することを特徴とする請求項1乃至請求項5の何れかに記載のライセンス管理装置。
受信した前記ライセンスの割り当て要求に応じて、前記第1のライセンス情報を通知するライセンスサーバと、
請求項1乃至請求項5の何れかに記載されたライセンス管理装置を含む計算機と、
を備えることを特徴とするライセンス管理システム。
前記ライセンスサーバは、
前記計算機からの前記ライセンスの割り当て要求に応じて、ライセンス情報を含むライセンス管理情報に基づいて、前記ライセンスを割り当て可能か否かを判定し、
前記ライセンスを割り当て可能と判定した場合に、前記第1のライセンス情報を前記計算機に通知し、
ライセンスを割り当てできないと判定した場合に、前記ライセンス管理情報に基づいて、前記解放要求情報を通知する計算機を特定し、前記特定した計算機と前記割り当て要求した計算機とを比較した結果に応じて、前記解放要求情報を前記特定した計算機に通知するライセンス制御部を備えることを特徴とする請求項6に記載のライセンス管理システム。
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にし、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定することを特徴とするライセンス管理方法。
前記第1のプロセスが前記ライセンスを解除する際に、前記ライセンスの割り当てを要求したプロセス数と前記ライセンスサーバから割り当てられたライセンス数とを比較し、該プロセス数が該ライセンス数以下の場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスを解除し、そのライセンスの利用を終了したことを通知し、
該プロセス数が該ライセンス数より多い場合に、前記ライセンスサーバに前記第1のプロセスが前記ライセンスの利用を終了したことを通知することを特徴とする請求項8に記載のライセンス管理方法。
1つ以上の第1のプロセスから、該第1のプロセスが実行するソフトウェアのライセンスの割り当て要求を受付けるのに応じて、ライセンスサーバに前記ライセンスの割り当てを要求し、前記ライセンスを利用する前記第1のプロセスとは異なる第2のプロセスの有無を判定し、前記第2のプロセスが無い場合に、前記ライセンスの使用を許可する情報を含む第1のライセンス情報を受信したか否かを判定し、前記第1のライセンス情報を受信したと判定した場合に、前記ソフトウェアに対応する前記ライセンスの排他処理を利用可能な状態にする機能と、
前記第1のプロセスの属性情報に前記排他処理を実行するよう指示する情報を設定する機能と、
をコンピュータに実現させることを特徴とするコンピュータ・プログラム。
JP2013020593A 2013-02-05 2013-02-05 ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム Active JP6123320B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013020593A JP6123320B2 (ja) 2013-02-05 2013-02-05 ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013020593A JP6123320B2 (ja) 2013-02-05 2013-02-05 ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2014153761A true JP2014153761A (ja) 2014-08-25
JP6123320B2 JP6123320B2 (ja) 2017-05-10

Family

ID=51575619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013020593A Active JP6123320B2 (ja) 2013-02-05 2013-02-05 ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP6123320B2 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6454540A (en) * 1987-08-25 1989-03-02 Nec Corp Process control system for operating system
JPH10222428A (ja) * 1997-02-10 1998-08-21 Iwanami Shiyoten:Kk ライセンス管理システム
JP2001344031A (ja) * 2000-05-31 2001-12-14 Matsushita Electric Ind Co Ltd ライセンス管理方法
JP2002258962A (ja) * 2001-02-27 2002-09-13 Toyota Motor Corp ソフトウエアライセンス管理システム
JP2003091613A (ja) * 2001-07-10 2003-03-28 Systemneeds Inc ライセンス方法及びライセンス付与システム
JP2005250635A (ja) * 2004-03-02 2005-09-15 Nec Corp ライセンス管理方法および装置
JP2007272458A (ja) * 2006-03-30 2007-10-18 Canon Inc 情報処理装置、情報処理システム及び情報処理方法
JP2008234556A (ja) * 2007-03-23 2008-10-02 Hitachi Ltd ライセンス管理システム、ライセンス管理方法、およびライセンス管理プログラム
US20090006257A1 (en) * 2007-06-26 2009-01-01 Jeffrey Jay Scheel Thread-based software license management

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6454540A (en) * 1987-08-25 1989-03-02 Nec Corp Process control system for operating system
JPH10222428A (ja) * 1997-02-10 1998-08-21 Iwanami Shiyoten:Kk ライセンス管理システム
JP2001344031A (ja) * 2000-05-31 2001-12-14 Matsushita Electric Ind Co Ltd ライセンス管理方法
JP2002258962A (ja) * 2001-02-27 2002-09-13 Toyota Motor Corp ソフトウエアライセンス管理システム
JP2003091613A (ja) * 2001-07-10 2003-03-28 Systemneeds Inc ライセンス方法及びライセンス付与システム
JP2005250635A (ja) * 2004-03-02 2005-09-15 Nec Corp ライセンス管理方法および装置
JP2007272458A (ja) * 2006-03-30 2007-10-18 Canon Inc 情報処理装置、情報処理システム及び情報処理方法
JP2008234556A (ja) * 2007-03-23 2008-10-02 Hitachi Ltd ライセンス管理システム、ライセンス管理方法、およびライセンス管理プログラム
US20090006257A1 (en) * 2007-06-26 2009-01-01 Jeffrey Jay Scheel Thread-based software license management

Also Published As

Publication number Publication date
JP6123320B2 (ja) 2017-05-10

Similar Documents

Publication Publication Date Title
CN110647394B (zh) 一种资源分配方法、装置及设备
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
JP6954267B2 (ja) ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム
US11102287B2 (en) Minimizing service restart by optimally resizing service pools
JP6614340B2 (ja) ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム
AU2011306014B2 (en) Methods and systems for dynamically managing requests for computing capacity
US10033816B2 (en) Workflow service using state transfer
JP6542810B2 (ja) マルチテナントアプリケーションサーバ環境におけるワークマネージャを提供するためのシステムおよび方法
US8468530B2 (en) Determining and describing available resources and capabilities to match jobs to endpoints
US10164904B2 (en) Network bandwidth sharing in a distributed computing system
CN114168302A (zh) 任务调度方法、装置、设备及存储介质
WO2007052443A1 (ja) 情報処理方法および情報処理装置
JP2017068480A (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
EP2843548B1 (en) Method, system, and program for scheduling jobs in a computing system
JP2013210683A (ja) オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード
JP6872117B2 (ja) 情報処理装置及びプログラム
JP2008077281A (ja) スーパースケジューラ、処理依頼方法、およびスーパースケジューラプログラム
JP2017027367A (ja) 画像形成装置、リソース管理装置、リソース管理方法、画像形成装置およびプログラム
US10831557B2 (en) Task management using a virtual node
CN112860421A (zh) 用于作业处理的方法、设备和计算机程序产品
JP6123320B2 (ja) ライセンス管理装置及びその管理方法、ライセンス管理システム、並びにコンピュータ・プログラム
US9628401B2 (en) Software product instance placement
JP6885441B2 (ja) ライセンス管理装置、ライセンス管理方法、及び、ライセンス管理プログラム
EP3659033B1 (en) Connector leasing for long-running software operations
US10025635B2 (en) Adaptive scheduling policy for jobs submitted to a grid

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170210

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170320

R150 Certificate of patent or registration of utility model

Ref document number: 6123320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150