(57)【要約】【課題】  本発明は、回路を特徴付けること及び検証することを援助するために設計者がツールを用いるような回路設計及び分析システムの使用に、バースト・ライセンシングを考慮するシステム及び方法を提供することをその課題とする。【解決手段】  本発明によれば、バースト・ライセンシングは、選択したツールを実行するときにシミュレーション・タスクの超並行処理をシステム・ユーザまたは顧客に実行させるためにライセンス（１６６、１７４、１８２）を‘必要あらば、または必要なときに’ベースで供給するために用いられる。システムがタスク（１６２、１７０，１７８）を開始するための要求を受信したときに、システムは、タスクを処理することに使用するためにバースト・ライセンス（１６６、１７４、１８２）をチャック-アウトしかつライセンスを特定のＣＰＵに割り当てる。次いでタスクは、そのＣＰＵ（１５４、１５６、１５８）で実行され、かつ一度終了したならばバースト・ライセンスは、ライセンス・プール（１６０）に戻される。
2005514680.tif 000002
【特許請求の範囲】
【請求項１】
バースト・ライセンシングのためのシステムであって、
タスクを実行することにおいて複数のプロセッサによって用いられる複数のバースト・ライセンスをライセンス・プール内で特定する手段と、及び
前記バースト・ライセンスの一つを前記ライセンス・プールから一時的にチェック-アウトし、かつ前記タスクの特定の一つを実行する持続時間に対して特定のプロセッサに前記バースト・ライセンスを割り当てる手段と、
を備えていることを特徴とするシステム。
【請求項２】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項１に記載のシステム。
【請求項４】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項１に記載のシステム。
【請求項５】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項４に記載のシステム。
【請求項６】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項５に記載のシステム。
【請求項７】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項１に記載のシステム。
【請求項８】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項７に記載のシステム。
【請求項９】
バースト・ライセンシングのためのシステムであって、
タスクを実行することに使用するバースト・ライセンス含んでいるライセンス・プールと、
タスクを実行するための複数のプロセッサと、
実行される複数のタスクとを備え、
タスクを実行するための要求を受信することに応じて、前記システムは、前記ライセンス・プールからのランセンスを前記複数のプロセッサの一つに一時的に割り当て、前記タスクを該プロセッサに実行させることを特徴とするシステム。
【請求項１０】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項９に記載のシステム。
【請求項１３】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項９に記載のシステム。
【請求項１６】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項１５に記載のシステム。
【請求項１７】
バースト・ライセンシングのための方法であって、
一定のタスクを実行することにプロセッサによって使用するバースト・ライセンスのプールを特定する段階と、及び
タスクを実行するための要求を受信することに応じて、
前記プールからバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを特定のプロセッサに割り当てる副段階と、
前記タスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる副段階と、及び
前記バースト・ライセンスを前記プールに戻す副段階と
を具備することを特徴とする方法。
【請求項１８】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項１７に記載の方法。
【請求項１９】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項１７に記載の方法。
【請求項２０】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項１７に記載の方法。
【請求項２１】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項２１に記載の方法。
【請求項２３】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項１７に記載の方法。
【請求項２４】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項２３に記載の方法。
【請求項２５】
一定のタスクを実行することにプロセッサによって使用するバースト・ライセンスのプールを特定する段階と、及び
タスクを実行するための要求を受信することに応じて、
前記プールからバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを特定のプロセッサに割り当てる副段階と、
前記タスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる副段階と、及び
前記バースト・ライセンスを前記プールに戻す副段階と
を、実行されたときにシステムに実行させる、コンピュータ読取り可能命令を含んでいる、バースト・ライセンシングのためのシステム。
【請求項２６】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項９に記載のシステム。
【請求項２８】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項２５に記載のシステム。
【請求項２９】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項２８に記載のシステム。
【請求項３０】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項２９に記載のシステム。
【請求項３１】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項２５に記載のシステム。
【請求項３２】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項３１に記載のシステム。
【請求項３３】
バースト・ライセンシングのための方法であって、
タスクを実行するための要求を受信する段階と、
前記プールからバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを特定のプロセッサに割り当てる段階と、
前記タスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる段階と、及び
前記バースト・ライセンスを前記プールに戻す段階と
を具備することを特徴とする方法。
【請求項３４】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項３３に記載の方法。
【請求項３５】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項３３に記載の方法。
【請求項３６】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項３３に記載の方法。
【請求項３７】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項３６に記載の方法。
【請求項３８】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項３７に記載の方法。
【請求項３９】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項３３に記載の方法。
【請求項４０】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項３９に記載の方法。
【請求項４１】
タスクを実行するための要求を受信する段階と、
前記プールからバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを特定のプロセッサに割り当てる段階と、
前記タスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる段階と、及び
前記バースト・ライセンスを前記プールに戻す段階と
を、実行されたときにシステムに実行させる、コンピュータ読取り可能命令を含んでいる、バースト・ライセンシングのためのシステム。
【請求項４２】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項４１に記載のシステム。
【請求項４３】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項４１に記載のシステム。
【請求項４４】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項４１に記載のシステム。
【請求項４５】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項４４に記載のシステム。
【請求項４６】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項４５に記載のシステム。
【請求項４７】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項４１に記載のシステム。
【請求項４８】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項４７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、特に電子回路設計環境で使用する、バースト・ライセンシングのためのシステム及び方法に関する。
【背景技術】
【０００２】
回路レベル設計者は、計画を用いて電子回路を一般的に開発する。最も一般的に直面する計画は、最終目的が非常に異なるけれども、多くの共通点を有する、特徴付け計画及び合成計画である。両方の場合において、設計者は、回路を特徴付けること及び検証することを援助するためのツール（即ち、シミュレーションを通して回路に対する特徴付け結果を獲得すること）、特徴付け結果の視覚及びデータ処理分析を援助するツール、及び計画の開発における及びその他の設計の特徴付けに対して特徴付け結果の再使用を可能にする機構を供給するためのツールが必要である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来これらのツールは、多くの場合、様々な異なる製造業者によって、ばらばらに供給されており、それは不一致に導きかつ開発者が多数の複雑なシステムを修得するために学ぶときに多くの時間及びお金の損失に導く。更に、これらのツールは、多くの場合、各設計者による使用に対してライセンスを得なければならない。それは、会社全体にツールを供給するためのコストをかなり増大する。コスト制約により各設計者に対して必要なツールの全てを供給しないことの代替は、ある指定の設計者だけがツールへのアクセスを有することができ、かつ開発力全体が妨げられるということを意味する。
【課題を解決するための手段】
【０００４】
ここで、特に、回路を特徴付けること及び検証することを援助するために（即ち、シミュレーションを通して回路に対する特徴付け結果を獲得することに）設計者が様々なツールを用いるような回路設計及び分析システムの使用に、バースト・ライセンシングを考慮するシステムを開示する。各ツールは、動作するためにそれ自身のライセンスを一般に必要とする。バースト・ライセンシングは、ツール・ライセンスを‘必要あらば、または必要なときに’ベースで供給させて、選択したツールを実行するときにシミュレーション・タスクの超並行処理をシステム・ユーザまたは顧客に実行させる。
【発明の効果】
【０００５】
シミュレータとツールとの間で複雑なハンドシェークを実現することによって、システムは、個別のスタンド・アロン・シミュレーション・ユーザは、バースト・ライセンシングの利益を得られないことを確実にすることができる。それとして、バースト・ライセンシング特徴は、例えば、特徴付けまたは最適化処理の間に、実行すべき多くのシミュレーションを有するユーザに対して確保することができる。
【発明を実施するための最良の形態】
【０００６】
本発明の一実施形態は、回路シミュレータ（例えば、その両方がＡｎｔｒｉｍ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発された、Ａｎｔｒｉｍ  ＡＭＳシミュレータ、またはＡｎｔｒｉｍ  ＯｍｎｉＳｉｍシミュレータ）及び/またはシミュレーション制御プログラム（例えば、Ａｎｔｒｉｍ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発された、Ａｎｔｒｉｍ  Ａｐｔｉｖｉａ、Ａｎｔｒｉｍ  ＡＣＶ、またはＡｎｔｒｉｍ  ＭＳＳ）のいずれかを含む環境において特に有用である。しかしながら、本発明によって供給されるようなバースト・ライセンシングの特徴、利益、及び利点は、様々なその他の環境及び産業において、そして特に、上記に明示的に示したものに加えて、その他のシミュレーション環境、シミュレーション制御プログラム、及びシミュレーション・ツールで用いられうるということは、当業者にとって明らかであろう。
【実施例】
【０００７】
ここで、特に、回路を特徴付けること及び検証することを援助するために（即ち、シミュレーションを通して回路に対する特徴付け結果を獲得することに）設計者が様々なツールを用いるような回路設計及び分析システムでの使用に、バースト・ライセンシングを考慮するシステムを開示する。各ツールは、動作するためにそれ自身のライセンスを一般に必要とする。バースト・ライセンシングは、ツール・ライセンスを‘必要あらば、または必要なときに’ベースで供給させて、選択したツールを実行するときにシミュレーション・タスクの超並行処理をシステム・ユーザまたは顧客に実行させる。
【０００８】
シミュレータとツールとの間で複雑なハンドシェークを実現することによって、システムは、個別のスタンド・アロン・シミュレーション・ユーザは、バースト・ライセンシングの利益を得られないことを確実にすることができる。それとして、バースト・ライセンシング特徴は、例えば、特徴付けまたは最適化処理の間に、実行すべき多くのシミュレーションを有するユーザに対して確保することができる。
【０００９】
本発明の一実施形態は、回路シミュレータ（例えば、その両方がＡｎｔｒｉｍ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発された、Ａｎｔｒｉｍ  ＡＭＳシミュレータ、またはＡｎｔｒｉｍ  ＯｍｎｉＳｉｍシミュレータ）及び/またはシミュレーション制御プログラム（例えば、Ａｎｔｒｉｍ  Ｄｅｓｉｇｎ  Ｓｙｓｔｅｍｓ，Ｉｎｃ．によって開発された、Ａｎｔｒｉｍ  Ａｐｔｉｖｉａ、Ａｎｔｒｉｍ  ＡＣＶ、またはＡｎｔｒｉｍ  ＭＳＳ）のいずれかを含む環境において特に有用である。しかしながら、本発明によって供給されるようなバースト・ライセンシングの特徴、利益、及び利点は、様々なその他の環境及び産業において、そして特に、上記に明示的に示したものに加えて、その他のシミュレーション環境、シミュレーション制御プログラム、及びシミュレーション・ツールで用いられうるということは、当業者にとって明らかであろう。本発明により供給される特徴は：
ダイナミック・ジョブ及びマシン・スピード評価を用いてシミュレーション・ジョブ負荷平衡を供給する機能を含む。
シミュレーション環境（例えば、ＡＣＶ及びシミュレータＡＭＳ）間のハンドシェーキングは、バースト・ライセンスを認可するために用いることができる。一実施形態では、バースト・ライセンシングは、システムの非対話的使用、例えば、非対話的特徴付け及び検証に対してだけ支援されるかまたは供給される。この特徴は、個別または対話的ユーザがバースト・ライセンスにアクセスすることを防ぐために用いることができる。
シミュレーションは、より速く、かつ並列で、追加ランセンスに対する必要性を増大することなく、実行することができる：例えば、１０負荷値*１０電源電圧*１０温度*１設計に対して３処理＝３０００シミュレーション。
経過タスク処理時間は、利用可能なマシンの数で分割することができる。
システムは、全ての利用可能なリソース（資源）を考慮中のジョブに集中させる。
マシンのネットワークは、最も適切にジョブを終わらせるために単一の制御されたリソースとして取扱うことができる。
混合システム・アーキテクチャを同時に用いらせる。
バースト・ライセンスは、必要なときに莫大な処理能力（スループット）を供給する。
バースト・ライセンシングは、より多くのシミュレーション条件を通常可能な時間よりも短い時間で実行させる。これは、より短い時間でもたらされた、より正確で、かつより完全な情報を結果としてもたらす。
バースト・ライセンシングの利用可能性及びその結果として生じるより高速なシミュレーション時間は、設計問題をテープ・アウト前の検証の間に見出させ、それゆえに設計リスピン(re-spins)の時間及び費用の両方に関して、かなりの節約を供給する。
【００１０】
バースト・ライセンシング
新しい回路設計を生成するときには、回路設計者（即ち“ユーザ”）は、多くの場合、所与の設計で達成したい“一組のシミュレーション・タスク”を有する。そのような組の例は：
一組の処理コーナー間で設計を特徴付けること。
電源変動（変化）の範囲にわたり設計を特徴付けること。
複数のマイナー設計変更で設計を特徴付けるかまたは最適化すること。
設計で一群の分析、例えば（ＤＣ分析、ＡＣ分析、過渡分析）を実行すること。
でありうる。
【００１１】
ここで注目すべき重要な点は、ユーザが単一の設計と一般に作業しておりかつ設計に関連する分析タスクの組を実行しているということである。バースト・ライセンシング（“バースト”のような技術を用いることなくユーザは、一組のシミュレーション・タスクを達成するために基本的に二つのオプションを有する：
１．単一のランセンスを使用しかつ単一の中央処理装置（ＣＰＵ）で逐次にタスクを実行する；または
２．複数のライセンスを購入しかつ複数のＣＰＵで並列でジョブを実行する。
【００１２】
図１は、タスク処理に対して単一のＣＰＵ-ベース・ライセンスを利用する、即ち上記オプション１に従うシステムの概略図を示す。図１に示すように、システム１００は、ページの下方に向かって進む時間１０２で示されている。図示した単一のＣＰＵ  Ａ  １０４は、単一のＣＰＵ-ベース・ライセンス  Ａ  １０６を含む。Ｔａｓｋ（タスク）  Ａ  １０８を含んでいる、処理されるためにタスクが到着すると、それらは、ＣＰＵ  Ａ  １０４に渡され、かつ処理される。次のＴａｓｋ（タスク）  Ｂ  １１０が到着しかつ同様に処理される。次いで、Ｔａｓｋ（タスク）  Ｃ  １１２が処理される、等。各タスクは、ＣＰＵによって逐次にかつ順番に処理される。
【００１３】
図２は、タスク処理に対して複数のＣＰＵ及び複数のライセンスを利用する、即ち上記オプション２に従うシステムの概略図を示す。図２に示すように、システム１２０は、ページの下方に向かって進む時間１２２で再び示される。今回は、ＣＰＵ  Ａ  １２４、ＣＰＵ  Ｂ  １２６、及びＣＰＵ  Ｃ  １２８を含んでいる、複数のＣＰＵが示されている。各ＣＰＵは、Ｌｉｃｅｎｓｅ（ライセンス）  Ａ  １３０、Ｌｉｃｅｎｓｅ（ライセンス）  Ｂ  １３２、及びＬｉｃｅｎｓｅ（ライセンス）  Ｃ  １３４を含んでいる、それ自身のＣＰＵ-ベース・ライセンスを含む。Ｔａｓｋ（タスク）  Ａ  １３６、タスクＢ  １３８、及びＴａｓｋ  Ｃ  １４０を含んでいる、処理されるためにタスクが到着すると、タスクは、並列で処理されるべく複数のＣＰＵに渡すことができ、それゆえに、より短い期間でパスすることができる。（図２は、たった３つのＣＰＵを示すが、図２のシステムは、各ＣＰＵがタスクを処理するツールに対してそれ自身のランセンスを含むという条件で、より多くのＣＰＵに拡大することができるということは、明らかであろう。また、あるシステムは、ハイブリッド・システムを生成するために、図１に示したオプション１と図２に示したオプション２との組合せを用いうる）。
【００１４】
たった一つのジョブまたはタスクが一度に実行されるので、オプション１がより少数のライセンスを必要とすると同時に、全てのタスクを処理するための合計時間がより大きいということは、図１及び図２の考察から明らかであろう。オプション２は、より速く実行するが、必要なソフトウェア・ライセンスの全ての購入を必要とし、かつ必然的により高価なオプションである。
【００１５】
本発明に具体化されるような、バースト・ライセンシング（“バースト”）の裏にある主な考えは、複数のＣＰＵにおける並列実行を通して迅速に“一組のシミュレーション・タスク”を遂行するために用いることができる廉価なソフトウェア・ライセンスをユーザに供給する機構をシステムに備えることである。バースト・ライセンシングは、非対話的使用に一般に限定され、かつ並列で汎用非関連シミュレーション・タスクを実行するために用いることが一般にできない。代わりに、バースト・ライセンシングは、複数のシミュレーション実行及びタスクを必要とする、回路を特徴付けること及び検証することのような、それらのタスクに対して確保される。
【００１６】
バースト・ライセンシング・アーキテクチャ
図３は、本発明の実施形態に従って、タスク処理のために複数のＣＰＵ及びバースト・ライセンシングを利用するシステムの概略図を示す。図３に示すように、ページの下方に向かって垂直に進む時間１５２と一緒に、システム１５０は、ＣＰＵ  Ａ  １５４、ＣＰＵ  Ｂ  １５６、及びＣＰＵ  Ｃ  １５８を含んでいる、複数のＣＰＵが示されるという点で上記オプション２に類似する。しかしながら、しかしながら、バースト・ライセンシングが用いられるときには、各ＣＰＵは、それ自身のＣＰＵ-ベース・ライセンスを含む必要がない。代わりに、全ての利用可能なライセンスがライセンス・プール１６０に分類される（グループ分けされる）。例えばタスクＡ  １６２を含んでいる、タスクが処理されるために到着するときに、ライセンス・プールからバースト・ライセンス１６６が用いられ（“チェック-アウト”１６４）かつタスクを実行するためにそれが用いられるＣＰＵ（この場合にはＣＰＵ  Ａ  １５４）に一時的に供給される。次いで、バースト・ライセンスを使用するために別のジョブに対してライセンス・プールに戻すことができる（“チェック-イン”１６８）。システムは、ライセンス・プールからのバースト・ライセンス１７４をチャック-アウトしかつそれを１７２に、この場合にはＣＰＵ  Ｂ  １５６に一時的に供給し、そしてそれを１７６に戻すことによってＴａｓｋ(タスク)  Ｂ  １７０を同様に処理することができる。システムは、ライセンス・プールからのバースト・ライセンス１８２をチャック-アウト１８０しかつ、それを１８４に戻す前に、タスクを処理するためにそれを、例えばＣＰＵ  Ｃ  １５８に一時的に供給することによってＴａｓｋ(タスク)  Ｃ  １７８を同様に処理することができる。
【００１７】
要するに、タスクを実行することが必要な場合にはいつでも、システムは、バースト・ライセンスがライセンス・プールで利用可能であるかどうかを決定し、かつそれが利用可能である場合には、それをチェック・アウトしかつタスクを実行するためにＣＰＵにそれを一時的に割り当てる。指定のグループ内のバースト・ライセンスのそれぞれは、そのタスクを実行するという目的に対して同じであると考えられうるし、かつバースト・ライセンスをあらゆるＣＰＵ-タスク・ペアに発行することができる。十分なバースト・ライセンスが供給される場合には、各ツールに対してかつ各ＣＰＵに対して個別のライセンスを購入することを必要とせずに、並列で多くのタスクを実行することができる。このような方法で、バースト・ライセンシングを実現する図３に示すようなシステムは、会社を通したより低いコストのライセンシングと、高いシミュレーション・タスク・スループットとの両方の利益を組合せる。
【００１８】
図４は、本発明の実施形態によるバースト・ライセンシング処理のフローチャートを示す。図４に示すように、ステップ１９０で、システムは、一つのタスクまたは複数のタスクを開始するための要求を受信する。ステップ１９２で、システムは、タスクを処理することに使用するバースト・ライセンスをチャック-アウトし、指定のＣＰＵにライセンスを割り当てる。ステップ１９４で、タスクは、そのＣＰＵで実行され、かつステップ１９６で、一度タスクが完了したならば、バースト・ライセンスは、ライセンス・プールに戻される。
【００１９】
図５は、本発明の実施形態による回路設計シミュレータでそれが用いられうるようなバースト・ライセンシング処理のフローチャートを示す。図５に示すように、ステップ２００で、回路設計者は、実行すべき一組のタスク、一般的に特徴付け及び検証のような非対話的タスクを指定する。ステップ２０２で、設計アプリケーションは、一組のタスクを開始するためにマスター・ライセンスをチャック-アウトする。ステップ２０４で、実行する各タスクに対して、設計アプリケーションは、タスクを実行するために必要なツールに対応するライセンス・プールからのバースト・ライセンスをチャック-アウトする。ステップ２０６で、タスクは、必要な、そしていま適切にライセンスされたツールを用いてシミュレータによって実行される。ステップ２０８で、タスクを終了したときに、バースト・ライセンスをライセンス・プールに戻し、そしてステップ２１０でシステムは、次のシミュレータ・タスクを処理し始める。チャッキング-イン及びチャッキング-アウト処理全体は、必要に応じて繰り返される（ステップ２１２）。
【００２０】
例示的バースト・ライセンシング実施
以下の部分は、（Ａｎｔｒｉｍ  Ａｐｔｉｖｉａ、Ａｎｔｒｉｍ  ＡＣＶ、またはＡｎｔｒｉｍ  ＭＳＳのような）シミュレーション環境または制御プログラムを含む回路設計ソフトウェア実施におけるバースト・ライセンシング実施を記述する。その他のシミュレーション環境またはシミュレータを同様に用いることができかつここに説明した方法でバースト・ライセンシングを採用することができるということは、明らかである。また、バースト・ライセンシングは、回路設計に加えて、その他のアプリケーションによる使用に、かつその他の産業内で用いられうる。以下に記述する実現は、説明の目的のために与えられるが、それらは、網羅的であることまたは本発明を開示した正確な形に限定することを意図しない。本発明の精神及び適用範囲内に存在する、多くの変更及び変形は、当業者にとって明らかであろう。
【００２１】
一実施形態では、バースト・ライセンシングは、セットでライセンスを売ることによって展開される。各ユーザは、システムを用いることができるために単一の“マスター・ライセンス”を一般的に必要とする。次いで、ユーザのタスクを実行するために、システムは、多くのユーザによって共有されるバースト・ライセンスのプールからバースト・ライセンスを取り出す。一般にバースト・ライセンスは、マスター・ライセンスの価格の１/２から１/４で値段が付けられうるし、かつユーザは、一般にマスター・ライセンスの２倍から４倍多くバースト・ライセンスを買う。マスター及びバースト・ライセンスの数及び種類は、会社の特定の必要性に適するために変化させることができる。例えば、ＡＭＳを用いる一実施形態では、システムは、“マスター”ライセンスの二つの形、ＡＭＳＴＩＥＤ及びＡＭＳＦＵＬＬ，及びバースト・ライセンスの一つの形、ＡＭＳＢＵＲＳＴを認識する。
【００２２】
一実施形態では、バースト・ライセンシング・スキームは、二つのソフトウェア・プログラム及び複数の組のソフトウェア・ライセンスを通して実施することができる。これら二つのプログラムは、シミュレータ（例えば、Ａｎｔｒｉｍ  ＡＭＳ、Ａｎｔｒｉｍ  ＯｍｎｉＳｉｍ、または別の種類のシミュレータ）及びシミュレーション制御プログラム（例えば、Ａｎｔｒｉｍ  ＡＣＶ、Ａｎｔｒｉｍ  ＭＳＳ、Ａｎｔｒｉｍ  Ａｐｔｉｖｉａ、または別の種類のシミュレーション環境のいずれか）でありうる。この実施形態では、ユーザは、シミュレーション制御プログラムで実行するジョブを指定する。ＡＣＶでは、例えば、ユーザは、ユーザの設計に実行される一組のコーナーまたはスウィープ、及び正しい動作を検証するために設計で実行される一組のテストを指定することを許される。ＭＳＳでは、ユーザは、それらの値が変更される設計における一組のコンポーネント、及び正しい動作を検証するために設計で実行される一組のテストを指定することができる。次いで、シミュレーション環境（即ち、ＡＣＶまたはＭＳＳのいずれか）は、必要なライセンスをチャック-アウトすること、及びその組のタスクをＣＰＵｓのグループにわたり分配することを処理する。ユーザが一組のタスクからのユーザの最初のジョブを開始するときに、シミュレーション環境は、“マスター”ライセンスをチャック-アウトする。環境がその組からの後続のタスクを開始するときに、次いでそれはバースト・ライセンスをチャック-アウトする。シミュレーションがライセンスをチャック-アウトすることに成功した（即ち、十分な未使用ライセンスが利用可能である）場合には、シミュレータ（例えばＡＭＳ）が開始されかつシミュレーション・タスクに対するデータがＡＭＳに渡される。
【００２３】
この方法論を用いて、ライセンスがシミュレーション環境内から（即ちＡＣＶまたはＭＳＳ内から）実行される場合には、シミュレータ（即ちＡＭＳ）は、ライセンスを事実上決してチャック-アウトしない。構造によってＡＣＶ及びＭＳＳは、ユーザにそれらの組からのジョブを実行させるので、アプローチが動作する。
【００２４】
例示的バースト・ライセンシング計画
１．明らかなように、例えば、
ポイント・ツールに基づくかつ大きな会社を目標にしたスキーム、
シート・ベースでかつ限られた数またはコピーの製品を必要とするより小さい顧客を目標にしたスキーム、
を含んでいる、多くのライセンシング・スキームが存在しうる。
２．また、例えば、
ライセンス種類          価格        記述
ＡＣＶＣＯＲＥ          １５      標準ＡＣＶ
ＭＳＳＣＯＲＥ          １７      標準ＭＳＳライセンス
ＡＭＳＣＯＲＥ          フリー    フリー・ライセンス
ＡＭＳＦＵＬＬ          ３５      完全浮動ＡＭＳライセンス
ＡＭＳＴＩＥＤ          １６      ＡＣＶに結合されたＡＭＳライセンス
ＡＭＳＢＵＲＳＴ        １２      ＡＭＳバースト・ライセンス
ＡＭＳＶＬＯＧ          １０      ＡＭＳ  ｖｅｒｉｌｏｇ  Ｄライセンス
ＡＭＳＲＥＬＡＸ        １８      緩和に対するＡＭＳライセンス
のような、可変価格を有する様々な種類のライセンスが存在しうる。
（上記の価格は、単なる例示でありかつ必ずしも実際の価格を反映するものではない。これらのライセンスの種類、記述、及び価格値は、本発明の使用及び利益を説明する目的で単に与えられるものであるという、及び本発明は、この開示に示されたかまたは記述された特定の種類のライセンス、アプリケーション、またはシナリオに限定されないということは、当業者には明らかであろう）。
【００２５】
３．シート・ベース・モデルは、ＡＣＶＣＯＲＥ及びＡＭＳＴＩＥＤライセンスを用いうる。
【００２６】
４．ポイント・ツール・ベース・モデルは、ＡＣＶＣＯＲＥ及びＡＭＳＦＵＬＬライセンスを用いうる。
【００２７】
５．バースト・ライセンシングは、同じ種類の複数の実行を実行するときにだけ有用である。開発者は、最初により高価なＡＣＶＦＵＬＬまたはＡＣＶＴＩＥＤライセンスの一つを常にチャック-アウトしなければならない。
【００２８】
６．コマンドラインからまたはＡＡＩまたはＡＣＩ（ＡＣＶなし）でＡＭＳを用いるために、顧客は、ＡＭＳＦＵＬＬライセンスを購入しなければならない。
【００２９】
ＡＣＶに対する例示的バースト・ライセンシング実施
以下の部分は、Ａｎｔｒｉｍ  ＡＣＶ環境でバースト・ライセンシングを供給するために用いられるようなバースト・ライセンシングの特定の実施を記述する。記述のこの部分は、説明の目的のために供給され、かつ本発明を記述する特定の実施形態に限定することを意図しない。上述したように、本発明の精神及び適用範囲内で、バースト・ライセンシングをその他の実施形態において及び記述されたシステムを超えてその他のシステムで用いることができるということは、明らかであろう。
【００３０】
１．ユーザがＡＣＶを始動させるときに、ＡＣＶは、ＡＣＶＣＯＲＥをチャック-アウトする。これが失敗した場合にはＡＣＶが中止する。
【００３１】
２．シミュレーションを実行する時間がやってきたときに、ＡＣＶは、ＡＭＳＴＩＥＤをチャック-アウトすることをまず試みる。これが失敗した場合には、ＡＣＶは、ＡＣＶＦＵＬＬをチャック-アウトすることを試みる。これが失敗した場合には、ＡＣＶは、後で再び試みるかまたはライセンシング・システムをチェックすることをユーザに告げるエラー・メッセージを与える。チャック-アウトが成功した場合には、ＡＣＶは、ＡＭＳを開始してそれを正しいバースト・トークンに渡す。
【００３２】
３．ユーザが複数のシミュレーションをスウィープ、またはコーナー・ループで実行している場合には、最初のシミュレーションは、上記（２）に従う。後続のシミュレーションに対してＡＣＶは、ＡＭＳＢＵＲＳＴライセンスをチャック-アウトすることをまず試みる。これが失敗した場合には、ＡＣＶは、ＡＭＳＦＵＬＬをチャック-アウトすることを試みる。これが成功した場合にはＡＣＶは、ＡＭＳを開始しそれをバースト・トークンに渡す。
【００３３】
４．ＡＭＳが開始されるときにそれはＡＭＳＣＯＲＥライセンスを常にチャック-アウトする。これは、ユーザがバースト・システムを駄目にすること、そして例えば、無制限のフリーＡＭＳ使用を得ることをより難しくするために行われる。提供されるＡＭＳＣＯＲＥライセンシーの数は、ＡＭＳＣＯＲＥ＝ＡＭＳＦＵＬＬ＋ＡＭＳＴＩＥＤ＋ＡＭＳＢＵＲＳＴである。
【００３４】
５．（コマンド・ラインから実行されるときのように）ＡＭＳがバースト・キーを受信しない場合には、ＡＭＳはＡＭＳＦＵＬＬライセンスをチャック-アウトする。
【００３５】
６．ＡＭＳがユーザが高度な機能（Ｒｅｌａｘ、Ｖｅｒｉｌｏｇ-Ｄ、等）の一つを用いているということを検出した場合には、それは、適切なＡＭＳＶＬＯＧまたはＡＭＳＲＥＬＡＸライセンスをチャック-アウトする。
【００３６】
７．ＭＳＳは、ＡＣＶと同じ方法で動作し、それは、始動でＭＳＳＣＯＲＥライセンスをチャック-アウトするだけである。
【００３７】
例示的バースト・ライセンス・パッケージング及び販売モデル
１．サイト・ライセンス・モデル：この場合には同数の販売されるＡＭＳＴＩＥＤとＡＣＶＣＯＲＥライセンスが常に存在する。追加のバースト及びＡＭＳＶＬＯＧライセンスは、必要に応じて追加することができる。一般的なパッケージは、例えば以下のランセンスを含みうる：
１ｅａ．  ＡＣＶＣＯＲＥ
１ｅａ．  ＡＭＳＴＩＥＤ
２ｅａ．  ＡＭＳＢＵＲＳＴ
３ｅａ．  ＡＭＳＣＯＲＥ
３ｅａ．  ＡＭＳＶＬＯＧ
３ｅａ．  ＡＭＳＲＥＬＡＸ
上記パッケージは、一度に一人のユーザにソフトウェアを使用させるが、ユーザは、バースト・ライセンシングを用いて並列で３つのシミュレーションまで実行することができる。
【００３８】
２．ポイント・ツール・モデル。このモデルからの利点を得るために、ユーザは、コマンド・ラインから直接ＡＭＳを実行することを望まなければならないか、またはユーザは、ＡＭＳライセンスよりも多くのＡＣＶライセンスを購入しなければならない（さもなければ、ロックされたパッケージだけを買うことがより安価である）。一般的なパッケージは、例えば以下のライセンスを含みうる：
１０ｅａ．  ＡＣＶＣＯＲＥ
５ｅａ．    ＡＭＳＴＩＥＤ
１０ｅａ．  ＡＭＳＢＵＲＳＴ
１５ｅａ．  ＡＭＳＣＯＲＥ
１５ｅａ．  ＡＭＳＶＬＯＧ
１５ｅａ．  ＡＭＳＲＥＬＡＸ
【００３９】
上記パッケージは、一度に１０人のユーザに製品を使用させるが、それらのうちの最大５つがシミュレーションを有効的に実行することができる。ここでの想定は、ユーザの半分が有効的にシミュレートしていると同時に他の半分がユーザのジョブを設定するかまたは先に行ったシミュレーションの結果を調べるＡＣＶで忙しいということである。５シミュレーション・ユーザのそれぞれは、バースト・ライセンシングを用いて並列で３つのシミュレーションまで実行することができる。
【００４０】
本発明の上記説明は、説明及び記述の目的で提供される。網羅的であることまたは本発明を開示した正確な形に限定することを意図するものではない。明らかに、多くの変更及び変形が当業者に理解されるであろう。実施形態は、本発明の原理及びその実用的アプリケーションを最もよく説明するために選択されかつ記述され、それにより当業者が様々な実施形態に対して及び企図した実用的使用に適するような様々な変更を有する本発明を理解することができる。特に、（例えば、Ａｎｔｒｉｍ  Ａｐｔｉｖｉａ、Ａｎｔｒｉｍ  ＡＣＶ、Ａｎｔｒｉｍ  ＭＳＳ、または別の種類のシミュレーション環境のような）その他のシミュレーション環境または制御プログラム、及び（例えば、Ａｎｔｒｉｍ  ＡＭＳ、またはＡｎｔｒｉｍ  ＯｍｎｉＳｉｍ、または別の種類の回路シミュレータのような）その他の回路シミュレータを用いうるということは、明らかであろう。また、バースト・ライセンシングは、回路設計に加えてその他のアプリケーション及びその他の産業による使用に採用されうるということも明らかであろう。上述した実施形態は、説明の目的のために与えられると同時に、それらは、網羅的であることまたは本発明を開示した正確な形に限定することを意図するものではない。本発明の適用範囲は、特許請求の範囲及びその同等物によって定義されるということを意図するものである。
【図面の簡単な説明】
【００４１】
【図１】図１は、タスク処理に対して一つのＣＰＵベース・ライセンスを利用するシステムの概略図を示す。
【図２】図２は、タスク処理に対して多数のＣＰＵ‘ｓ及び多数のライセンスを利用するシステムの概略図を示す。
【図３】図３は、本発明の実施形態による、タスク処理に対して多数のＣＰＵ‘ｓ及びバースト・ライセンシングを利用するシステムの概略図を示す。
【図４】本発明の実施形態によるバースト・ライセンシング処理のフローチャートを示す。
【図５】本発明の実施形態による回路設計シミュレータで用いられうるバースト・ライセンシング処理のフローチャートを示す。
【図１】
2005514680.tif 000003
【図２】
2005514680.tif 000004
【図３】
2005514680.tif 000005
【図４】
2005514680.tif 000006
【図５】
2005514680.tif 000007
【手続補正書】
【提出日】平成16年8月26日(2004.8.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
回路設計及びシミュレーション環境におけるシミュレーション・ツールのバースト・ライセンシングのためのシステムであって、
シミュレーション・タスクを実行することにおいて複数のプロセッサのいずれかによって用いられる複数のバースト・ライセンスをライセンス・プール内で特定する手段であり、バースト・ライセンスは、プロセッサに特定のタスクを実行することを許諾する、該手段と、
回路設計でまたは回路設計により実行する一組のタスクをユーザに実行依頼させる手段と、
前記バースト・ライセンスの一つ以上を前記ライセンス・プールから一時的にチェック-アウトし、かつプロセッサでタスクを実行する持続時間に対して一致する数のプロセッサに前記バースト・ライセンスを割り当てる手段と、及び
割り当てられたバースト・ライセンスを現在有している複数のプロセッサにわたり並列で前記一組のタスクを処理する手段と、
を備えていることを特徴とするシステム。
【請求項２】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項１に記載のシステム。
【請求項４】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項１に記載のシステム。
【請求項５】
前記タスクは、回路設計で実行されるシミュレーション・タスクであることを特徴とする請求項４に記載のシステム。
【請求項６】
前記タスクは、特徴付け及び検証タスクの一つであることを特徴とする請求項５に記載のシステム。
【請求項７】
前記タスクは、ユーザ・システムから受信されることを特徴とする請求項１に記載のシステム。
【請求項８】
前記ランセンス・プールの対話的使用を防ぐために前記ユーザのシステムと前記システムとの間でハンドシェークする手段を更に備えていることを特徴とする請求項７に記載のシステム。
【請求項９】
回路設計及びシミュレーション環境におけるシミュレーション・ツールのバースト・ライセンシングのためのシステムであって、
シミュレーション・タスクを実行することに使用するバースト・ライセンス含んでいるライセンス・プールであり、バースト・ライセンスは、プロセッサに特定のタスクを実行することを許諾する、該ライセンス・プールと、
タスクを実行するための複数のプロセッサと、
回路設計でまたは回路設計により実行するユーザによって実行依頼される一組のタスクとを備え、
一組のタスクを実行するための要求を受信することに応じて、前記システムは、前記ライセンス・プールからの一つ以上のライセンスを一致する数のプロセッサに一時的に割り当て、それらのプロセッサに並列で前記一組のタスクを実行させることを特徴とするシステム。
【請求項１０】
前記システムは、前記ランセンス・プールのライセンスの数よりも数が多い複数のプロセッサを含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項９に記載のシステム。
【請求項１２】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項９に記載のシステム。
【請求項１３】
回路設計及びシミュレーション環境におけるシミュレーション・ツールのバースト・ライセンシングのための方法であって、
一定のタスクを実行することにプロセッサによって使用するバースト・ライセンスのプールを特定する段階であり、バースト・ライセンスは、プロセッサに特定のタスクを実行することを許諾する、該段階と、
ユーザに回路設計でまたは回路設計により実行する一組のタスクを実行依頼させる段階と、
タスクを実行するための要求を受信することに応じて、
前記プールから一つ以上のバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを一致する数のプロセッサに割り当てる副段階と、
並列で前記一組のタスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる副段階と、及び
前記バースト・ライセンスを前記プールに戻す副段階と
を具備することを特徴とする方法。
【請求項１４】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項１３に記載の方法。
【請求項１６】
一定のタスクを実行することにプロセッサによって使用するバースト・ライセンスのプールを特定する段階であり、バースト・ライセンスは、プロセッサに特定のタスクを実行することを許諾する、該段階と、
ユーザに回路設計でまたは回路設計により実行する一組のタスクを実行依頼させる段階と、
タスクを実行するための要求を受信することに応じて、
前記プールから一つ以上のバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを一致する数のプロセッサに割り当てる副段階と、
並列で前記一組のタスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる副段階と、及び
前記バースト・ライセンスを前記プールに戻す副段階と
を、実行されたときにシステムに実行させる、コンピュータ読取り可能命令を含んでいる、回路設計及びシミュレーション環境におけるシミュレーション・ツールのバースト・ライセンシングのためのシステム。
【請求項１７】
回路設計及びシミュレーション環境におけるシミュレーション・ツールのバースト・ライセンシングのための方法であって、
回路設計でまたは回路設計により一組のシミュレーション・タスクを実行するためにユーザから要求を受信する段階と、
前記プールから一つ以上のバースト・ライセンスをチェック-アウトしかつ前記バースト・ライセンスを一致する数のプロセッサに割り当てる段階と、
並列で前記一組のタスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる段階と、及び
前記バースト・ライセンスを前記プールに戻す段階と
を具備することを特徴とする方法。
【請求項１８】
前記タスクを前記複数のプロセッサにわたり分配しかつ並列で実行することができることを特徴とする請求項１７に記載の方法。
【請求項１９】
前記システムを回路シミュレーション環境に組み込むことができることを特徴とする請求項１７に記載のシステム。
【請求項２０】
回路設計でまたは回路設計により一組のシミュレーション・タスクを実行するためにユーザから要求を受信する段階であり、バースト・ライセンスは、プロセッサに特定のタスクを実行することを許諾する、該段階と、
プールから一つ以上のバースト・ライセンスをチェック−アウトしかつ前記バースト・ライセンスを一致する数のプロセッサに割り当てる段階と、
並列で前記一組のタスクを実行するために前記プロセッサで前記バースト・ライセンスを用いる段階と、及び
前記バースト・ライセンスを前記プールに戻す段階と
を具備することを特徴とする方法。
【国際調査報告】
2005514680.tif 000008