JP2007286703A - 親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム - Google Patents
親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム Download PDFInfo
- Publication number
- JP2007286703A JP2007286703A JP2006110355A JP2006110355A JP2007286703A JP 2007286703 A JP2007286703 A JP 2007286703A JP 2006110355 A JP2006110355 A JP 2006110355A JP 2006110355 A JP2006110355 A JP 2006110355A JP 2007286703 A JP2007286703 A JP 2007286703A
- Authority
- JP
- Japan
- Prior art keywords
- license
- parent
- licenses
- job
- condition
- 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.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims description 86
- 238000000034 method Methods 0.000 claims description 50
- 238000012545 processing Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 238000012423 maintenance Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】親子ライセンスに係る条件を守りながら、効率的なライセンス管理を可能とすることである。
【解決手段】ジョブ実行の要求を取得する(S10)と、ジョブを現在行っていない空きライセンス数が要求されたライセンス数以上であるか否かを判断し(S12)、条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であるか否かを判断し(S16)、この条件も満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て(S18)、S16の条件を満たさない場合には、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えているか否かを判断し(S20)、S20の条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行う(S24)。
【選択図】図2
【解決手段】ジョブ実行の要求を取得する(S10)と、ジョブを現在行っていない空きライセンス数が要求されたライセンス数以上であるか否かを判断し(S12)、条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であるか否かを判断し(S16)、この条件も満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て(S18)、S16の条件を満たさない場合には、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えているか否かを判断し(S20)、S20の条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行う(S24)。
【選択図】図2
Description
本発明は、親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラムに係り、特に、2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理する親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラムに関する。
数値解析への要求の大規模化、複雑化に対応するため、複数の中央演算処理装置(Central Processing Unit:CPU)を用いて並列処理を行い、演算の高速化を図ることが要求される。この場合、複数のCPUに演算処理を平行して行わせるために、ソフトウェアのライセンスがそれぞれ必要となり、保有ライセンス数及びライセンス維持料が増大する。
複数のソフトウェアのライセンスの使用状況を効率的するために、ライセンス管理が行われる。例えば、特許文献1には、ライセンスソフトウェアの実行処理等のジョブをシステム全体で効率的に割り当てることができると共にクライアントがジョブの実行状況を容易に把握できるジョブ実行管理装置が開示されている。ここではジョブを受け取るとその入力ファイルサイズ、必要メモリサイズ、優先度を解析し、データベースからかこのジョブの平均実行時間を求めることが述べられている。また、ライセンス管理部が、入力されたジョブが指定するライセンスソフトウェアの契約数が超過していないか、すなわち空きライセンスがあるか否かを判断し、空きがない場合には待ち行列に出力され、待ち行列では最優先ジョブが取り出される。このようにネットワーク上のライセンスが一括管理され、ジョブの解析結果をもとにした最適なCPUリソースが割り当てられ、またクライアントは要求したジョブの実行時間をほぼリアルタイムで把握できる、と述べられている。
また、特許文献2には、従来ライセンスの貸し借りは管理者等が手動で行なっていたものを、管理マスターサーバがネットワークに接続される複数のライセンスサーバが保持しているライセンスを管理するシステムが開示されている。ここでは、ライセンスサーバが保有しているライセンスを専有ライセンスと共有ライセンスに配分し、共有ライセンスを他のライセンスサーバに属するサーバと共有することで、ライセンスの共有化を効率よくすることが述べられている。
また、特許文献3には、サイト毎にみれば賄えない大きな要求量でもネットワーク全体でみれば調達可能な変動量であるような一時的かつ少量のライセンス要求に応えるように、各サイトとは別に構成されている共通サーバを備え、この共通サーバと各サーバとの間の接続を手動操作で切り換える方法が開示されている。これにより、各サイト同士が直接接続されることがないため、他のサイトからの不正侵入を防止できセキュリティも確保されることが述べられている。
さらに、特許文献4には、ネットワーク上のライセンス管理として、ユーザにライセンスを付与してしまうと、そのユーザが実際にそのソフトウェアを使用して作業を行なっているかどうかに関わらず、ライセンスが維持される問題に対し、ライセンス割り当て中の各ユーザのツール状況を調査することが開示されている。ここでは、ユーザの在席あるいは不在、当該ツールのついての実行中プロセスの有無を調査し、使用端末のところにユーザが居ない場合には基本的にそのライセンスを強制切断することが述べられている。
また、特許文献5には、従来のライセンス管理システムでは、ライセンスの利用許可を全ユーザ(全マシン)に平等に与えるか、ユーザ又はマシン単位に個々に与えるしかない問題に対し、特定用途に利用する複数マシンを1つのグループ(プロジェクトマシン)として認識し、起動要求を発したユーザがプロジェクトに属するか否かによって、使用資格を判断することが開示されている。
このように、ライセンス管理を効率的に行うことの他に、ライセンス維持料を抑制する要望に対して、いわゆる親子ライセンス方式が提案されることがある。親子ライセンス方式とは、2つ以上の親ライセンスと複数の子ライセンスとを含むライセンスであって、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可するものである。そして、この条件の下で使用する限り、ライセンス総数に対する維持料が特別に割引される。例えば、親子ライセンスにおいて、親ライセンスがN個あり、子ライセンスがM個ある契約である場合、この(M+N)個のライセンス維持料の総額は、通常の(M+N)個のソフトウェアライセンス維持料の総額よりも安価である。
この親子ライセンス方式が適用される場合のライセンス使用状況の管理は、通常のソフトウェアの使用状況の管理に加えて、1つのジョブ実行には必ず1つ以上の親ライセンスを使用する条件が守られているかどうかが管理されることになる。
親子ライセンス方式においては、1つのジョブ実行には必ず1つ以上の親ライセンスを使用する条件の下にライセンス維持料を低廉にして複数のライセンスを提供するものである。したがって、その条件を満たさないジョブ要求に対しては、その条件を満たす親ライセンスの空き又は子ライセンスの空きがでるまで、待機処理がなされることになる。その結果、ライセンスの現在の使用状況によって、空きライセンスの総数としてはジョブ要求を満たす十分なものがあるにもかかわらず、待機処理がなされることが生じ、せっかくのライセンス総数が生かされないことがある。
本発明の目的は、親子ライセンスに係る条件を守りながら、効率的なライセンス管理を可能とする親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラムを提供することである。
本発明に係る親子ライセンス管理方法は、2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理するライセンス管理方法であって、同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得工程と、ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断工程と、第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断工程と、第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討工程と、第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分工程と、を有することを特徴とする。
また、本発明に係る親子ライセンス管理方法において、ライセンス再配分工程は、親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する工程と、検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分工程と、を有することが好ましい。
また、本発明に係る親子ライセンス管理装置は、2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理するライセンス管理装置であって、同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得手段と、ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断手段と、第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断手段と、第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討手段と、第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分手段と、を有することを特徴とする。
また、本発明に係る親子ライセンス管理装置において、ライセンス再配分手段は、親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する手段と、検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分手段と、を有することが好ましい。
また、本発明に係る親子ライセンス管理プログラムは、2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理する管理装置上で実行されるライセンス管理プログラムであって、同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得処理手順と、ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断処置手順と、第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断処理手順と、第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討処理手順と、第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分処理手順と、を実行することを特徴とする。
また、本発明に係る親子ライセンス管理プログラムにおいて、ライセンス再配分処理手順は、親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する処理手順と、検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分処理手順と、を実行することが好ましい。
上記構成の少なくとも1つにより、親子ライセンスにおいて、ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断し、第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する。そして、これら2つの条件を満たすときは、親子ライセンスの使用条件を満たすので予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当てる。これらの条件を満たさない場合には親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行う。
これによって、空きライセンスの総数と、親ライセンスの総数からいえば実行可能であるが、現在のライセンス使用状況のままでは、新しいジョブ要求に応えられない場合であっても、親ライセンスの再配分を行うことで、ジョブ要求に対応することができる。
そして、ライセンス再配分処理としては、親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索し、検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らすので、親子ライセンスに係る条件を守りながら、効率的なライセンス管理が可能となる。
以下に図面を用いて本発明に係る実施の形態につき、詳細に説明する。以下では、親子ライセンス方式として、2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可するもの(以下において、この条件を親子ライセンス条件という)として説明するが、この親子ライセンス条件に含まれるもので、さらに詳細な条件を付すものとしてもよい。例えば、ライセンスの使用状況に応じて、そのライセンス維持料が変更されるものとしてもよい。また、以下では、ジョブの定義として、複数の演算処理装置を用いて並列処理を行う単位を1つのジョブとするが、1つのジョブに1つの演算処理装置を用いるものを含んでもよい。その意味では、ジョブの単位は、1以上の演算処理装置を用いて、統合的な演算処理を行う単位ということができる。
また、以下に述べる事例では、親子ライセンスの単位を、1つの親ライセンスに対し3つの子ライセンスが属し、合計4つのライセンスを1単位とし、ライセンス契約全体としては3組の親子ライセンス、すなわち、3つの親ライセンスと、9つの子ライセンスを保有する場合について全体のライセンス使用状況を管理する場合について述べるが、これは、単に説明のための一例である。したがって、親子ライセンス条件を満たすものであれば、これ以外の親子ライセンスの単位、及び保有するライセンスの総数であってもよい。また、以下で述べるライセンスの使用履歴も、説明のための一例であって、もちろんこれ以外の使用履歴であってもよい。
図1は、親子ライセンス管理システム10の構成を示すブロック図である。この親子ライセンス管理システム10は、親子ライセンスの単位として、1つの親ライセンスに対し3つの子ライセンスが属し、合計4つのライセンスを1単位とし、ライセンス契約全体としては3組の親子ライセンス、すなわち、3つの親ライセンスと、9つの子ライセンスとを保有している場合について、これら12のライセンスを、親子ライセンス条件の下で効率的な運用を行いながら管理する機能を有するシステムである。
図1では、保有ライセンス群20として、3つの親ライセンス21,22,23が示され、3つの親子ライセンス単位が保有されるものとして示される。すなわち親ライセンス21には、3つの子ライセンス31,32,33が属し、同様に、親ライセンス22には、3つの子ライセンス34,35,36が属し、親ライセンス23には、3つの子ライセンス37,38,39が属する。したがって、図1の場合は、3つの親ライセンス21,22,23と、9つの子ライセンス31〜39を保有していることになる。
3つの親ライセンス21,22,23のそれぞれ、及び9つの子ライセンス31〜39のそれぞれは、同一のソフトウェアに関するライセンスであって、親ライセンス、子ライセンスの区別は、単に親子ライセンス条件が守られているか否かの管理のために便宜上なされたものであり、ソフトウェアの内容の実行について、両者は区別されない。したがって、図1の例では、最小で1CPU、最大で12CPUの範囲で、同一ソフトウェアの実行が可能である。
図1で示されるCPU群40は、複数のCPUがネットワークで相互に接続された演算装置群であり、CPU群40の動作は、各CPUとネットワークで接続されるジョブ管理部42によって管理される。ジョブ管理部42は、保有ライセンス群20を用いて、CPU群40のそれぞれのCPUに所望のジョブを実行させるための管理を行う機能を有する。例えば、保有ライセンス群20が、有限要素法による車両の強度計算を実行できるソフトウェアに関するものであって、上記のように合計12のライセンス使用が可能なものとして、ジョブ管理部42は、A車両に関する強度計算ジョブと、B車両に関する強度計算ジョブと、C車両に関する強度計算ジョブ等の実行を管理する。ジョブの管理は、各ジョブについて並列処理を行うためのCPUの数を含む。かかるジョブ管理部42としては、適当な管理コンピュータ等を用いることができる。
CPU群40とジョブ管理部42とは、親子ライセンス管理システム10の管理される対象であるが、広義の意味で、親子ライセンス管理システム10に含まれるものと考えてもよい。親子ライセンス管理システム10の中核は、ジョブ管理部42とネットワークで接続される親子ライセンス管理装置50である。なお、親子ライセンス管理装置50は、さらにネットワークを介してCPU群40と接続されることができる。
親子ライセンス管理装置50は、ジョブ管理部42と交信し、ジョブ管理部42が実行しようとするジョブの内容を取得し、そのジョブ実行要求を親子ライセンス条件の下で確認し、許可通知、あるいは待機通知、あるいはエラー通知を出す機能を有する。これらの機能は、通常の親子ライセンス管理機能であるが、さらに、ジョブ管理部42からのジョブ要求を取得すると、親子ライセンス条件の下で、効率的なライセンス割り当て及び再配分を行い、その結果に基づいて、ジョブ管理部42に、許可通知、あるいは待機通知、あるいはエラー通知を出す機能を有する。後者の機能には、空きライセンスの総数と、親ライセンスの総数からいえば実行可能であるが、現在のライセンス使用状況のままでは、新しいジョブ要求に応えられない場合に、親ライセンスの再配分を行って、効率的なライセンス割り当て及び再配分を行うことを含む。なお、ジョブ管理部42に通知すると共に、CPU群40を構成する各CPUに通知してもよく、CPU群40を構成する各CPUにのみ通知するものとしてもよい。
親子ライセンス管理装置50は、ジョブ管理部42からのジョブ実行の要求を取得するジョブ要求取得モジュール52と、ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断モジュール54と、第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断モジュール56と、第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断する第3条件判断モジュール58とを有する。そして、第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当てる割り当てモジュール60と、第2条件を満たさないが第3条件を満たす場合に、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を行う親ライセンス再配分モジュール62とを含む。
ここで、親子ライセンス管理装置50が実行するのは、上記のように、保有ライセンス群20の使用状況が親子ライセンス条件を満たすか否かと、それに基づく効率的なライセンス割り当て及び再配分を行ってその結果をジョブ管理部42に通知することである。したがって、親ライセンスの再配分を含んで、ライセンス割り当てを変更する場合でも、それが、システム全体として親子ライセンス条件を満たすものである限り、現在実行中のジョブを中断すること、あるいは、現在ジョブを実行するCPUを変更することはない。親子ライセンス管理装置50が実行するのは、単にライセンス使用状況についての計算とその結果についての通知であり、CPU群40の実行を変更することは行わない。仮に、CPU群40が、通知に反してライセンスを使用する場合には、親子ライセンス管理装置50は、ジョブ管理部42と、必要があれば該当CPUにエラーメッセージを発行し、それ以上のジョブを実行することを阻止することができる。
これらの機能は、ソフトウェアで実行することができ、具体的には、親子ライセンス管理プログラムを実行することで実現できる。親子ライセンス管理プログラムは、親子ライセンスマネージャ等の名称を用いてもよい。また、必要があれば、これらの機能の一部をハードウェアによって実現することもできる。また、親子ライセンス管理装置50の機能を、ジョブ管理部42の機能と統合し、1台のコンピュータで実現するものとしてもよい。
かかる親子ライセンス管理システム10の動作、特に親子ライセンス管理装置50の各機能につき、図2のフローチャート及び図3等を用いて、以下に詳細に説明する。図2は、親子ライセンス管理の手順を示すフローチャートで、各手順は、親子ライセンスマネージャが親子ライセンス管理装置50の上で実行する各処理手順に対応する。図3は、ライセンスの割り当てルールの一例を示し、図4は親ライセンス再配分ルールの一例を示すものである。図5から図10は、保有ライセンス群20における具体的なライセンスの割り当て及び再配分の様子を、例示的なジョブ要求に対応させて説明する図である。
図2において、親子ライセンスマネージャが起動されると、ジョブ管理部42からのジョブ要求を待ち受ける。ジョブ管理部42がCPU群40に新しくジョブを実行させようとするときは、ネットワークを介し、親子ライセンス管理装置50にジョブ要求を送信するので、そのジョブ要求を取得する(S10)。この機能は、ジョブ要求取得モジュール52によって実行される。
ジョブ要求には、そのジョブの実行するCPU数、すなわち必要なライセンス数の情報を含む。例えば、4台のCPUで並列処理する場合には、4つのライセンスの割り当て要求を含む。ジョブ要求を取得すると、次に、ライセンス管理のための第1条件を満たすか否かが判断される。第1条件は、現在の空きライセンス数が要求ライセンス数以上あることである(S12)。この判断は、第1条件判断モジュール54の機能によって実行される。具体的には、例えば、保有ライセンス群20に対する各ライセンスの使用状況一覧表を有していて、ライセンス割り当てを行うごとに、使用中ライセンスと空きライセンスの状況を更新し、更新後の空きライセンスの総数を合計し、その合計値と、要求ライセンス数との比較演算を実行することで、第1条件の判断を行うことができる。
S12において、第1条件を満たさないと判断されたとき、すなわち、現在の空きライセンス数が、要求ライセンス数未満であるときは、ジョブ要求に対し、待機通知が発行され(S14)、S10の工程の前に戻り、適当な時期の再ジョブ要求を待つ。あるいはS10の工程の後に戻り、そのままS12の判断を適当なサンプリングタイムで継続的に行って待機するものとしてもよい。
S12において、第1条件を満たすと判断されたとき、すなわち、現在の空きライセンス数が、要求ライセンス数以上であるときは、次に第2条件を満たすか否かが判断される。第2条件は、空き親ライセンスの数が1以上あることである(S16)。この判断は、第2条件判断モジュール56の機能により実行される。具体的には、上記の各ライセンス使用状況一覧表を用い空き親ライセンスの総数を合計し、その合計が1以上か否かを判断する。あるいは、端的に、各ライセンス使用状況一覧表で各親ライセンスのいずれかにおいて空きがあるか否かを検索してもよい。
第2条件を満たす、すなわち、空き親ライセンスが1以上あるときは、空きライセンスの割り当てが行われる(S18)。図3に、空きライセンスの割り当ての際のルールの一例を示す。ここでは、1ジョブの要求に対し、空き親ライセンスの中から任意の親ライセンスを1つ割り当て、残りのライセンスについては空き子ライセンスの中から必要数を割り当てる。もし、残りのライセンスの総数について空き子ライセンスのみで割り当てできないときは、空き親ライセンスから不足数を割り当てる。第2条件は、第1条件を満たすときに行われるものであるから、空き親ライセンスと空き子ライセンスの総数は、必ず要求ライセンスの総数以上ある。したがって、要求ライセンス数は、必ず空きライセンスの中で賄えるはずであるが、割り当てルールは、そのときに空き親ライセンスの割り当てを最小にするものである。かかる割り当ては、割り当てモジュール60の機能により実行される。すなわち、割り当てモジュール60の機能は、図3に示されるような割り当てルールの実行と、その結果の通知である。
図5と図6は、割り当ての様子を説明する図である。図5は、保有ライセンス群20の初期状態を示す図である。この状態においては、要求ジョブが、12ライセンスを超えてライセンス割り当てを要求しない限り、割り当てが可能である。事例として、ジョブ1が8CPUの並行処理をするため、8ライセンスの割り当て要求をしたものとする。このときは、図3のルールに従い、親ライセンスが1つ割り当てられ、残りの7ライセンスは、合計9の空き子ライセンスの中から割り当てられる。割り当て順序は、図5において符号の値の小さいものから行うものとすることなどの付随的ルールを定めることができる。その付随的ルールを適用するものとすれば、親ライセンス21と、子ライセンス31〜37がジョブ1に割り当てられる。図6には、ジョブ1として使用されるライセンス群の範囲が粗い破線枠として示されている。この割り当てと共に、各ライセンス使用状況一覧表が更新される。
ジョブ1の割り当てが完了すれば、その旨がネットワークを介しジョブ管理部42に通知される。通知と共に、CPU群40のライセンス使用状況がこの割り当て許可の内容に従っているか否かが監視される。監視の結果、仮にこの割り当て許可に反することがあれば、エラーメッセージあるいは警告メッセージがジョブ管理部42に発行される。ジョブ管理部42は、エラーメッセージあるいは警告メッセージが解除されるまで、ジョブの実行を行うことができない。あるいは、当該CPUに警告を発行し、警告が解除されるまで、ジョブの実行を阻止するものしてもよい。
次の事例として、ジョブ1の割り当て完了の後、新たにジョブ2が、4CPUの並行処理をするため、4ライセンスの割り当て要求をしたものとする。このときは、図2の手順に従い、S12において、空きライセンス数=4で、要求ライセンス数=4であるから、第1条件を満たす。また、S16において、空き親ライセンス数=2で、1以上であるので、第2条件も満たす。そこでS18において図3のルールが適用されて割り当てが行われる。図3のルールに従えば、まず親ライセンスが1つ割り当てられ、次に残りの3ライセンスを空き子ライセンスの中から割り当てようとするが、空き子ライセンスの総数は2であるので、空き子ライセンスの割り当てのみでは1つのライセンスが不足する。そこで、不足する1つのライセンスを空き親ライセンスの中から割り当てる。その様子が図6において、ジョブ2として使用されるライセンス群の範囲が細い実線の枠として示されている。ここでは、親ライセンス22がまず割り当てられ、次に子ライセンス38,39が割り当てられ、不足の1つのライセンスには、親ライセンス23が割り当てられている。割り当てと共に、各ライセンス使用状況一覧表が更新される。図6は一種の各ライセンス使用状況表であるが、このような表現の他に、演算が容易なテーブル形式を各ライセンス使用状況表として用いることもできる。
次の事例として、その後にジョブ1の実行が完了したとする。このとき、ジョブ管理部42からジョブ1の実行完了通知が、ネットワークを介し親子ライセンス管理装置50に通知される。あるいは、親子ライセンス管理装置50がネットワークを介しCPU群40のライセンス使用状況を監視していて、ジョブ完了を検出するものとしてもよい。いずれにせよ、ジョブ1の実行完了の情報を取得すると、各ライセンス使用状況表が更新される。その様子を図7に示す。ここでは、1つの空き親ライセンス21と、7つの空き子ライセンス31〜37があることが示されている。
次の事例として、図7の状態において、新たにジョブ3が、4CPUの並行処理をするため、4ライセンスの割り当て要求をしたものとする。このときは、図3に従い、S12において、空きライセンス数=8で、要求ライセンス数=4であるから、第1条件を満たす。また、S16において、空き親ライセンス数=1であり、これは1以上であるので、第2条件も満たす。そこでS18において図3のルールが適用されて割り当てが行われる。図3のルールに従えば、まず親ライセンスが1つ割り当てられ、次に残りの3ライセンスが7つの空き子ライセンスの中から割り当てられる。その様子が図8において、ジョブ3として使用されるライセンス群の範囲が太い実線の枠として示されている。ここでは、親ライセンス21がまず割り当てられ、次に子ライセンス31,32,33が割り当てられている。割り当てと共に、各ライセンス使用状況一覧表が更新される。図8に示されているように、空きライセンスは4つあり、すべて子ライセンス34〜37である。
次の事例は、この図8の状態において、新たにジョブ4が、5CPUの並行処理をするため、5ライセンスの割り当て要求をした場合である。このときは、図3に従い、S12において、空きライセンス数=4で、要求ライセンス数=5であるから、第1条件を満たさず、待機通知が発行される(S14)。そこで、ジョブ管理部42は、改めてジョブ4として、4CPUの並行処理をするため、4ライセンスの割り当て要求をしたものとする。このときは、図3に従い、S12において、空きライセンス数=4で、要求ライセンス数=4であるから、第1条件を満たす。そして、S16に進むが、ここにおいて、空き親ライセンス数=0であり、これは1以上でないので、第2条件を満たさない。
この場合、親子ライセンス条件の下で、ジョブ2、ジョブ3、ジョブ4をすべて実行するのに必要な親ライセンスの総数は、最小でジョブの総数、今の場合、3つあればよい。そして、実際に、保有ライセンス群20は3つの親ライセンスを有する。そして、ジョブ2、ジョブ3、ジョブ4をすべて実行するのにライセンスの総数は、要求ライセンス数の総計であるから、12である。そして、実際に、保有ライセンス群20は、12のライセンスを保有する。しかし、図8のライセンス使用履歴の下において、図3のS18までの手順に従えば、そのままでは、ジョブ4のジョブ要求に対し、割り当てを行うことができない。
つまり、この事例においては、空きライセンスの総数と、親ライセンスの総数からいえば実行可能であるが、現在のライセンス使用状況のままでは、新しいジョブ要求に応えられない場合である。そこで、S16において、第2条件を満たさないと判断されたとき、すなわち、空き親ライセンスが1つもない場合には、S20へ進むことで、ライセンスの再配分を行って、この問題を解決することができる。その意味で、S16は、第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討工程と考えることができる。
S20においては、第3条件が判断される。第3条件は、親ライセンスの総数が現在実行中のジョブの総数を超えていることである(S20)。この判断は、第3条件判断モジュール56の機能により実行される。具体的には、保有ライセンス群20の親ライセンスの総数と、現在実行中のジョブの数とを比較することで判断を行うことができる。S20において、親ライセンスの総数が現在実行中のジョブの総数を超えていない、と判断されるときは、2通りあり、第1は、親ライセンスの総数が現在実行中のジョブ数と同じである場合である。このときは、親子ライセンス条件の上限を示しており、これ以上のジョブ要求に応えることができない。第2は、親ライセンスの総数を超えたジョブ数が実行されている場合で、これは親子ライセンス条件に反している。しかし、親子ライセンス管理が正常に実行されていれば、そのようなことは生じないので、通常は、第1の場合のみが起こりえる。第1の場合は、それ以上の新しいジョブ要求に応えられない場合であるので、そこでエラーメッセージが発行される(S22)。S20において、親ライセンスの総数が現在実行中のジョブの総数を超える、と判断されると、次に親ライセンスの再配分が行われる(S24)。この工程は、親ライセンス再配分モジュール62の機能によって実行される。
図4に、親ライセンス再配分ルールの一例を示す。ここでは、親ライセンスを2以上使用している複数親ライセンス保有ジョブから、親ライセンスを1つ減らし、代りに子ライセンスを1つ与える。ここで、第3条件は、第1条件を満たし、第2条件を満たさないときに行われるものであるから、空きライセンス数から言えば要求ライセンス数を賄うことができるが空き親ライセンスはない状態である。そして、第3条件を満たすということは、親ライセンス総数は現在実行中のジョブ数を超えており、したがって、必ず複数親ライセンス保有ジョブが存在する。したがって、図4の親ライセンス再配分ルールは、以下のように3段階の手順で実行することができる。
すなわち、第1段階の手順として、すべてのジョブについて複数親ライセンス保有ジョブかどうか順次判断し、複数親ライセンス保有ジョブを少なくとも1つ検索する。検索には、各ライセンス使用状況一覧表を用いることができる。図8の状態を各ライセンス使用状況一覧表として用いる場合には、ジョブ2から複数親ライセンス保有ジョブかどうか順次判断される。ここでは、ジョブ2が2つの親ライセンスを保有しているので、その段階で検索を終えることができる。
次の第2段階の手順として、検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与える。図8の事例では、ジョブ2が検索された複数親ライセンス保有ジョブであるので、4つの空き子ライセンス34〜37の中から、予め定めた指定ルールに従って、1つの空き子ライセンスをジョブ2に与える。指定ルールとして、すでにジョブ2が保有する子ライセンスの符号に最も近い符号を有する空き子ライセンスを指定するものとすることができる。今の場合、ジョブ2は子ライセンス38,39を保有するので、空き子ライセンス37を指定することができる。あるいは、指定ルールとして、すでにジョブ2が保有する子ライセンスの親ライセンスに属する子ライセンスが空き子ライセンスであるときは、その子ライセンスを指定してもよい。今の場合、図5を参照して、ジョブ2が保有する子ライセンス38,39が属するのは親ライセンス23であり、親ライセンス23に属する子ライセンス37が空き子ライセンスであるので、この子ライセンス37を指定することができる。もちろん、それ以外の指定ルールを用いてもよい。ここでは、空き子ライセンス37をジョブ2に与えるものとする。
第3段階の手順は、第2段階の手順において、複数親ライセンス保有ジョブに空き子ライセンスを1つ与える代わりに、予め定めたルールにより、親ライセンスの総数を1つ減らし、減らした親ライセンスを要求ジョブに与えるものである。1つ減らす親ライセンスを指定するルールとして、複数親ライセンス保有ジョブが保有する子ライセンスが属する親ライセンスを残すものとして、それ以外の親ライセンスを指定するものとできる。今の場合、ジョブ2の保有する子ライセンス37,37,39が属するのは、親ライセンス23であるので、これを残し、もう1つの親ライセンス22をジョブ2から減らすものとすることができる。もちろんそれ以外のルールを採用することができる。
図9は、図4の親ライセンス再配分ルールを実行して、ジョブ2のライセンスを組み替えた状態を示す図である。図8と比較して分かるように、ジョブ2を実行するための4つのライセンスは、2つの親ライセンス22,23と2つの子ライセンス38,39の状態から、空きライセンス37がジョブ2に与えられ、それと交換に、親ライセンス22がジョブ2から外されている。これによって、ジョブ2を実行するための4つのライセンスは、1つの親ライセンス23と、3つの子ライセンス37,38,39に組み替えられている。
これによって、4つの空きライセンスは、1つの親ライセンス22と、3つの子ライセンス34,35,36となる。そして、この4つのライセンスが、親子ライセンス条件を満たすものとして、ジョブ4に割り当てられる。その状態を図10に示す。ここでは、ジョブ2、ジョブ3、ジョブ4とも、1つの親ライセンスを含み、必要なライセンス数を保有している。
このように、空きライセンスの総数と、親ライセンスの総数からいえば実行可能であるが、現在のライセンス使用状況のままでは、新しいジョブ要求に応えられない場合にも、親ライセンスの再配分を行うことにより、親子ライセンス条件の下で、新しいジョブ要求に対応でき、効率的なライセンスの運用が可能となる。
10 親子ライセンス管理システム、20 保有ライセンス群、21,22,23 親ライセンス、31,32,33,34,35,36,37,38,39 子ライセンス、40 CPU群、42 ジョブ管理部、50 親子ライセンス管理装置、52 ジョブ要求取得モジュール、54 第1条件判断モジュール、56 第2条件判断モジュール、58 第3条件判断モジュール、60 割り当てモジュール、62 親ライセンス再配分モジュール。
Claims (6)
- 2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理するライセンス管理方法であって、
同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得工程と、
ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断工程と、
第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断工程と、
第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討工程と、
第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分工程と、
を有することを特徴とする親子ライセンス管理方法。 - 請求項1に記載の親子ライセンス管理方法において、
ライセンス再配分工程は、
親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する工程と、
検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分工程と、
を有することを特徴とする親子ライセンス管理方法。 - 2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理するライセンス管理装置であって、
同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得手段と、
ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断手段と、
第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断手段と、
第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討手段と、
第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分手段と、
を有することを特徴とする親子ライセンス管理装置。 - 請求項3に記載の親子ライセンス管理装置において、
ライセンス再配分手段は、
親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する手段と、
検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分手段と、
を有することを特徴とする親子ライセンス管理装置。 - 2つ以上の親ライセンスと複数の子ライセンスとを含み、1つのジョブ実行には必ず1つ以上の親ライセンスを使用することを条件に、複数のライセンスを同時に1つのジョブの実行において使用することを許可する親子ライセンスのライセンス使用状況を管理する管理装置上で実行されるライセンス管理プログラムであって、
同時使用したいライセンスの数を含み、ジョブ実行の要求を取得するジョブ要求取得処理手順と、
ジョブを現在行っていない空きライセンス数が、要求されたライセンス数以上であることの第1条件を満たすか否かを判断する第1条件判断処置手順と、
第1条件を満たす場合に、ジョブを現在行っていない空き親ライセンスの数が1以上であることの第2条件を満たすか否かを判断する第2条件判断処理手順と、
第2条件を満たす場合には予め定められた割当条件に従って空きライセンスを要求されたジョブに割り当て、第2条件を満たさない場合にはライセンス再配分工程に進む割当検討処理手順と、
第2条件を満たさない場合に、親ライセンスの総数が、ライセンスを現在使用しているジョブ数を超えていることの第3条件を満たすか否かを判断し、第3条件を満たす場合には、予め定められた再配分条件に従って、ジョブ実行中の親ライセンスの再配分を含むライセンス再配分を行うライセンス再配分処理手順と、
を実行することを特徴とする親子ライセンス管理プログラム。 - 請求項5に記載の親子ライセンス管理プログラムにおいて、
ライセンス再配分処理手順は、
親ライセンスを2以上使用しているジョブである複数親ライセンス保有ジョブを検索する処理手順と、
検索された複数親ライセンス保有ジョブに対し、空き子ライセンスを1つ与え、代わりに親ライセンスの総数を1つ減らして要求ジョブに与える親ライセンス再配分処理手順と、
を実行することを特徴とする親子ライセンス管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006110355A JP2007286703A (ja) | 2006-04-13 | 2006-04-13 | 親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006110355A JP2007286703A (ja) | 2006-04-13 | 2006-04-13 | 親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007286703A true JP2007286703A (ja) | 2007-11-01 |
Family
ID=38758440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006110355A Pending JP2007286703A (ja) | 2006-04-13 | 2006-04-13 | 親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007286703A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012523051A (ja) * | 2009-04-02 | 2012-09-27 | アルテア エンジニアリング,インコーポレイテッド | ハードウェアユニットベースライセンス管理方法 |
JP2015049903A (ja) * | 2013-09-03 | 2015-03-16 | 富士通株式会社 | コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム |
US9633182B2 (en) | 2001-05-15 | 2017-04-25 | Altair Engineering, Inc. | Token based digital content licensing method |
US10679151B2 (en) | 2014-04-28 | 2020-06-09 | Altair Engineering, Inc. | Unit-based licensing for third party access of digital content |
US10685055B2 (en) | 2015-09-23 | 2020-06-16 | Altair Engineering, Inc. | Hashtag-playlist content sequence management |
US11799864B2 (en) | 2019-02-07 | 2023-10-24 | Altair Engineering, Inc. | Computer systems for regulating access to electronic content using usage telemetry data |
-
2006
- 2006-04-13 JP JP2006110355A patent/JP2007286703A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9633182B2 (en) | 2001-05-15 | 2017-04-25 | Altair Engineering, Inc. | Token based digital content licensing method |
JP2012523051A (ja) * | 2009-04-02 | 2012-09-27 | アルテア エンジニアリング,インコーポレイテッド | ハードウェアユニットベースライセンス管理方法 |
JP2015049903A (ja) * | 2013-09-03 | 2015-03-16 | 富士通株式会社 | コンピューティングシステムにおいてジョブをスケジューリングする方法、システムおよびプログラム |
US10679151B2 (en) | 2014-04-28 | 2020-06-09 | Altair Engineering, Inc. | Unit-based licensing for third party access of digital content |
US10685055B2 (en) | 2015-09-23 | 2020-06-16 | Altair Engineering, Inc. | Hashtag-playlist content sequence management |
US11799864B2 (en) | 2019-02-07 | 2023-10-24 | Altair Engineering, Inc. | Computer systems for regulating access to electronic content using usage telemetry data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101346696B (zh) | 负荷分散型客户机服务器系统及负荷分散方法 | |
US7810098B2 (en) | Allocating resources across multiple nodes in a hierarchical data processing system according to a decentralized policy | |
CN100536417C (zh) | 网格许可服务器和容错网格系统及使用方法 | |
CN101533417A (zh) | 一种实现etl调度的方法及系统 | |
TWI338229B (en) | Dynamically configurable fault tolerance in autonomic computing with multiple service points | |
US20110078297A1 (en) | Job processing system, method and program | |
US20050132379A1 (en) | Method, system and software for allocating information handling system resources in response to high availability cluster fail-over events | |
JP2007286703A (ja) | 親子ライセンス管理方法、親子ライセンス管理方法及び親子ライセンス管理プログラム | |
US20100042723A1 (en) | Method and system for managing load in a network | |
US7913206B1 (en) | Method and mechanism for performing partitioning of DRC operations | |
CN104615486B (zh) | 用于搜索推广平台的多任务调度和执行方法、装置和系统 | |
CN1783121A (zh) | 用于执行设计自动化的方法和系统 | |
JPH09282288A (ja) | 複数計算機運用システム | |
CN100473065C (zh) | 一种面向网格的机群作业管理系统及其实现方法 | |
CN112685157B (zh) | 任务处理方法、装置、计算机设备及存储介质 | |
JP2019211950A (ja) | ライセンス制御装置、ライセンス制御プログラム、ライセンス制御方法及びライセンス制御システム | |
JP2004246592A (ja) | ジョブ実行管理装置 | |
JP2002183104A (ja) | ワークフローシステムの案件割当方法、ワークフローシステムおよび前記方法を実現するプログラム並びに前記プログラムを格納した計算機読み取り可能な記録媒体 | |
JP2007156976A (ja) | 情報処理システム | |
JP2007213339A (ja) | データベース監視方法、データベース監視システム及びデータベース監視プログラム | |
JP6555131B2 (ja) | 並列処理装置、ジョブ監視方法及びジョブ監視プログラム | |
KR102335687B1 (ko) | 클러스터링 구성 및 원격제어가 가능한 스케줄러 서버 시스템 | |
CN112948075B (zh) | 任务拥堵处理方法、装置和电子设备 | |
CN112527842B (zh) | 系统流程推送方法、装置、电子设备及计算机可读存储介质 | |
CN111597037B (zh) | 作业分配方法、装置、电子设备及可读存储介质 |