説明

ライセンス管理装置、ライセンス管理方法およびプログラム

【課題】複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐこと。
【解決手段】ライセンス管理装置は、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部と、ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部と、を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ライセンス管理装置、ライセンス管理方法およびプログラムに関し、特に、ライセンスの数が制限されたアプリケーションソフトウェア(以下、アプリケーションという。)に対するライセンス管理装置、ライセンス管理方法およびプログラムに関する。
【背景技術】
【0002】
半導体素子の構造および特性を、コンピュータを用いて模擬するTCAD(Technology Computer Aided Design)システムについて、図面を参照して説明する。図9は、TCADシステムの構成を一例として示すブロック図である。図9を参照すると、TCADシステムは、GUI(Graphical User Interface)部110、アプリケーション選択部120、JOBスケジューリングサブシステム部140、JOB実行部150、および、ライセンスサブシステム部160を備えている。
【0003】
アプリケーション選択部120は、アプリケーションを選択する。アプリケーション選択部120において選択されるアプリケーションとして、例えば、プロセスシミュレーション(Process Simulation)、デバイスシミュレーション(Device Simulation)等がある。
【0004】
プロセスシミュレーションによると、プロセス工程に含まれるイオン注入、拡散、デポ、エッチング等をシミュレートすることで、出力結果としてプロセス工程後のデバイス構造(例えば、形状データ、不純物濃度データ等)が得られる。
【0005】
一方、デバイスシミュレーションによると、デバイス構造(形状データ、不純物濃度データ)、境界条件(電源、コンタクト、電圧条件)を入力データとすることで、出力結果としてI−V特性等のデバイス特性が得られる。
【0006】
GUI部110により、ジョブ(JOB)投入および終了管理が行われる。ここで、JOB投入および終了管理とは、例えば、GUIの表示ウインドウを用いてプロセスシミュレーションを実行するとともに、その入出力ファイルを管理すること、プロセスシミュレーションの結果を元にデバイスシミュレーションを実行するとともに、その入出力ファイルを管理すること、等をいう。
【0007】
JOB実行部150は、JOBを実行する。ここで、JOBの実行とは、JOBスケジューリングサブシステム部140を用いず、ローカルマシンにおいてJOBを実行することをいう。
【0008】
ライセンスサブシステム部160は、TCADシステムにおいて許諾されたライセンスを管理する。例えば、TCADシステムにおいては、FlexLM(フレックスエルエム)のライセンスFeatureが、総数で80種類ほど存在し、GUIに関連するライセンスFeatureが15種類、プロセスシミュレーションに関連するライセンスFeatureが20種類、デバイスシミュレーションに関連するライセンスFeatureが39種類存在する。
【0009】
また、マルチスレッド用途のライセンスFeatureは、プロセスシミュレーションおよびデバイスシミュレーションの双方において、共通に使用される。
【0010】
例えば、マルチスレッド用途ライセンスが10本あり、プロセスシミュレーションで2本のライセンスが使用され、デバイスシミュレーションで8本のライセンスが使用されている場合には、合計で10本のライセンスが使用されていることになり、マルチスレッド用ライセンス(mp)のすべてが使用されていることになる。
【0011】
以下では、簡単のため、プロセスシミュレーションに関連する20種類のライセンスFeatureのうちの3種類(normal,3D,parallel)に着目する。また、デバイスシミュレーションに関連する39種類のライセンスFeatureのうちの8種類(normal,3D,parallel,device−densitygrad,device−schroedinger,device−mixedmode,device−hydro,device−thermo)に着目する。
【0012】
特許文献1において、ライセンスの使用効率を向上させるライセンス管理システムが記載されている。
【0013】
また、特許文献2において、ライセンスソフトウェアを含むジョブの実行を効率よく行うジョブ実行管理装置が記載されている。
【先行技術文献】
【特許文献】
【0014】
【特許文献1】特開2006−285497号公報
【特許文献2】特開2004−246592号公報
【発明の概要】
【発明が解決しようとする課題】
【0015】
以下の分析は、本発明者によってなされたものである。
【0016】
TCADシステムにはライセンスが許諾された複数のアプリケーションが含まれる。したがって、TCADシステムにおいて実行されるJOBの内容は複雑である。また、各ライセンスは一般に高価であり、1つのJOBにおいて、複数のライセンスが必要とされる場合もある。さらに、各JOBは、完了するまでに長い時間を要する。
【0017】
TCADシステムは、ライセンス構成が複雑であるため、JOBを実行する前に、予めどのライセンスが必要となるのかを判断することが難しい。しかし、必要とされるライセンスを事前に確認することなくJOBを実行した場合には、一部のライセンスを消費したまま、他のJOBによって消費されたライセンスに空きが生じるまでJOBが待機状態に置かれるという現象が生じうる。また、このような場合において、JOBの実行が進んでいるのか否かを判断することは困難である。
【0018】
さらに、TCADシステムに含まれるアプリケーションは、複数のベンダーにまたがる場合がある。このような場合には、上記の問題を1社のベンダーによって解消することは困難である。
【0019】
以上より、TCADシステムのJOBは長時間を要することが多く、JOBによってライセンスが無駄に消費されることで、高価なライセンスを有効に活用することができないという問題がある。また、ライセンスを有効に活用できないことにより、アプリケーションのライセンス費用を削減することも困難となっている。
【0020】
そこで、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことが課題となる。
【課題を解決するための手段】
【0021】
本発明の第1の視点に係るライセンス管理装置は、
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部と、
ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部と、を備えている。
【0022】
本発明の第2の視点に係るライセンス管理方法は、
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する工程と、
ライセンスごとに許諾された個数および消費された個数を保持する工程と、
抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる工程と、
抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する工程と、を含む。
【0023】
本発明の第3の視点に係るプログラムは、
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する処理と、
ライセンスごとに許諾された個数および消費された個数を保持する処理と、
抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる処理と、
抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する処理と、をコンピュータに実行させる。
【発明の効果】
【0024】
本発明に係るライセンス管理装置、ライセンス管理方法およびプログラムによると、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことができる。
【図面の簡単な説明】
【0025】
【図1】第1の実施形態に係るライセンス管理装置を備えたTCADシステムの構成を示すブロック図である。
【図2】第1の実施形態に係るライセンス管理装置における入力ファイル解析部の構成を示すブロック図である。
【図3】第1の実施形態に係るライセンス管理装置の構成を詳細に示すブロック図である。
【図4】第1の実施形態に係るライセンス管理装置におけるライセンス管理部の構成を示すブロック図である。
【図5】第1の実施形態に係るライセンス管理装置におけるスクリプトとラインセンスタイプとの関係を示す表である。
【図6】第1の実施形態に係るライセンス管理装置のライセンス管理部におけるライセンスカウンタの上限を示す表である。
【図7】第2の実施形態に係るライセンス管理装置における入力ファイル解析部の構成を示すブロック図である。
【図8】第2の実施形態に係るライセンス管理装置における入力ファイル解析部の構成を示すブロック図である。
【図9】TCADシステムの構成を示すブロック図である。
【発明を実施するための形態】
【0026】
はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【0027】
図1を参照すると、ライセンス管理装置(70)は、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部(30)と、ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部(41)と、を備えている。
【0028】
また、入力ファイル解析部(30)は、投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別するようにしてもよい。
【0029】
さらに、図6を参照すると、ライセンス管理部(41)は、ライセンスの余りをカウントするカウンタ(例えば、CP1,CP2,CM3,CD1,CD2)をライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定するようにしてもよい。
【0030】
また、図8を参照すると、入力ファイル解析部(80)は、ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課すようにしてもよい。
【0031】
本発明によると、複数のライセンスを消費するジョブにおいて一部のライセンスが不足する場合に、不足するライセンス以外のライセンスが無駄に消費されることが無くなる。すなわち、本発明では、複数のライセンスを消費するジョブについて、すべてのライセンスに余りが生じるまで、当該ジョブには一切ライセンスを消費させないようにする。したがって、本発明によると、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことができる。また、本発明によると、ユーザ数の増加に伴って、どの程度ライセンスの数を増加させればよいかを把握することもできる。
【0032】
(実施形態1)
第1の実施形態に係るライセンス管理装置について、図面を参照して説明する。図1は、本実施形態に係るライセンス管理装置70を備えたTCADシステムの構成を一例として示すブロック図である。
【0033】
図1を参照すると、TCADシステムは、GUI部10、アプリケーション選択部20、入力ファイル解析部30、JOBスケジューリングサブシステム部40、JOB実行部50、および、ライセンスサブシステム部60を備えている。また、ライセンス管理装置70は、入力ファイル解析部30およびライセンス管理部41を備えている。図1に示した構成のうちのGUI部10、アプリケーション選択部20、JOB実行部50、および、ライセンスサブシステム部60の動作は、図9に示したTCADシステムに含まれる各部の動作と同様であることから、説明を省略する。
【0034】
入力ファイル解析部30は、JOBスケジューリングサブシステム部40によりJOBスケジューリングを行う前に、JOBごとに使用する予定のライセンス情報を取得する。なお、入力ファイル解析部30は、プログラムとして実現してもよい。
【0035】
入力ファイル解析部30は、JOB実行前に入力ファイルを解析し、実行するJOBが必要とするライセンスを識別し、JOBスケジューリングサブシステム部40へ渡す。
【0036】
入力ファイル解析部30、例えば、TCADシステムにおいて、データベースを参照することにより、3Dシミュレーションの有無、マルチスレッドの有無、特定の物理モデルの使用の有無等などに応じて、必要なライセンスを識別する。
【0037】
図2は、入力ファイル解析部30の構成を一例として示すブロック図である。図2を参照すると、入力ファイル解析部30は、入力データ読み込み部31、キーワード抽出・解析部32、ライセンスフラグ判定部33、および、ライセンスタイプ指定・スクリプト実行部34を備えている。入力ファイル解析部30は、アプリケーションごとに別個に設けるようにしてもよいし、アプリケーションごとに異なる動作を行うようにしてもよい。本実施形態では、入力ファイル解析部30を上記のように動作させることで、TCADシステムにおいて、ライセンスを有効に使用できるようにする。
【0038】
入力データ読み込み部31は、JOBの入力データを読み込む。キーワード抽出・解析部32は、読み込んだ入力データからキーワードを抽出するとともに、抽出したキーワードを解析する。
【0039】
例えば、プロセスシミュレーションの場合には、キーワードとして、3D、parallel等がある。一方、デバイスシミュレーションの場合には、キーワードとして、3D、parallel、device−densitygrad、device−schroedinger、device−mixedmode、device−hydro、device−thermo等がある。
【0040】
ライセンスフラグ判定部33は、キーワードの解析結果に基づいて、ライセンスを示すフラグ(ライセンスフラグ)の有無を判定し、JOBごとに必要とされるライセンスの種類を抽出する。JOBごとに必要とされるライセンスとして、一例として、次のような場合が考えられる。
【0041】
プロセスシミュレーションであるPJOB1では、ライセンスFeature P1(normal)を必要とする。また、プロセスシミュレーションであるPJOB2では、ライセンスFeature P1およびP2(3D)を必要とする。さらに、プロセスシミュレーションであるPJOB3では、ライセンスFeature P1およびP2(3D)およびM3(parallel)を必要とする。例えば、ライセンスFeature P2およびM3は、ライセンスFeature P1と比較して、許諾されたライセンスの数が少なく、かつ、ライセンス料が高価である場合が考えられる。
【0042】
一方、デバイスシミュレーションであるDJOB1では、ライセンスFeature D1(normal)を必要とする。また、デバイスシミュレーションであるDJOB2では、ライセンスFeature D1およびD2(3D)を必要とする。さらに、デバイスシミュレーションであるDJOB3では、ライセンスFeature D1およびD2(3D)およびM3(parallel)を必要とする。例えば、ライセンスFeature D2およびM3は、ライセンスFeatre D1と比較して、許諾されたライセンスの数が少なく、かつ、ライセンス料が高価であるような場合が考えられる。
【0043】
ライセンスタイプ指定・スクリプト実行部34は、JOBで必要とされるライセンスを識別した後に、スクリプト(ライセンスタイプ指定スクリプト)を生成し、JOBスケジューリングサブシステム部40に実行させる。
【0044】
ここで、ライセンスタイプ指定スクリプトとは、ライセンスの識別後にJOBスケジューリングサブシステム部40に実行させるスクリプトであり、使用予定のライセンスの種類(ライセンスタイプ)を指定する。
【0045】
例えば、プロセスシミュレーション実行用のスクリプトであるプロセススクリプト(Process Script)は、スクリプト実行時にどのタイプであるかを自動指定し、ライセンス管理部41を伴うJOBスケジューリングサブシステム部40で実行されるスクリプトのことをいう。ライセンスタイプの指定として、例えば、非3Dの1CPUJOB、非3DのマルチスレッドJOB、3Dの1CPUJOB、3DのマルチスレッドJOB等が挙げられる。
【0046】
同様に、デバイスシミュレーション実行用のスクリプトであるデバイススクリプト(Device Script)のライセンスタイプの指定として、非3Dの1CPUJOB、非3DのマルチスレッドJOB、3Dの1CPUJOB、3DのマルチスレッドJOB、非3DのマルチスレッドのMixedModeJOB、3DのマルチスレッドのMixedModeJOB、非3DのマルチスレッドのHydroモデル使用JOB、3DのマルチスレッドのHydroモデル使用JOB、非3Dのマルチスレッドの量子効果(densitygrad)モデル使用JOB、3Dのマルチスレッドの量子効果(A)モデル使用JOB、非3Dのマルチスレッドの量子効果(schroedinger)モデル使用JOB、3Dのマルチスレッドの量子効果(B)モデル使用JOB、非3DのマルチスレッドのThermoモデル使用JOB、3DのマルチスレッドのThermoモデル使用JOB、非3Dのマルチスレッドの全ての物理モデル使用JOB、3Dのマルチスレッドの全ての物理モデル使用JOB等が挙げられる。
【0047】
JOBスケジューリングサブシステム部40は、ライセンス管理部41およびスケジューリング部42を有し、JOBのスケジューリングを行う。
【0048】
図3(a)を参照すると、図3(b)のように入力ファイル解析部30を設けない場合には、JOBスケジューリングサブシステム部140は、ライセンス管理部141を使用することなく、JOBスケジューリングを行う。このとき、JOBにおいて不足するライセンスが1つでも存在すると、JOBの実行途中で不足分のライセンスの取得待ち状態となり、このJOBによってすでに取得された分のライセンスが無駄になる。
【0049】
本実施形態では、図3(b)に示すように、JOBスケジューリングサブシステム部40のライセンス管理部41を使用することで、上述のように、ライセンスが無駄に消費されることを回避する。
【0050】
JOBスケジューリングサブシステム部40は、入力ファイル解析部30によって指定されたライセンスタイプ指定スクリプトに基づいて、ライセンス管理部41のライセンスタイプを指定する。
【0051】
ライセンス管理部41は、ライセンスタイプ(例えば、P1,P2,M3,D1,D2)のそれぞれについて、ライセンスの余りを示すカウンタ値(ライセンスカウンタ)(例えば、CP1,CP2,CM3,CD1,CD2)を保持する。
【0052】
ライセンス管理部41は、指定されたライセンスタイプごとに、ライセンスが消費された場合には、ライセンスカウンタをデクリメント(−1)する。ライセンス管理部41は、ライセンスカウンタのカウント値が0である場合には、許容されたライセンス数を超えるものと判定し、JOBを待ち行列に入れる。また、ライセンス管理部41は、ライセンスカウンタが1以上となるまで、待ち行列に入れたJOBをJOB実行部50に移行させない。ライセンス管理部41は、JOBの実行が終了すると、当該JOBで消費されていたライセンスタイプに対するライセンスカウンタをインクリメント(+1)する。
【0053】
図5は、プロセススクリプトPJOB1〜PJOB3、および、デバイススクリプトDJOB1〜DJOB3に対するライセンスタイプを一例として示す表である。
【0054】
図6は、ライセンスカウンタCP1,CP2,CM3,CD1,CD2のそれぞれのカウンタ値の上限、すなわち、ライセンスタイプP1,P2,M3,D1,D2のそれぞれのライセンスの許諾数を一例として示す表である。
【0055】
JOBスケジューリングサブシステム部40によるJOBスケジューリングについて、図5および図6に示した場合を例として説明する。ここでは、PJOB1,PJOB2,PJOB3,DJOB3,DJOB1,DJOB2の順にJOBが投入されたとする。このとき、各JOBは、次のように実行される。
【0056】
まず、PJOB1が投入される。入力ファイル解析部30は、ライセンスタイプがP1であると判定し、ライセンスタイプ指定スクリプトに基づいてJOBスケジューリングサブシステム部40を動作させる。このとき、ライセンス管理部41は、ライセンスカウンタCP1をデクリメント(−1)してCP1=2とし、JOBを実行する(ステップA1)。
【0057】
次に、PJOB2が投入される。入力ファイル解析部30は、ライセンスタイプがP1およびP2であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCP1およびCP2をそれぞれデクリメント(−1)してCP1=1,CP2=1とし、JOBを実行する(ステップA2)。
【0058】
次に、PJOB3が投入される。入力ファイル解析部30は、ライセンスタイプがP1,P2およびM3であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCP1,CP2およびM3をそれぞれデクリメント(−1)してCP1=0,CP2=0,CM3=0とし、JOBを実行する(ステップA3)。
【0059】
次に、DJOB3が投入される。入力ファイル解析部30は、ライセンスタイプがD1,D2およびM3であると判定する。このとき、ライセンス管理部41は、M3のライセンスカウンタCM3が0であるため、JOBを待ち行列に入れて待機させる(ステップA4)。
【0060】
次に、DJOB1が投入される。入力ファイル解析部30は、ライセンスタイプがD1であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCD1をデクリメント(−1)してCD1=2とし、JOBを実行する(ステップA5)。
【0061】
次に、DJOB2が投入される。入力ファイル解析部30は、ライセンスタイプがD1およびD2であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCD1およびCD2をそれぞれデクリメント(−1)して、CD1=1,CD2=0とし、JOBを実行する(ステップA6)。
【0062】
ここで、PJOB3の実行が終了した場合には、ライセンス管理部41は、ライセンスカウンタCP1,CP2およびCM3をそれぞれインクリメント(+1)して、CP1=1,CP2=1,CM3=1とする(ステップA7)。
【0063】
さらに、DJOB2の実行が終了すると、ライセンス管理部41は、ライセンスカウンタCD1およびCD2をそれぞれインクリメント(+1)して、CD1=2,CD2=1とする(ステップA8)。
【0064】
ライセンス管理部41は、待機させていたDJOB3について、ライセンスカウンタCD1,CD2およびCM3をそれぞれデクリメント(−1)して、CD1=1,CD2=0,CM3=0とし、JOBを実行する(ステップA9)。
【0065】
DJOB3の実行が終了すると、ライセンス管理部41は、ライセンスカウンタCD1,CD2およびCM3をそれぞれインクリメント(+1)して、CD1=2,CD2=1,CM3=1とする(ステップA10)。
【0066】
PJOB1の実行が終了すると、ライセンス管理部41は、P1のライセンスカウンタCP1をインクリメント(+1)して、CP1=2とする(ステップA11)。
【0067】
PJOB2の実行が終了すると、ライセンス管理部41は、P1およびP2のライセンスカウンタCP1およびCP2をそれぞれインクリメント(+1)して、CP1=3,CP2=2とする(ステップA12)。
【0068】
DJOB1の実行が終了すると、ライセンス管理部41は、D1のライセンスカウンタCD1をインクリメント(+1)して、D1=3とする(ステップA13)。
【0069】
一方、図3(a)に示すように、ライセンス管理部141の処理を経ることなく、JOBを実行すると、次のようになる。
【0070】
まず、PJOB1が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、2,2,1,3,1となる(ステップB1)。
【0071】
次に、PJOB2が投入され、JOBが実行される。する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,3,1となる(ステップB2)。
【0072】
次に、PJOB3が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,3,1となる(ステップB3)。
【0073】
次に、DJOB3が投入され、JOBが実行される。すると、ライセンスFeature DnormalおよびD3Dのライセンス、すなわち、ライセンD1およびD2が消費され、ライセンスFeature parallelに相当するライセンスM3が不足することにより、ライセンスの取得待ち状態となる。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,2,0となる(ステップB4)。
【0074】
次に、DJOB1が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,1,0となる(ステップB5)。
【0075】
次に、DJOB2が投入され、JOBが実行される。すると、ライセンスFeature Dnormalに相当するライセンスD1が消費され、ライセンスFeature D3Dに相当するライセンスD2が不足することにより、ライセンスの取得待ち状態となる。このとき、このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,0,0となる(ステップB6)。
【0076】
ここで、PJOB3の実行が終了した場合には、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,0,0となる(ステップB7)。
【0077】
実行中のDJOB3について、ライセンスFeature parallelに相当するライセンスM3が取得され、JOBの処理が実際に進行する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,0,0,0となる(ステップB8)。
【0078】
次に、DJOB3の実行が終了する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,1,1となる(ステップB9)。
【0079】
実行中のDJOB2について、ライセンスFeature D3Dに相当するライセンスD2が取得され、JOBの処理が実際に進行する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,1,0となる(ステップB10)。
【0080】
PJOB1の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、2,1,1,1,0となる(ステップB11)。
【0081】
PJOB2の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,1,0となる(ステップB12)。
【0082】
DJOB1の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,2,0となる(ステップB13)。
【0083】
DJOB2の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,3,1となる(ステップB13)。
【0084】
このとき、ステップB4およびB6において、ライセンスFeature Dnormalに相当するライセンスD1の2本が無駄に消費され、ライセンスFeature D3Dに相当するライセンスD2の1本が無駄に消費される。ここに示した状況よりもライセンス構成が複雑で、ライセンスの本数が多く、JOBの数も多いような状況では、ライセンスの無駄な消費がさらに頻発し、高価なライセンスを有効に活用することができない。
【0085】
一方、本実施形態のライセンス管理装置70によると、上述のステップA4においてライセンスが無駄に消費されることがなく、ライセンスを有効に活用することができる。
【0086】
(実施形態2)
第2の実施形態に係るライセンス管理装置について、図面を参照して説明する。本実施形態は、学習機能部で蓄積した情報に基づいて、入力ファイル解析部をライセンスの使用状況に適したものへと改善する構成を有する。
【0087】
図7は、本実施形態に係るライセンス管理装置における入力ファイル解析部80の構成を示すブロック図である。図7を参照すると、入力ファイル解析部80は、学習機能部81を有する。
【0088】
学習機能部81は、学習機能として、入力ファイル解析部30による識別結果に応じて選択されたライセンスタイプ指定に関する情報と、使用者情報とを蓄積する。
【0089】
図8を参照すると、例えば、各JOBのライセンスタイプごとに使用制限を設けるようにしてもよい。これにより、TCADシステムを使用状況に適したシステムへ改善することができる。
【0090】
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【0091】
10,110 GUI部
20,120 アプリケーション選択部
30,80,130 入力ファイル解析部
31 入力データ読み込み部
32 キーワード抽出・解析部
33 ライセンスフラグ判定部
34 ライセンスタイプ指定・スクリプト実行部
40,140 JOBスケジューリングサブシステム部
41,141 ライセンス管理部
42,142 スケジューリング部
50,150 JOB実行部
60,160 ライセンスサブシステム部
70 ライセンス管理装置
81 学習機能部

【特許請求の範囲】
【請求項1】
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部と、
ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部と、を備えていることを特徴とするライセンス管理装置。
【請求項2】
前記入力ファイル解析部は、投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別することを特徴とする、請求項1に記載のライセンス管理装置。
【請求項3】
前記ライセンス管理部は、ライセンスの余りをカウントするカウンタをライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定することを特徴とする、請求項1または2に記載のライセンス管理装置。
【請求項4】
前記入力ファイル解析部は、ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課すことを特徴とする、請求項1ないし3のいずれか1項に記載のライセンス管理装置。
【請求項5】
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する工程と、
ライセンスごとに許諾された個数および消費された個数を保持する工程と、
抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる工程と、
抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する工程と、を含むことを特徴とするライセンス管理方法。
【請求項6】
投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別する工程を含むことを特徴とする、請求項5に記載のライセンス管理方法。
【請求項7】
ライセンスの余りをカウントするカウンタをライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定する工程を含むことを特徴とする、請求項5または6に記載のライセンス管理方法。
【請求項8】
ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課す工程を含むことを特徴とする、請求項5ないし7のいずれか1項に記載のライセンス管理方法。
【請求項9】
投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する処理と、
ライセンスごとに許諾された個数および消費された個数を保持する処理と、
抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる処理と、
抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する処理と、をコンピュータに実行させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−164038(P2012−164038A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−22293(P2011−22293)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(500174247)エルピーダメモリ株式会社 (2,599)
【Fターム(参考)】