(57)【要約】【課題】ライセンスの使用効率を上げると共にライセンス本数の割り当てを動的に変えることができるＪＯＢキューに連携するライセンス管理システム及び方法を提供する。【解決手段】ＪＯＢキューシステムのライセンス管理部は、元のライセンスに対して、別名の複数の仮想ライセンスを作成し、運用時にユーザー毎に仮想ライセンス数を割り振る機能（ａ）、複数のライセンスを一つにまとめて従属関係を有する別名の仮想ライセンスを設定する機能（ｂ）、元のライセンスに対して、別名の複数の仮想ライセンスを重複して作成し、作成後の仮想ライセンスの合計数を元のライセンス数よりも多く設定する機能（ｃ）を有する。【選択図】図２
2006285497.tif 000002
【特許請求の範囲】
【請求項１】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューシステムにおいて、
ジョブの実行に必要なライセンス管理を行うライセンス管理部を備え、
前記ライセンス管理部は、元のライセンスに対して、別名の複数の仮想ライセンスを作成し、運用時にユーザー毎に仮想ライセンス数を割り振る機能を有することを特徴とするＪＯＢキューに連携するライセンス管理システム。
【請求項２】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューシステムにおいて、
ジョブの実行に必要なライセンス管理を行うライセンス管理部を備え、
前記ライセンス管理部は、複数のライセンスを一つにまとめて従属関係を有する別名の仮想ライセンスを設定する機能を有することを特徴とするＪＯＢキューに連携するライセンス管理システム。
【請求項３】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューシステムにおいて、
ジョブの実行に必要なライセンス管理を行うライセンス管理部を備え、
前記ライセンス管理部は、元のライセンスに対して、別名の複数の仮想ライセンスを重複して作成し、作成後の仮想ライセンスの合計数を元のライセンス数よりも多く設定する機能を有することを特徴とするＪＯＢキューに連携するライセンス管理システム。
【請求項４】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューに連携するライセンス管理方法であって、
ジョブの実行に必要なライセンス管理を行うために、元のライセンスに対して、別名の複数の仮想ライセンスを作成し、運用時にユーザー毎に仮想ライセンス数を割り振ることを特徴とするＪＯＢキューに連携するライセンス管理方法。
【請求項５】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューに連携するライセンス管理方法であって、
ジョブの実行に必要なライセンス管理を行うために、複数のライセンスを一つにまとめて従属関係を有する別名の仮想ライセンスを設定することを特徴とするＪＯＢキューに連携するライセンス管理方法。
【請求項６】
クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューに連携するライセンス管理方法であって、
ジョブの実行に必要なライセンス管理を行うために、元のライセンスに対して、別名の複数の仮想ライセンスを重複して作成し、作成後の仮想ライセンスの合計数を元のライセンス数よりも多く設定することを特徴とするＪＯＢキューに連携するライセンス管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアントから要求されたＪＯＢをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるＪＯＢキューに連携するライセンス管理方法に関する。
【背景技術】
【０００２】
従来、クライアントから要求されたジョブをネットワーク上の適切なＣＰＵリソースに割り当てて実行させるジョブキューシステムにライセンス制御を付加したシステムがある（例えば、特許文献１参照）。
【０００３】
また、複数のプログラムのライセンスキーを入力して、パッケージ化した１つのライセンスキーを生成する手段を設け、販売者コンピュータでパッケージ化の対象とするライセンスキーの組み合わせをできるようにしたプログラムライセンスキー発行システムがある（例えば、特許文献２参照）。
【特許文献１】特開２００４−２４６５９２号公報
【特許文献２】特開２００２−２１５２５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のシステムのライセンスは、各ソフトウェアのベンダーのライセンスサーバーで管理され、実際に実行されるＪＯＢとの連携が行われなかった。そのため、実際には使用しない余分なライセンスを用意しなくてはならず、また、同じライセンスをプロジェクトの進行状況に応じて、再分配させることが難しかった。
【０００５】
そこで本発明は、ライセンスの使用効率を上げると共に、プロジェクトの進行状況によりライセンス本数の割り当てを動的に変えることができるＪＯＢキューに連携するライセンス管理システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題を解決するため、本発明は、各ソフトウェアベンダーのライセンスサーバーで管理されるライセンスに対して、別名の仮想ライセンスを作成し、運用時にユーザー毎に利用可能なライセンス数を割り振ることで、より効率的なライセンスの運用を可能とすることを特徴とする。
【０００７】
また、この別名の仮想ライセンスはＪＯＢ実行システムと連携しており、ライセンスが必要なＪＯＢが起動するとき自動的に取得され、ＪＯＢが終了すると開放される。この機構により、ライセンスの無いときにＪＯＢが実行される事態を防ぐことができる。
【発明の効果】
【０００８】
本発明によれば、例えばライセンスＡが１０本あり、このライセンスをプロジェクトＡ’２、Ａ’１、Ａ’３にそれぞれ４：２：４のように割り付けることが可能となる。またプロジェクトの進行状況や状況により、２：２：６のように動的にライセンス本数の割り当てを変えることができる（図２（ａ）の機能）。
【０００９】
さらに、ライセンスＡ’１とＡ’２、Ａ’３を１個づつまとめて、ライセンスＢとして定義することで、ライセンスＢを指定するだけでＡ’１とＡ’２、Ａ’３を取ることができるようにし、ライセンス指定の手間を省力できる（図２（ｂ）の機能）。
【００１０】
また、ライセンス本数１０のライセンスを、プロジェクトＡ’２，Ａ’１、Ａ’３に６：４：６のように割り当て、合計本数をライセンス本数以上に設定することにより、どちらかのプロジェクトがぎりぎりまでライセンスを使用していない場合に、他方のライセンスの重複分を使用できるようにすることでライセンスの使用効率を上げることができる（図２（ｃ）の機能）。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の最良の形態について図面を参照して説明する。
【実施例】
【００１２】
図１は、本発明の概略システム構成を示す。クラスタシステムでは、ＪＯＢを実行するマシン（ＰＣ）群４とログインサーバー１とは別に設定され、ＪＯＢをライセンス数とマシンリソースを考慮しつつ、適切に振り分ける。負荷分散と実行スケジューリングを行うライセンス数は、ライセンスマネージャが管理する。本発明はユーザー側のクライアントから投入したＪＯＢをＰＣクラスタ４に配分するキューシステム部２とＪＯＢの実行と連携させたライセンス管理部３から成る。
【００１３】
複数ユーザーが投入するＪＯＢをＰＣクラスタ４へ配分するキューシステム２において、ＪＯＢ実行時に必要に応じてライセンスの取得を管理するライセンス管理システム３を追加することで、ＪＯＢをライセンス管理に連携させて、効率的に管理できるようにする。
【００１４】
このライセンスを管理するとき、ライセンスに別名を与え、別名のグループを作成することで、複数のプロジェクト毎に使用ライセンスを分けるライセンスデバイド機能（図２（ａ））、複数のライセンスを１つにまとめて別名をつけるライセンスエイリアス機能（図２（ｂ））、分割したライセンスを実際より大目に設定することで、重複して割り当てられる部分を設け、ライセンスの利用効率を上げるライセンスクオーター機能（図２（ｃ））を有する特徴がある。
【００１５】
図３は、ＪＯＢとライセンス管理の処理を示すフローチャートである。まず、変数ｎ＝０とし（Ｓ１）、ユーザーのＪＯＢが保存されているＪＯＢキューのｎ番目からＪＯＢを１個取り出す（Ｓ２）。仮にこのＪＯＢの実行に必要なライセンスをライセンスαとすると、ライセンスαが１個以上空きがあるか否かをライセンス管理部に問い合わせを行い（Ｓ９）、もしライセンスに空きが無い場合（Ｓ３）、ＪＯＢをＪＯＢキューのｎ番目に戻し（Ｓ６）、ｎを＋１する（Ｓ７）。
【００１６】
もし、ライセンスに空きがある場合（Ｓ３）、ライセンスαを−１して（Ｓ４）、ＪＯＢを実行する（Ｓ５）。そしてｎを＋１して（Ｓ７）、これをＪＯＢキューの最後まで行う（Ｓ８）。また、ＪＯＢの実行が終了したら、ライセンスαを＋１する。
【００１７】
ライセンス管理部では、ライセンスを親ライセンスと子ライセンスで定義する仕組みを利用して、図２（ａ）〜（ｃ）に示す機能を実装する。親子関係は図４（ａ）や図４（ｂ）のような形態が考えられ、図４（ｄ）のような入れ子も考えられる。
【００１８】
図４（ａ）のような場合、親ライセンスＡがたとえば１０個だとすると、子ライセンスＣを２０個と定義していても、実際は親が１０個しかないため、１０個しか子ライセンスＣは使用されない。
【００１９】
図４（ｂ）のような場合、親ライセンスＡが１０、親ライセンスＢが５の場合、子ライセンスＣは親ライセンスの最小値である５までしか発行されない。
【００２０】
図４（ｄ）のような場合、親の親であるライセンスＤ、Ｅの最小値数以上にライセンスＡが使用されることはないので、結果的に子ライセンスＣはライセンスＡ，Ｂ，Ｄ，Ｅの最小値の数だけ使用され得る。
【００２１】
また図４（ｃ）のような場合、子ライセンスＤは子ライセンスＣと同じに、ライセンスＡ，Ｂの最小値だけ発行できるが、たとえばライセンスＡが１０、ライセンスＢが５、でライセンスＣが３個使用されていた場合、ライセンスＤは実際には２個しか発行されない。
【００２２】
ライセンス管理部では、この親子ライセンスの仕組みを実装するため、以下のような処理を行う。
【００２３】
図５は、ライセンス獲得の問い合わせをする場合のフローチャートである。まず変数ｎ＝０とし（Ｓ２１）、ライセンスをライセンスバッファのｎ番目に記録する（Ｓ２２）。そして、該当ライセンスに親があるかを判断し（Ｓ２３）、親の入れ子が無くなるまで（Ｓ２４）、ｎをインクリメントしつつ（Ｓ２５）、ライセンスをライセンスバッファに入れる（Ｓ２２）。
【００２４】
そして、ライセンスバッファの先頭のライセンスから、ライセンス数が１個以上あるか否かを調査し（Ｓ２６〜Ｓ３１）、もし無ければ、ライセンス獲得に失敗したと報告する（Ｓ２９）。
【００２５】
全てのライセンスが１個以上あれば、ライセンスバッファの先頭のライセンスから順番にライセンス数を−１して（Ｓ３２〜Ｓ３５）、ライセンス獲得に成功したと報告する（Ｓ３６）。
【００２６】
また図６は、ＪＯＢ終了後にライセンスを開放する場合のフローチャートである。まず、変数ｎ＝０とし（Ｓ４１）、ライセンスをライセンスバッファのｎ番目に記録する（Ｓ４２）。そして、該当ライセンスに親があるかを判断し（Ｓ４３）、親の入れ子が無くなるまで（Ｓ４４）、ライセンスをｎをインクリメントしつつ（Ｓ４５）、ライセンスバッファに入れる（Ｓ４２）。そして、ライセンスバッファの先頭のライセンスから順番にライセンス数を＋１して（Ｓ４６〜Ｓ５０）、ライセンス開放を完了する（Ｓ５１）。
【図面の簡単な説明】
【００２７】
【図１】本発明の概略システム構成図である。
【図２】本発明によるライセンス管理機能の説明図である。
【図３】ＪＯＢとライセンス管理の処理を示すフローチャートである。
【図４】親ライセンスと子ライセンスの関係を示す説明図である。
【図５】ライセンス獲得の問い合わせをする場合のフローチャートである。
【図６】ライセンスを開放する場合のフローチャートである。
【符号の説明】
【００２８】
１  ログインサーバー
２  キューシステム
３  ライセンス管理システム
４  ＰＣクラスタ
【図１】
2006285497.tif 000003
【図２】
2006285497.tif 000004
【図３】
2006285497.tif 000005
【図４】
2006285497.tif 000006
【図５】
2006285497.tif 000007
【図６】
2006285497.tif 000008