"投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部と、ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部と、を備えていることを特徴とするライセンス管理装置。前記入力ファイル解析部は、投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別することを特徴とする、請求項1に記載のライセンス管理装置。前記ライセンス管理部は、ライセンスの余りをカウントするカウンタをライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定することを特徴とする、請求項1または2に記載のライセンス管理装置。前記入力ファイル解析部は、ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課すことを特徴とする、請求項1ないし3のいずれか1項に記載のライセンス管理装置。投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する工程と、ライセンスごとに許諾された個数および消費された個数を保持する工程と、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる工程と、抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する工程と、を含むことを特徴とするライセンス管理方法。投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別する工程を含むことを特徴とする、請求項5に記載のライセンス管理方法。ライセンスの余りをカウントするカウンタをライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定する工程を含むことを特徴とする、請求項5または6に記載のライセンス管理方法。ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課す工程を含むことを特徴とする、請求項5ないし7のいずれか1項に記載のライセンス管理方法。投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する処理と、ライセンスごとに許諾された個数および消費された個数を保持する処理と、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる処理と、抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する処理と、をコンピュータに実行させることを特徴とするプログラム。以下の分析は、本発明者によってなされたものである。TCADシステムにはライセンスが許諾された複数のアプリケーションが含まれる。したがって、TCADシステムにおいて実行されるJOBの内容は複雑である。また、各ライセンスは一般に高価であり、1つのJOBにおいて、複数のライセンスが必要とされる場合もある。さらに、各JOBは、完了するまでに長い時間を要する。TCADシステムは、ライセンス構成が複雑であるため、JOBを実行する前に、予めどのライセンスが必要となるのかを判断することが難しい。しかし、必要とされるライセンスを事前に確認することなくJOBを実行した場合には、一部のライセンスを消費したまま、他のJOBによって消費されたライセンスに空きが生じるまでJOBが待機状態に置かれるという現象が生じうる。また、このような場合において、JOBの実行が進んでいるのか否かを判断することは困難である。さらに、TCADシステムに含まれるアプリケーションは、複数のベンダーにまたがる場合がある。このような場合には、上記の問題を1社のベンダーによって解消することは困難である。以上より、TCADシステムのJOBは長時間を要することが多く、JOBによってライセンスが無駄に消費されることで、高価なライセンスを有効に活用することができないという問題がある。また、ライセンスを有効に活用できないことにより、アプリケーションのライセンス費用を削減することも困難となっている。そこで、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことが課題となる。本発明の第1の視点に係るライセンス管理装置は、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部と、ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部と、を備えている。本発明の第2の視点に係るライセンス管理方法は、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する工程と、ライセンスごとに許諾された個数および消費された個数を保持する工程と、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる工程と、抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する工程と、を含む。本発明の第3の視点に係るプログラムは、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する処理と、ライセンスごとに許諾された個数および消費された個数を保持する処理と、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく、投入されたジョブを待機させる処理と、抽出されたすべてのライセンスに余りが生じた時点で、抽出されたライセンスを消費するとともに投入されたジョブの実行を許可する処理と、をコンピュータに実行させる。本発明に係るライセンス管理装置、ライセンス管理方法およびプログラムによると、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことができる。はじめに、本発明の概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。図1を参照すると、ライセンス管理装置70は、投入されたジョブの入力ファイルを解析し、該ジョブを実行する際に必要とされるライセンスを抽出する入力ファイル解析部30と、ライセンスごとに許諾された個数および消費された個数を保持し、抽出されたライセンスのうちの少なくともいずれかのライセンスがすべて消費されている場合には、抽出されたライセンスのいずれも消費することなく投入されたジョブを待機させ、抽出されたすべてのライセンスに余りが生じた時点で抽出されたライセンスを消費するとともに投入されたジョブの実行を許可するライセンス管理部41と、を備えている。また、入力ファイル解析部30は、投入されたジョブの入力ファイルにおいて指定されたキーワードを抽出し、抽出したキーワードを解析することで、該ジョブを実行する際に必要とされるライセンスを識別するようにしてもよい。さらに、図6を参照すると、ライセンス管理部41は、ライセンスの余りをカウントするカウンタ例えば、CP1,CP2,CM3,CD1,CD2をライセンスごとに保持し、該カウンタのカウント値に基づいて、ライセンスの余りの有無を判定するようにしてもよい。また、図8を参照すると、入力ファイル解析部80は、ライセンスごとに各ユーザの使用履歴を蓄積し、ライセンスごとに各ユーザに使用制限を課すようにしてもよい。本発明によると、複数のライセンスを消費するジョブにおいて一部のライセンスが不足する場合に、不足するライセンス以外のライセンスが無駄に消費されることが無くなる。すなわち、本発明では、複数のライセンスを消費するジョブについて、すべてのライセンスに余りが生じるまで、当該ジョブには一切ライセンスを消費させないようにする。したがって、本発明によると、複数のライセンスを消費するジョブによってライセンスが無駄に消費されることを防ぐことができる。また、本発明によると、ユーザ数の増加に伴って、どの程度ライセンスの数を増加させればよいかを把握することもできる。実施形態1第1の実施形態に係るライセンス管理装置について、図面を参照して説明する。図1は、本実施形態に係るライセンス管理装置70を備えたTCADシステムの構成を一例として示すブロック図である。図1を参照すると、TCADシステムは、GUI部10、アプリケーション選択部20、入力ファイル解析部30、JOBスケジューリングサブシステム部40、JOB実行部50、および、ライセンスサブシステム部60を備えている。また、ライセンス管理装置70は、入力ファイル解析部30およびライセンス管理部41を備えている。図1に示した構成のうちのGUI部10、アプリケーション選択部20、JOB実行部50、および、ライセンスサブシステム部60の動作は、図9に示したTCADシステムに含まれる各部の動作と同様であることから、説明を省略する。入力ファイル解析部30は、JOBスケジューリングサブシステム部40によりJOBスケジューリングを行う前に、JOBごとに使用する予定のライセンス情報を取得する。なお、入力ファイル解析部30は、プログラムとして実現してもよい。入力ファイル解析部30は、JOB実行前に入力ファイルを解析し、実行するJOBが必要とするライセンスを識別し、JOBスケジューリングサブシステム部40へ渡す。入力ファイル解析部30、例えば、TCADシステムにおいて、データベースを参照することにより、3Dシミュレーションの有無、マルチスレッドの有無、特定の物理モデルの使用の有無等などに応じて、必要なライセンスを識別する。図2は、入力ファイル解析部30の構成を一例として示すブロック図である。図2を参照すると、入力ファイル解析部30は、入力データ読み込み部31、キーワード抽出解析部32、ライセンスフラグ判定部33、および、ライセンスタイプ指定スクリプト実行部34を備えている。入力ファイル解析部30は、アプリケーションごとに別個に設けるようにしてもよいし、アプリケーションごとに異なる動作を行うようにしてもよい。本実施形態では、入力ファイル解析部30を上記のように動作させることで、TCADシステムにおいて、ライセンスを有効に使用できるようにする。入力データ読み込み部31は、JOBの入力データを読み込む。キーワード抽出解析部32は、読み込んだ入力データからキーワードを抽出するとともに、抽出したキーワードを解析する。例えば、プロセスシミュレーションの場合には、キーワードとして、3D、parallel等がある。一方、デバイスシミュレーションの場合には、キーワードとして、3D、parallel、device-densitygrad、device-schroedinger、device-mixedmode、device-hydro、device-thermo等がある。ライセンスフラグ判定部33は、キーワードの解析結果に基づいて、ライセンスを示すフラグライセンスフラグの有無を判定し、JOBごとに必要とされるライセンスの種類を抽出する。JOBごとに必要とされるライセンスとして、一例として、次のような場合が考えられる。プロセスシミュレーションであるPJOB1では、ライセンスFeatureP1normalを必要とする。また、プロセスシミュレーションであるPJOB2では、ライセンスFeatureP1およびP23Dを必要とする。さらに、プロセスシミュレーションであるPJOB3では、ライセンスFeatureP1およびP23DおよびM3parallelを必要とする。例えば、ライセンスFeatureP2およびM3は、ライセンスFeatureP1と比較して、許諾されたライセンスの数が少なく、かつ、ライセンス料が高価である場合が考えられる。一方、デバイスシミュレーションであるDJOB1では、ライセンスFeatureD1normalを必要とする。また、デバイスシミュレーションであるDJOB2では、ライセンスFeatureD1およびD23Dを必要とする。さらに、デバイスシミュレーションであるDJOB3では、ライセンスFeatureD1およびD23DおよびM3parallelを必要とする。例えば、ライセンスFeatureD2およびM3は、ライセンスFeatreD1と比較して、許諾されたライセンスの数が少なく、かつ、ライセンス料が高価であるような場合が考えられる。ライセンスタイプ指定スクリプト実行部34は、JOBで必要とされるライセンスを識別した後に、スクリプトライセンスタイプ指定スクリプトを生成し、JOBスケジューリングサブシステム部40に実行させる。ここで、ライセンスタイプ指定スクリプトとは、ライセンスの識別後にJOBスケジューリングサブシステム部40に実行させるスクリプトであり、使用予定のライセンスの種類ライセンスタイプを指定する。例えば、プロセスシミュレーション実行用のスクリプトであるプロセススクリプトProcessScriptは、スクリプト実行時にどのタイプであるかを自動指定し、ライセンス管理部41を伴うJOBスケジューリングサブシステム部40で実行されるスクリプトのことをいう。ライセンスタイプの指定として、例えば、非3Dの1CPUJOB、非3DのマルチスレッドJOB、3Dの1CPUJOB、3DのマルチスレッドJOB等が挙げられる。同様に、デバイスシミュレーション実行用のスクリプトであるデバイススクリプトDeviceScriptのライセンスタイプの指定として、非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等が挙げられる。JOBスケジューリングサブシステム部40は、ライセンス管理部41およびスケジューリング部42を有し、JOBのスケジューリングを行う。図3aを参照すると、図3bのように入力ファイル解析部30を設けない場合には、JOBスケジューリングサブシステム部140は、ライセンス管理部141を使用することなく、JOBスケジューリングを行う。このとき、JOBにおいて不足するライセンスが1つでも存在すると、JOBの実行途中で不足分のライセンスの取得待ち状態となり、このJOBによってすでに取得された分のライセンスが無駄になる。本実施形態では、図3bに示すように、JOBスケジューリングサブシステム部40のライセンス管理部41を使用することで、上述のように、ライセンスが無駄に消費されることを回避する。JOBスケジューリングサブシステム部40は、入力ファイル解析部30によって指定されたライセンスタイプ指定スクリプトに基づいて、ライセンス管理部41のライセンスタイプを指定する。ライセンス管理部41は、ライセンスタイプ例えば、P1,P2,M3,D1,D2のそれぞれについて、ライセンスの余りを示すカウンタ値ライセンスカウンタ例えば、CP1,CP2,CM3,CD1,CD2を保持する。ライセンス管理部41は、指定されたライセンスタイプごとに、ライセンスが消費された場合には、ライセンスカウンタをデクリメント-1する。ライセンス管理部41は、ライセンスカウンタのカウント値が0である場合には、許容されたライセンス数を超えるものと判定し、JOBを待ち行列に入れる。また、ライセンス管理部41は、ライセンスカウンタが1以上となるまで、待ち行列に入れたJOBをJOB実行部50に移行させない。ライセンス管理部41は、JOBの実行が終了すると、当該JOBで消費されていたライセンスタイプに対するライセンスカウンタをインクリメント1する。図5は、プロセススクリプトPJOB1~PJOB3、および、デバイススクリプトDJOB1~DJOB3に対するライセンスタイプを一例として示す表である。図6は、ライセンスカウンタCP1,CP2,CM3,CD1,CD2のそれぞれのカウンタ値の上限、すなわち、ライセンスタイプP1,P2,M3,D1,D2のそれぞれのライセンスの許諾数を一例として示す表である。JOBスケジューリングサブシステム部40によるJOBスケジューリングについて、図5および図6に示した場合を例として説明する。ここでは、PJOB1,PJOB2,PJOB3,DJOB3,DJOB1,DJOB2の順にJOBが投入されたとする。このとき、各JOBは、次のように実行される。まず、PJOB1が投入される。入力ファイル解析部30は、ライセンスタイプがP1であると判定し、ライセンスタイプ指定スクリプトに基づいてJOBスケジューリングサブシステム部40を動作させる。このとき、ライセンス管理部41は、ライセンスカウンタCP1をデクリメント-1してCP1=2とし、JOBを実行するステップA1。次に、PJOB2が投入される。入力ファイル解析部30は、ライセンスタイプがP1およびP2であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCP1およびCP2をそれぞれデクリメント-1してCP1=1,CP2=1とし、JOBを実行するステップA2。次に、PJOB3が投入される。入力ファイル解析部30は、ライセンスタイプがP1,P2およびM3であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCP1,CP2およびM3をそれぞれデクリメント-1してCP1=0,CP2=0,CM3=0とし、JOBを実行するステップA3。次に、DJOB3が投入される。入力ファイル解析部30は、ライセンスタイプがD1,D2およびM3であると判定する。このとき、ライセンス管理部41は、M3のライセンスカウンタCM3が0であるため、JOBを待ち行列に入れて待機させるステップA4。次に、DJOB1が投入される。入力ファイル解析部30は、ライセンスタイプがD1であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCD1をデクリメント-1してCD1=2とし、JOBを実行するステップA5。次に、DJOB2が投入される。入力ファイル解析部30は、ライセンスタイプがD1およびD2であると判定する。このとき、ライセンス管理部41は、ライセンスカウンタCD1およびCD2をそれぞれデクリメント-1して、CD1=1,CD2=0とし、JOBを実行するステップA6。ここで、PJOB3の実行が終了した場合には、ライセンス管理部41は、ライセンスカウンタCP1,CP2およびCM3をそれぞれインクリメント1して、CP1=1,CP2=1,CM3=1とするステップA7。さらに、DJOB2の実行が終了すると、ライセンス管理部41は、ライセンスカウンタCD1およびCD2をそれぞれインクリメント1して、CD1=2,CD2=1とするステップA8。ライセンス管理部41は、待機させていたDJOB3について、ライセンスカウンタCD1,CD2およびCM3をそれぞれデクリメント-1して、CD1=1,CD2=0,CM3=0とし、JOBを実行するステップA9。DJOB3の実行が終了すると、ライセンス管理部41は、ライセンスカウンタCD1,CD2およびCM3をそれぞれインクリメント1して、CD1=2,CD2=1,CM3=1とするステップA10。PJOB1の実行が終了すると、ライセンス管理部41は、P1のライセンスカウンタCP1をインクリメント1して、CP1=2とするステップA11。PJOB2の実行が終了すると、ライセンス管理部41は、P1およびP2のライセンスカウンタCP1およびCP2をそれぞれインクリメント1して、CP1=3,CP2=2とするステップA12。DJOB1の実行が終了すると、ライセンス管理部41は、D1のライセンスカウンタCD1をインクリメント1して、D1=3とするステップA13。一方、図3aに示すように、ライセンス管理部141の処理を経ることなく、JOBを実行すると、次のようになる。まず、PJOB1が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、2,2,1,3,1となるステップB1。次に、PJOB2が投入され、JOBが実行される。する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,3,1となるステップB2。次に、PJOB3が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,3,1となるステップB3。次に、DJOB3が投入され、JOBが実行される。すると、ライセンスFeatureDnormalおよびD3Dのライセンス、すなわち、ライセンD1およびD2が消費され、ライセンスFeatureparallelに相当するライセンスM3が不足することにより、ライセンスの取得待ち状態となる。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,2,0となるステップB4。次に、DJOB1が投入され、JOBが実行される。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,1,0となるステップB5。次に、DJOB2が投入され、JOBが実行される。すると、ライセンスFeatureDnormalに相当するライセンスD1が消費され、ライセンスFeatureD3Dに相当するライセンスD2が不足することにより、ライセンスの取得待ち状態となる。このとき、このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、0,0,0,0,0となるステップB6。ここで、PJOB3の実行が終了した場合には、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,0,0となるステップB7。実行中のDJOB3について、ライセンスFeatureparallelに相当するライセンスM3が取得され、JOBの処理が実際に進行する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,0,0,0となるステップB8。次に、DJOB3の実行が終了する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,1,1となるステップB9。実行中のDJOB2について、ライセンスFeatureD3Dに相当するライセンスD2が取得され、JOBの処理が実際に進行する。このとき、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、1,1,1,1,0となるステップB10。PJOB1の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、2,1,1,1,0となるステップB11。PJOB2の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,1,0となるステップB12。DJOB1の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,2,0となるステップB13。DJOB2の実行が終了すると、ライセンスP1,P2,M3,D1,D2のライセンスの余りは、それぞれ、3,2,1,3,1となるステップB13。このとき、ステップB4およびB6において、ライセンスFeatureDnormalに相当するライセンスD1の2本が無駄に消費され、ライセンスFeatureD3Dに相当するライセンスD2の1本が無駄に消費される。ここに示した状況よりもライセンス構成が複雑で、ライセンスの本数が多く、JOBの数も多いような状況では、ライセンスの無駄な消費がさらに頻発し、高価なライセンスを有効に活用することができない。一方、本実施形態のライセンス管理装置70によると、上述のステップA4においてライセンスが無駄に消費されることがなく、ライセンスを有効に活用することができる。実施形態2第2の実施形態に係るライセンス管理装置について、図面を参照して説明する。本実施形態は、学習機能部で蓄積した情報に基づいて、入力ファイル解析部をライセンスの使用状況に適したものへと改善する構成を有する。図7は、本実施形態に係るライセンス管理装置における入力ファイル解析部80の構成を示すブロック図である。図7を参照すると、入力ファイル解析部80は、学習機能部81を有する。学習機能部81は、学習機能として、入力ファイル解析部30による識別結果に応じて選択されたライセンスタイプ指定に関する情報と、使用者情報とを蓄積する。図8を参照すると、例えば、各JOBのライセンスタイプごとに使用制限を設けるようにしてもよい。これにより、TCADシステムを使用状況に適したシステムへ改善することができる。なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示請求の範囲を含むの枠内において、さらにその基本的技術思想に基づいて、実施形態の変更調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。"