説明

情報処理システムおよびライセンス管理方法

【課題】複数の拠点で共用するソフトウェアライセンスをコンピュータ処理により確保する際、ライセンス要求の周期によっては、長期間ライセンスを確保することができない。
【解決手段】複数の拠点に配設された複数のユーザ端末(10)から発信されるジョブをキューに格納するキュー管理装置(30)は、ライセンスの要求を含むジョブを拠点ごとにキューに格納し、ジョブを実行するジョブ処理装置(41)に対し、キューからジョブを読み出すごとに該ジョブに対応するライセンスの確保を要求する。ジョブ処理装置は、キュー管理装置からの要求に対しライセンスの確保の成否を応答する。キュー管理装置は、ライセンスが確保されたジョブをジョブ処理装置へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置がソフトウェアを実行する上で必要なライセンスを管理する技術に関し、特に、企業の業務部門のような複数の拠点にて取り扱うライセンスを管理する技術に関する。
【背景技術】
【0002】
従来、複数の情報処理装置に対するライセンス管理を、人手に寄らず、コンピュータ制御により自動的に行う技術が提案されている。この種の技術として、例えば、後述の特許文献1及び2に記載のものがある。
【0003】
特許文献1に記載の手法は、ライセンスの取得を要求する手段と、GUIの動作に連動してライセンスの起動を制御する手段とを情報処理装置に設けるというものである。この手法によれば、オペレータによるGUIの終了操作に伴い、自動的にライセンスの解放処理が行われる。また、特許文献2に記載の手法は、企業等の各部門に配置されたライセンスサーバに管理させるライセンスを、自部門にて専有する専有ライセンスと、自部門に限らず他部門も使用可能な共有ライセンスとから構成するというものである。
【特許文献1】特開2001−344031号公報
【特許文献2】特開2003−323224号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
上記特許文献1の手法によれば、情報処理装置により使用するライセンスの要求及び解除を自動的に行うことができ、また、特許文献2の手法によれば、ライセンスを複数の部門間にて融通し合うことが可能となる。しかしながら、従来の手法では、複数の拠点からライセンス要求が発せられた場合、これらの要求に対し、ライセンスを適正な順序で割り当てることができない可能性がある。
【0005】
上記の問題に関し、具体的には、例えば図12に示すような状況が考えられる。図示の例は、拠点A及び拠点Bにおける各ユーザが、図示しないライセンスサーバや他の拠点に対しライセンス要求を発信するという状況である。この状況において、まず、拠点Aがタイミングt1でライセンス要求を発したとき、現時点ではライセンスの余剰が無かったとする。また、その後のタイミングt2にて拠点Aが再要求を発したときにも、ライセンスの余剰が無かったとする。
【0006】
ところが、後のタイミングt3にてライセンスが1つ利用可能となったが、その直後のタイミングt3´にて、偶発的に他方の拠点Bがライセンス要求を発したとする。そうすると、タイミングt3のライセンスは拠点Bに割り当てられ、この拠点Bよりも先にライセンス要求を発していた拠点Aには、未だライセンスが割り当てられないという事態が生じる。このように、従来の手法では、ライセンス要求を発信する周期によっては、長期間、ライセンスを取得できないおそれがある。
【0007】
本発明は、上記課題に鑑みてなされたものであり、複数のライセンス要求に対し、適切にライセンスを割り当てる手法を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明に係る情報処理システムは、予め所定数のライセンスを割り当てられた複数の拠点に配設され且つライセンスの要求を含むジョブを発信する複数のユーザ端末と、ジョブを実行するジョブ処理装置と、前記複数のユーザ端末が発信したジョブを拠点ごとにキューに格納し且つライセンスが確保されたジョブを前記ジョブ処理装置へ送信するキュー管理装置とを備え、前記キュー管理装置は、キューからジョブを読み出すごとに該ジョブに対応するライセンスの確保を前記ジョブ処理装置に要求するキュー処理部を有し、前記ジョブ処理装置は、前記キュー管理装置からの要求に対しライセンスの確保の成否を応答するライセンス確保処理部を有する。
【0009】
本発明に係るライセンス管理方法は、予め所定数のライセンスを割り当てられた複数の拠点に配設された複数のユーザ端末から発信され且つライセンスの要求を含むジョブを拠点ごとにキューに格納するキュー管理装置が、ジョブを実行するジョブ処理装置に対し、キューからジョブを読み出すごとに該ジョブに対応するライセンスの確保を要求し、前記ジョブ処理装置が、前記キュー管理装置からの要求に対しライセンスの確保の成否を応答し、前記キュー管理装置が、ライセンスが確保されたジョブを前記ジョブ処理装置へ送信するという方法である。
【発明の効果】
【0010】
本発明によれば、ユーザ端末からのライセンスの要求をキュー管理装置のキューに登録するよう構成したことから、ライセンスを要求するタイミングに依存することなく、各ユーザからの要求に対し公平にライセンスを割り当てることができる。
【発明を実施するための最良の形態】
【0011】
図1に、本発明の実施形態を示す。本実施形態の情報処理システム100は、業務部門のような複数の拠点(A及びB)からJOBを発信するユーザ端末10(10A及び10B)と、ユーザ端末10からJOBを受けるログインサーバ20(20A及び20B)と、NAS(Network Attached Storage)42に接続された複数のPC41によりJOBを分散処理するPCクラスタ40と、ログインサーバ20が受けたJOBを一旦キューに蓄積して順次PCクラスタ40へ投入するキュー管理装置30(30A及び30B)とを備える。PCクラスタ40のPC41は、本発明におけるジョブ処理装置に対応する構成要素である。
【0012】
図示の情報処理システム100は、ログインサーバ20及びキュー管理装置30を拠点ごとに配置した構成であるが、これに代えて、ログインサーバ20及びキュー管理装置30をシステムに1つずつ置き、それらを各拠点で共用するという構成であってもよい。
【0013】
情報処理システム100において、キュー管理装置30は、ユーザ端末10からのライセンス要求をJOBとしてログインサーバ20から受け、それを順次JOBキューへ格納する。また、キュー管理装置30は、JOBに必要なライセンスをJOBに割り当てる機能を果たす。
【0014】
図2に、各拠点のキュー管理装置30が管理するライセンスを模式的に示す。図示の「本物のライセンス」の数は、各拠点に予め割り当てられているライセンスの数を表し、「仮想のライセンス」の数は、JOBの実行に伴い変動し得る各拠点のライセンス数を表す。
【0015】
また、図2に示すように、各拠点の「仮想のライセンス」には、自己の拠点専用の数量と、自己の拠点に限らず他の拠点も利用可能な、すなわち他の拠点にリモート制御にて貸し出し可能な数量とが設定されている。図示の例では、拠点Aにおける3個のライセンスのうち、貸し出し可能な数量は1個であり、拠点Bにおける4個のライセンスのうち、貸し出し可能な数量は2個である。
【0016】
図3に、ある拠点が他の拠点のライセンスをリモート制御にて使用する一例を示す。図示の例は、元来保持する3個のライセンスを全て使用中である拠点Aが、さらに、拠点Bの1個のライセンスをリモート制御にて使用するケースである。これは、元来3個のライセンスを割り当てられている拠点Aにおいて、一時的に4個のライセンスを使用することを意味する。
【0017】
図4に、キュー管理装置30及びPCクラスタ40のPC41の機能構成を示す。これらの機能構成は、当該装置に実装されたプログラムモジュールに対応する。なお、キュー管理装置30及びPC41間に記載された矢印のうち、実線のものと破線のものとでは、対応させるキュー管理装置30の拠点が異なる。すなわち、例えば、実線の矢印が拠点Aのキュー管理装置30Aに対応するとすれば、破線の矢印は、他方の拠点Bのキュー管理装置30Bに対応する。
【0018】
キュー管理装置30は、その機能構成として、JOBを蓄積するJOBキューを制御するキュー処理51と、ライセンスの余剰に関するPC41からの問い合わせを受け付けるリモートライセンス確保処理52と、PC41がライセンスをリモート制御により確保しつつJOBを実行するためのライセンス保持JOB実行処理53と、確保されたライセンスを解放するライセンス解放処理54とを有する。
【0019】
一方、PC41は、図4に示すように、キュー管理装置30から要求されたライセンスの確保を試みるライセンス確保処理61と、リモート制御により確保できるライセンスを検索するリモートライセンス確保エージェント処理62と、リモート制御によりライセンスを確保しつつJOBを実行するライセンス継続JOB実行処理63と、リモート制御により確保したライセンスを解放するリモートライセンス解放処理64とを有する。
【0020】
また、PC41は、リモート制御により確保すべきライセンスのリストであるリモートライセンス要求テーブル65と、実際に確保したライセンスのリストであるリモートライセンス確保テーブル66とを有する。これらのテーブルは、PCクラスタ40のNAS42により保持し、その都度PC41が参照するようにしてもよい。
【0021】
リモートライセンス要求テーブル65には、JOBの識別子であるJOBIDと、そのJOBに必要なライセンスの種別であるLNAMEとが記録される。また、リモートライセンス確保テーブル66には、JOBID及びLNAMEに加え、ライセンス情報が記録される。
【0022】
ライセンス情報は、対象のライセンスを、いずれの拠点のキュー管理装置30から確保すべきかを表す情報であり、本発明の仮想ライセンスデータに対応するものである。対象のライセンスがリモート制御により確保されるものである場合、ライセンス情報には、リモートでアクセスすべきキュー管理装置30のIPアドレス及びポート番号等が記述される。このライセンス情報が有効に設定されていることは、すなわち、そのライセンスが当該拠点にて確保されており、他の拠点は使用できないことを指す。
【0023】
次に、情報処理システム100の動作手順を説明する。まず、図5に示すフローチャートを参照して、キュー処理51について説明する。キュー管理装置30は、前述したように、ユーザ端末10からのライセンス要求をJOBとしてログインサーバ20から受信し、それらをJOBキューに順次格納する。
【0024】
キュー管理装置30は、JOBキューの処理を開始すべく変数nを初期化し(ステップA1)、キューの先頭にあたる「n=0」から順にJOBを1つずつ取り出す(ステップA2)。ここで、取り出されたJOBがライセンスαの要求であるとすると、キュー管理装置30は、現時点でライセンスαの確保が可能か否かをPC41のライセンス確保処理61に問い合わせる(ステップA3)。
【0025】
PC41による後述のライセンス確保処理61の結果、ライセンスαの確保に失敗、すなわち現時点ではライセンスαの余剰がいずれの拠点にも無い場合(ステップA4:No)、キュー管理装置30は、このJOBをJOBキューのn番目に戻す(ステップA5)。そして、次のJOBを処理すべく変数nを「1」加算する(ステップA6)。
【0026】
このように、ライセンスが確保されなかったJOBは、キューの元の順番に戻されることから、そのJOBには、新たにキューに格納されたJOBよりも高い優先順位を与え続けることができる。
【0027】
一方、PC41がライセンスαの確保に成功した場合(ステップA4:Yes)、キュー管理装置30には、PC41からライセンスαに関するライセンス情報が通知される。キュー管理装置30は、通知されたライセンス情報をJOBに設定し、このJOBを実行させるべくPCクラスタ40に投入する(ステップA8)。また、次のJOBを処理するために、JOBキューの変数nを加算する(ステップA6)。
【0028】
ここで、ライセンスαがリモート制御により確保されたものである場合、対象のJOBは、後述のライセンス継続JOBとしてPC41により実行される。そして、このライセンス継続JOBからアプリケーション本体が起動される。
【0029】
PC41によるJOBの実行が終了すると、キュー管理装置30は、PC41から通知されるJOBの処理結果である戻り値を確認する(ステップA9)。また、キュー管理装置30は、ライセンスαがローカルのもの、すなわち自己の拠点のものである場合、後述のライセンス解放処理54によりライセンスαを解放する(ステップA10)。
【0030】
キュー管理装置30は、PC41からの戻り値が、JOBの再実行を示すものか否かを判定する(ステップA11)。戻り値がJOBの再実行でない場合は、このJOBに関する処理を終了する。また、戻り値が再実行を示す場合、それは、PC41でJOBの実行が失敗したことを意味する。この場合、キュー管理装置30は、JOBをJOBキューのn番目に戻す(ステップA5)。
【0031】
キュー管理装置30は、JOBキューの変数nが、蓄積されているJOBの総数Nに達するまで上記処理を繰り返し、最後の「n=N」の処理が終了したとき、再び「n=0」からJOBを取り出して処理する(ステップA7)。
【0032】
図6に示すフローチャートを参照して、PC41によるライセンス確保処理61について説明する。以下の説明では、PC41を「クライアント」とし、このPC41に対しライセンスを貸し出す拠点のキュー管理装置30を「サーバ」とする。
【0033】
一例として、拠点Aのキュー管理装置30AからのJOBを実行するPC41を「クライアント」とし、拠点Aにリモートにてライセンスを貸し出す拠点Bのキュー管理装置30Bを「サーバ」として説明する。ここで、PC41からみて拠点Aは「ローカル」である。
【0034】
クライアントであるPC41は、ライセンスαの確保に関するキュー管理装置30Aからの問い合わせ(図5:ステップA3)を受けると、ローカル(拠点A)及びリモート(拠点B)の双方でライセンスαの確保を試みる。本システムでは、仮に、ローカル及びリモートの双方でライセンスの確保に成功した場合、ローカルのものを採用する。
【0035】
PC41は、まず、リモートライセンス要求テーブル65に、ライセンスαのLNAMEと、これを必要とするJOBのJOBIDとを追加する(ステップB1)。リモートライセンス要求テーブル65にレコードが追加されることにより、PC41は、ローカルでのライセンス確保と並行して、後述のリモートライセンス確保エージェント処理62を行う。
【0036】
なお、追加しようとするLNAME及びJOBIDのレコードが既に存在する場合は、追加しない。これは、過去において、対象のJOBにライセンスが確保されなかったことにより、リモートライセンス要求テーブル65にレコードが残されたケースに該当する。
【0037】
PC41は、ローカルでのライセンス確保を行うべく、拠点Aにライセンスαの余剰があるか否かを確認する(ステップB2)。その結果、ローカルにライセンスαがある場合、ローカルライセンス数のカウントを「1」減らす(ステップB3)。このローカルライセンス数のデータは、例えば、PCクラスタ40のNAS42にて拠点ごとに保持させておく。
【0038】
続いて、PC41は、リモートライセンス確保テーブル66を参照し、対象のJOB及びライセンスαに対応するレコードがあるかどうかを確認する(ステップB4)。リモートライセンス確保テーブル66に該当のレコードが存在することは、リモート制御によるライセンス確保が成功したことを意味する。
【0039】
ここで、ローカルにてライセンス確保に成功し、且つ、リモートライセンス確保テーブル66に該当のレコードがある場合は、ローカル及びリモートの双方でライセンスαが確保されたことになる。この場合、リモートにより確保したライセンスを解放すべく、PC41は、後述のリモートライセンス解放処理64を実行する(ステップB5)。
【0040】
さらに、PC41は、解放されるライセンスについて、リモートライセンス要求テーブル65及びリモートライセンス確保テーブル66から対象のレコードを削除し(ステップB6)、ライセンス確保が成功した旨を拠点Aのキュー管理装置30Aへ通知する(ステップB7)。
【0041】
また、ライセンスαの余剰がローカルに存在しない場合(ステップB2:No)、PC41は、次に、リモートライセンス確保テーブル66を参照し、リモート制御でライセンスαが確保されたか否かを確認する(ステップB8)。
【0042】
その結果、リモートでのライセンス確保に成功した場合、PC41は、リモートライセンス確保テーブル66から該当のレコードを削除すると共に、このレコードが示すライセンス情報をキュー管理装置30Aへ送信する(ステップB9、B10)。これにより、リモート制御によるライセンスαの確保が成功したことが、キュー管理装置30Aへ通知される(ステップB11)。
【0043】
一方、現時点ではライセンスαをリモートでも確保できなかった場合(ステップB8:No)、PC41は、ライセンスの確保に失敗した旨をキュー管理装置30Aへ通知する(ステップB12)。この場合、リモートライセンス要求テーブル65の対象のレコードは削除されない。すなわち、今回ライセンスαを確保できなかったJOBのレコードは、リモートライセンス要求テーブル65に残される。よって、このJOBがキュー管理装置30Aにて再び処理される際、新たに発生した他のJOBよりもライセンスαを優先的に確保することができる。
【0044】
図7に示すフローチャートを参照して、リモートライセンス確保エージェント処理62について説明する。この処理は、前述したように、PC41においてライセンス確保処理61(図6)と並行して行われるものであり、後述するサーバ側のリモートライセンス確保処理52と協働する。ここでも、一例として、拠点Aに関連するPC41を「クライアント」とし、他方の拠点Bのキュー管理装置30Bを「サーバ」として説明する。
【0045】
リモートライセンス確保エージェント処理62において、PC41は、リモートライセンス要求テーブル65のレコードの変数Nを「0」に初期化し(ステップC1)、テーブルのN番目のレコードを順次読み出す(ステップC2)。そして、サーバ側となるキュー管理装置30Bのリモートライセンス確保処理52にアクセスし、拠点Bにライセンスαの余剰があるか否かを問い合わせる(ステップC3)。その結果、サーバ側にライセンスαの余剰がない場合(ステップC4:No)、次のレコードを処理すべく変数Nを「1」加算する(ステップC5)。
【0046】
一方、ライセンスαがサーバ側にある場合(ステップC4:Yes)、ライセンスαが予約された旨と、そのライセンス情報とがサーバ側から応答される(ステップC6)。PC41は、この応答を受けると、リモートライセンス要求テーブル65から対象のレコードを削除する(ステップC7)。
【0047】
また、PC41は、リモートライセンス確保テーブル66に、サーバから受信したライセンス情報と、対象のJOBID及びLNAMEとを記録する(ステップC8)。ここで記録されたレコードが、前述のライセンス確保処理61にて参照される(図6:ステップB8)。
【0048】
PC41は、上記の処理を全てのレコードに対し順次実行し(ステップC9)、全ての処理が修了した場合、一定時間の待機を経て、再び「N=0」から処理を開始する(ステップC10)。
【0049】
図8に示すフローチャートを参照して、上記リモートライセンス確保エージェント処理62に対する、サーバ側でのリモートライセンス確保処理52について説明する。以下の説明では、サーバ側でのライセンスの総数をMAX、現時点で使用されているライセンス数をUNUM、リモートにて貸し出し可能なライセンス数をEXP、そして、貸し出し中のライセンス数をENUMとする。
【0050】
サーバ側となる拠点Bのキュー管理装置30Bは、ライセンスαに関するPC41からの問い合わせ(図7:ステップC3)を受けると(ステップD1)、ローカル(拠点B)で保持するライセンスαについて、「MAX>UNUM」を判定する(ステップD2)。その結果、現状が「MAX>UNUM」でない場合、拠点Bにライセンスαの余剰は無いと認識し(ステップD3)、その旨をPC41へ通知する(ステップD4)。
【0051】
一方、現状が「MAX>UNUM」を満たす場合、キュー管理装置30Bは、さらに、「EXP>ENUM」を判定し(ステップD5)、これを満たさない場合は、ライセンスαの余剰がないと認識する(ステップD3)。また、「EXP>ENUM」を満たす場合(ステップD5:Yes)、キュー管理装置30Bは、拠点Bにライセンスαの余剰があると認識し、このライセンスαをクライアント側に貸し出すべく、「ENUM」及び「UNUM」をそれぞれ「1」加算する(ステップD6)。これにより、拠点Bのライセンスαが1つ、貸し出し用として予約される。
【0052】
さらに、キュー管理装置30Bは、後述のライセンス保持JOBを生成し、これを、先ほど予約したライセンスαを割り当てたうえで起動する(ステップD7)。ライセンス保持JOBとは、クライアントに貸し出すライセンスαを、使用中のライセンスとして取り扱うために、サーバ側で実行されるものである。後にも説明するように、ライセンス保持JOB実行処理53は、サーバであるキュー管理装置30BのIPアドレス及びポート番号をリモートライセンス確保処理52に供給する。
【0053】
キュー管理装置30Bは、リモートライセンス確保処理52にてキュー管理装置30BのIPアドレス及びポート番号を認識すると(ステップD8)、それをライセンス情報としてクライアント側へ通知する(ステップD9)。
【0054】
図9に示すフローチャートを参照して、クライアント側のライセンス継続JOB実行処理63、及び、サーバ側のライセンス保持JOB実行処理53について説明する。これらの処理は、ライセンスが確保されたJOBをPC41により実行する際の処理である。
【0055】
まず、クライアント側となるPC41は、拠点Aのキュー管理装置30Aから投入されたJOBをライセンス継続JOBとして開始し、このJOBに設定されているライセンス情報を取り出す。そして、ライセンス情報が示すIPアドレス及びポート番号を用いて、サーバ側であるキュー管理装置30Bにアクセスし、ライセンス保持JOB実行処理53との間でコネクションの確立を試みる(ステップE1)。
【0056】
その結果、通信事情などによりコネクションの確立に失敗した場合(ステップE2:No)、PC41は、JOBの起動に失敗したと認識し(ステップE3)、JOBが失敗したことを示す戻り値をキュー管理装置30Aに送信する(ステップE4)。
【0057】
また、コネクションの確立に成功した場合(ステップE2:Yes)、PC41は、キュー管理装置30Bとのコネクションを維持しつつ、アプリケーションを起動し実行する(ステップE5)。このコネクションを維持することで、ライセンスが確保され且つアプリケーションの実行が許可された状態となるが、アプリケーションの種類によっては、ライセンス本体の読み取りも必要とされる場合がある。その場合、PC41は、ライセンス本体のデータをキュー管理装置30Bから取得する。
【0058】
その後、PC41は、アプリケーションの終了を検知すると、キュー管理装置30Bとのコネクションを切断する(ステップE7)。これにより、リモート制御により使用していたライセンスαの解放がキュー管理装置30Bへ伝えられる。PC41は、JOBが完了したことを示す戻り値をキュー管理装置30Aへ送信する(ステップE8)。
【0059】
上記処理の間、サーバ側となるキュー管理装置30Bでは、ライセンス保持JOB実行処理53が次のように実行される。キュー管理装置30Bは、前述したように、リモートライセンス確保処理52からライセンス保持JOBを起動する(図8:ステップD7)。
【0060】
これによりライセンス保持JOB実行処理53が開始すると、キュー管理装置30Bは、PC41からのリモート制御を受付ける所定のポートを開き、そのポート番号をリモートライセンス確保処理52へ供給する。また、キュー管理装置30Bは、開けたポートに対するPC41からのコネクションの要求を、所定期間(W)待機する(ステップF1)。
【0061】
その結果、タイムアウト、すなわち所定期間(W)のうちにPC41からコネクションの要求が無い場合は(ステップF2:No)、ライセンス保持JOB実行処理53を終了する(ステップF5)。ライセンス保持JOB実行処理53が終了すると、キュー管理装置30Bは、前述のリモートライセンス確保処理52(図8:ステップD6)により予約しておいたライセンスαを、後述のライセンス解放処理54により解放する。
【0062】
また、所定期間(W)のうちにPC41からコネクションの要求があった場合(ステップF2:Yes)、キュー管理装置30Bは、コネクションを確立し、そのコネクションを、PC41から切断されるまで維持する(ステップF3)。コネクションが維持される間、予約しておいたライセンスαが、PC41によりリモート制御で使用される。
【0063】
その後、キュー管理装置30Bは、PC41からコネクションが切断されたことを検知すると(ステップF4)、ライセンス保持JOB実行処理53を終了し(ステップF5)、ライセンス解放処理54によりライセンスαを解放する。
【0064】
このように、リモート制御によりライセンスを使用する際、サーバ及びクライアントで実行する2つのJOBがコネクションを結ぶことから、そのライセンスの確保及び解放を確実に行うことができる。
【0065】
図10のフローチャートを参照して、キュー管理装置30のライセンス解放処理54について説明する。キュー管理装置30は、解放すべきライセンスαをライセンス情報に基づき認識し(ステップG1)、ライセンスαについて、ローカルライセンス数を「1」増加させる(ステップG2)。これにより、ローカルにて確保されていたライセンスαが解放され、他のJOBに割り当て可能となる(ステップG3)。
【0066】
図11のフローチャートを参照して、PC41のリモートライセンス解放処理64について説明する。PC41は、解放すべきライセンスαのライセンス情報から、サーバ側のIPアドレス及びポート番号を認識する(ステップH1)。そして、対象のキュー管理装置30にアクセスし(ステップH2)、確立されていたコネクションを切断する(ステップH3)。これにより、リモート制御により確保されていたライセンスαが解放される(ステップH4)。
【0067】
以上説明した実施形態によれば、PCクラスタ40に対し複数のJOBを順次的に投入するためのJOBキューに、ユーザ端末10からのライセンス要求を登録するよう情報処理システム100を構成したことから、ライセンスを公平に割り当てることができる。
【0068】
なお、本発明を実施するうえでのライセンスの取り扱いに関しては、図3より、全ての拠点の「本物のライセンス」の総数は、そのライセンスに対応するソフトウェアが実装されたPC41と同数、あるいは、少ない数である。すなわち、対象のPC41が7台であれば、「本物のライセンス」の数は7個か、それ以下である。
【0069】
一方、「仮想のライセンス」の数は、図3の例のように「本物のライセンス」と同数とすることが望ましいが、より多い数であってもよい。これにより、実際には未だ実行されないJOBに対し、予約としてライセンスを割り当てることができる。実際に有効となる「仮想のライセンス」の最大数、すなわちリモートライセンス確保テーブル66に記録されるライセンス情報の最大件数は、「本物のライセンス」の数以上にはならない。従って、たとえ「本物のライセンス」より多くの「仮想のライセンス」を作成しておいても、ライセンスの取り扱いに支障はない。
【0070】
これにより、ライセンスを確保できないことによるJOBの待機時間が削減され、結果、JOBを効率よく処理することができる。また、各拠点の「仮想のライセンス」の数を簡易に増減できることから、例えば、プロジェクトの進行状況に応じて各拠点の「仮想のライセンス数」を調整すれば、処理の効率が高められる。
【図面の簡単な説明】
【0071】
【図1】本発明に係る実施形態の情報処理システムのブロック図である。
【図2】実施形態のライセンスに関する説明図である。
【図3】実施形態のライセンスに関する説明図である。
【図4】実施形態のキュー管理装置およびPCの機能構成を示すブロック図である。
【図5】実施形態のキュー処理のフローチャートである。
【図6】実施形態のライセンス確保処理のフローチャートである。
【図7】実施形態のリモートライセンス確保エージェント処理のフローチャートである。
【図8】実施形態のリモートライセンス確保処理のフローチャートである。
【図9】実施形態のライセンス継続JOB実行処理およびライセンス保持JOB実行処理のフローチャートである。
【図10】実施形態のライセンス解放処理のフローチャートである。
【図11】実施形態のリモートライセンス強制解放処理のフローチャートである。
【図12】従来のライセンス管理方法の説明図である。
【符号の説明】
【0072】
100 情報処理システム
10(10A、10B) ユーザ端末
20(20A、20B) ログインサーバ
30(30A、30B) キュー管理装置
40 PCクラスタ
41 PC
42 NAS
51 キュー処理
52 リモートライセンス確保処理
53 ライセンス保持JOB実行処理
54 ライセンス解放処理
61 ライセンス確保処理
62 リモートライセンス確保エージェント処理
63 ライセンス継続JOB実行処理
64 リモートライセンス解放処理
65 リモートライセンス要求テーブル
66 リモートライセンス確保テーブル

【特許請求の範囲】
【請求項1】
予め所定数のライセンスを割り当てられた複数の拠点に配設され且つライセンスの要求を含むジョブを発信する複数のユーザ端末と、ジョブを実行するジョブ処理装置と、前記複数のユーザ端末が発信したジョブを拠点ごとにキューに格納し且つライセンスが確保されたジョブを前記ジョブ処理装置へ送信するキュー管理装置とを備え、
前記キュー管理装置は、キューからジョブを読み出すごとに該ジョブに対応するライセンスの確保を前記ジョブ処理装置に要求するキュー処理部を有し、
前記ジョブ処理装置は、前記キュー管理装置からの要求に対しライセンスの確保の成否を応答するライセンス確保処理部を有することを特徴とする情報処理システム。
【請求項2】
前記ジョブ処理装置は、さらに、前記キュー処理部からの要求に係るジョブの拠点と異なる拠点におけるライセンスの確保の成否を判定し該判定の結果を前記ライセンス確保処理部に供給するリモートライセンス確保エージェント処理部を有し、
前記キュー管理装置は、さらに、前記リモートライセンス確保エージェント処理部からライセンスの余剰に関する問い合わせを受け付け且つ当該ライセンスに余剰があるとき該ライセンスを予約するリモートライセンス確保処理部を有することを特徴とする請求項1記載の情報処理システム。
【請求項3】
前記ジョブ処理装置は、さらに、前記リモートライセンス確保処理部により予約されたライセンスをリモート制御により確保しつつ前記キュー管理装置からのジョブを実行するライセンス継続ジョブ実行処理部を有し、
前記キュー管理装置は、さらに、前記ライセンス継続ジョブ実行処理部によるリモート制御のためのコネクションに応答するライセンス保持ジョブ実行処理部を有することを特徴とする請求項2記載の情報処理システム。
【請求項4】
前記キュー管理装置は、ライセンスの確保に失敗した旨を前記ジョブ処理装置から通知されたとき、前記キュー処理部により当該ジョブをキューに戻すことを特徴とする請求項1乃至3のいずれか1項に記載の情報処理システム。
【請求項5】
前記キュー管理装置は、拠点に割り当てられたライセンスを識別するための仮想ライセンスデータを保持し、前記ジョブ処理装置にジョブを送信するとき当該仮想ライセンスデータを共に送信することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
予め所定数のライセンスを割り当てられた複数の拠点に配設された複数のユーザ端末から発信され且つライセンスの要求を含むジョブを拠点ごとにキューに格納するキュー管理装置が、ジョブを実行するジョブ処理装置に対し、キューからジョブを読み出すごとに該ジョブに対応するライセンスの確保を要求し、
前記ジョブ処理装置が、前記キュー管理装置からの要求に対しライセンスの確保の成否を応答し、
前記キュー管理装置が、ライセンスが確保されたジョブを前記ジョブ処理装置へ送信することを特徴とするライセンス管理方法。
【請求項7】
前記ジョブ処理装置が、前記キュー管理装置からの要求に係るジョブの拠点と異なる拠点におけるライセンスの余剰を前記キュー管理装置へ問い合わせ、
前記キュー管理装置が、前記ジョブ処理装置からの問い合わせに応答し且つ当該ライセンスに余剰があるとき該ライセンスを予約することを特徴とする請求項6記載のライセンス管理方法。
【請求項8】
前記ジョブ処理装置が、前記キュー管理装置により予約されたライセンスをリモート制御により確保しつつ前記キュー管理装置からのジョブを実行し、
前記キュー管理装置が、前記ジョブ処理装置によるリモート制御のためのコネクションに応答することを特徴とする請求項7記載のライセンス管理方法。
【請求項9】
前記キュー管理装置が、ライセンスの確保に失敗した旨を前記ジョブ処理装置から通知されたとき、当該ジョブをキューに戻すことを特徴とする請求項6乃至8のいずれか1項に記載のライセンス管理方法。
【請求項10】
前記キュー管理装置が、拠点に割り当てられたライセンスを識別するための仮想ライセンスデータを保持し、前記ジョブ処理装置にジョブを送信するとき当該仮想ライセンスデータを共に送信することを特徴とする請求項6乃至9のいずれか1項に記載のライセンス管理方法。

【図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

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2007−141056(P2007−141056A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−335747(P2005−335747)
【出願日】平成17年11月21日(2005.11.21)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】