説明

ライセンス管理システムおよび情報処理装置およびライセンス管理装置およびライセンス管理方法およびプログラムおよび記録媒体

【課題】 ライセンスを管理するサーバ装置のダウン等の障害に係らず柔軟にライセンス管理可能にし、従来の問題であったサーバ装置のダウン中にライセンスの取得等の処理が停止してしまってライセンスが使用できなかった無駄な時間の発生を防止して、より効率よくライセンスを使用可能にすること。
【解決手段】端末装置200は、サーバ装置100との通信が不可能な場合、他の端末装置200からの要求に基づいて、使用済のライセンスを他の端末装置200に貸与し、また、端末装置200は、サーバ装置100との通信が不可能な場合、ライセンスを他の端末装置200に要求して借り受ける。また、サーバ装置100は、端末装置200との通信再開時に、ライセンスを割り当て中の端末装置200にライセンスの使用状況を確認して、ライセンスの割り当て状態を更新する構成を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアを使用可能にするライセンスをサーバ装置からクライアント装置に割り当てるライセンス管理システムの制御に関する。
【背景技術】
【0002】
従来のソフトウェアのライセンス管理では、ユーザに割り当てたソフトウェアライセンスが、ソフトウェアが使われていない間も占有されているという問題があり、ライセンスの無駄が生じることが多々あった。
【0003】
この問題を解決するため、特許文献1に係るライセンス管理システムでは、ソフトウェアについてのライセンスを割当中のユーザの使用端末におけるユーザの在・不在状況を管理し、ユーザの在・不在状況に基づきそのユーザに対するライセンスの続行又は切断を判定して、ライセンスの無駄を省く技術が提案されている。
【特許文献1】特開2002−258962号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、ライセンスを管理しているライセンス管理サーバがダウンすると、ライセンス管理テーブルなどの管理情報はリセットされてしまう。さらには、ライセンス管理サーバとの通信が切断されているため、クライアントはライセンス取得要求を発信することができず、他クライアントが作業を終了してもライセンスを返却することもできない。つまりは、ライセンス管理サーバが回復(再起動)するまではライセンス管理における一連の処理が中断し、非常に効率が悪いといった問題点があった。
【0005】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、ライセンス管理サーバがダウンしている間も、ライセンスの管理における一連の処理が中断を継続可能にし、効率よくライセンスを使用することができる仕組を提供することである。
【課題を解決するための手段】
【0006】
本発明は、ソフトウェアの使用を許諾するライセンスのクライアント装置への割り当て状態を管理するサーバ装置と、前記ソフトウェア使用時に前記サーバ装置からライセンスを獲得し、使用終了時に使用済のライセンスを前記サーバ装置に返却する複数のクライアント装置と、を有するライセンス管理システムにおいて、前記各クライアント装置は、前記サーバ装置との通信が不可能な場合、他のクライアント装置からの要求に基づいて、使用済のライセンスを他のクライアント装置に貸与する貸与手段と、前記各クライアント装置は、前記サーバ装置との通信が不可能な場合、前記ライセンスを他のクライアント装置に要求して借り受ける借り受け手段と、を有することを特徴とする。
【0007】
また、前記サーバ装置は、前記クライアントとの通信再開時に、ライセンスを割り当て中のクライアント装置にライセンスの使用状況を確認して、前記管理するライセンスの割り当て状態を更新する更新手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、ライセンスを管理するサーバ装置がダウンしてもクライアント装置間の連携により、ライセンスの管理を継続することができる。
【0009】
また、クライアント自身が状態情報を保持しているためライセンスを管理するサーバ装置の回復(再起動)後、ライセンスを管理するサーバ装置は、クライアント装置のライセンス使用状態をチェックすることにより、ライセンス管理状態を復元し、サーバ装置ダウン前の状態と同様にライセンス管理を継続することができる。
【0010】
従って、ライセンスを管理するサーバ装置のダウン等の障害に係らず柔軟にライセンス管理することができ、従来の問題であったサーバ装置のダウン中にライセンスの取得等の処理が停止してしまってライセンスが使用できなかった無駄な時間の発生を防止して、より効率よくライセンスを使用可能にすることができる等の効果を奏する。
【発明を実施するための最良の形態】
【0011】
〔第1実施形態〕
以下、本発明の実施形態について、図1〜図12を使用して詳細に説明する。
【0012】
図1は、本発明の一実施形態を示すライセンス管理システムのシステム構成及びサーバ装置のハードウェア構成の一例を示すブロック図である。
【0013】
図1において、100はサーバ装置であり、LAN等の通信ネットワーク300を介して、端末装置200a〜200dと通信可能である。なお、端末装置200a〜200dを総称して端末装置200と称する。
【0014】
サーバ装置100において、102はサーバ装置100の中枢となる制御装置であって、各種制御を行う。この制御装置102は、具体的にはパーソナルコンピュータのCPUなどにあたる(以下、CPUと称する)。
【0015】
103はRAM(Random Access Memory)であって、プログラムのワークエリアや一時的に保持するデータのバッファとして利用する。104はROM(Read Only Memory)であって、ブートプログラム等を保持する。
【0016】
105は外部メモリであって、OSや本発明のプログラム等の各種プログラムや各種データを保持する。なお、外部メモリ105は、具体的にはハードディスクドライブやDVDドライブ等である。
【0017】
106は入力装置であり、この装置を通じて制御装置102にデータなどの入力が行われる。なお、この入力装置106は、具体的には、キーボードや、マウス等のポインティングデバイスである。
【0018】
107は表示装置であり、具体的にはディスプレイ等である。109は通信インターフェースであり、LAN等の通信ネットワーク300と接続する部分である。
【0019】
なお、端末装置200のハードウェア構成も、上述したサーバ装置100のハードウェア構成と同様である。
【0020】
図2は、図1に示したライセンス管理システムにおけるソフトウェア構成の一例を示す構成図である。なお、端末装置200は、図1に示したように、2台以上が接続されていることを前提とする。
【0021】
図2において、400はライセンス管理DBであり、ソウトウェアの利用状況や利用者情報等を保持管理する。このライセンス管理DB400は、サーバ装置100内に設けられても、他の装置内に設けられる構成であってもよい。
【0022】
サーバ装置100には、ライセンスサーバプログラム101が実装されている。このライセンスサーバプログラム101は、サーバ装置100の外部メモリ105に格納され、CPU102によりRAM103上にロードされて実行される。
【0023】
なお、このライセンスサーバプログラム101は、端末装置200からの使用要求に対して、使用権限や認証、及びライセンスの空き状況をライセンス管理DB400に照合する手段、使用要求のあった端末装置200に対しライセンスを与える手段、端末装置200内にあるアプリケーションプログラム201からのライセンス返却要求を受け付ける手段、端末装置200と定期的に通信しながら動作する手段、端末装置200に対しライセンスを授受した後、ライセンス管理DB400のライセンス使用状況を更新する手段、一定時間を超えてもライセンスを返却しない場合にアプリケーションプログラム201が起動しているかチェックする手段、起動時に各アプリケーションプログラム201と通信してライセンス使用状況を確認し、ライセンス管理DB400で管理するライセンス使用状況を更新する手段、を機能として備えている。
【0024】
端末装置200には、アプリケーションプログラム201が実装されている。このアプリケーションプログラム201は、端末装置200の外部メモリに格納され、端末装置200のCPUによりRAM上にロードされて実行される。
【0025】
なお、アプリケーションプログラム201は、起動時にライセンスサーバプログラム101に使用権を照会する手段、端末装置200における自身の稼動状況を監視し、一定時間以上入出力処理が発生しなかった場合、ライセンスをライセンスサーバプログラム101に返却する手段、ライセンス返却後、自身の操作機能を一時的にロックする手段、サーバ装置100と定期的に通信しながら動作する手段、また、その時点のデータをメモリ上に保持する手段、ライセンスサーバプログラム101と通信不能の場合に、使用済のライセンスを他のクライアントに貸与する手段、ライセンスサーバプログラム101と通信不能の場合に、他のクライアントからライセンスを借受する手段、を機能として備えている。
【0026】
ライセンス管理DB400には、図3に示すようなライセンス管理テーブル401が保持されている。また、端末装置200のRAM又は外部メモリには、図3に示すようなマシン管理テーブル402が保持されている。
【0027】
図3は、図2に示したライセンス管理テーブル401,マシン管理テーブル402の一例を示す図である。
【0028】
図3に示すように、ライセンス管理テーブル401は、許可されたライセンス番号401a、ライセンス番号の使用状況401b、使用中のマシンに割り当てられているマシン名401c、使用中のマシンのMACアドレス401d、ライセンスの連続使用時間401e等の各項目のデータを保持する。
【0029】
また、マシン管理テーブル402は、自マシン名402a、自ステータス情報402b、貸与または借受マシン名402c、要求待ち時間402d等の各項目のデータを保持する。
【0030】
アプリケーションプログラム201は、ライセンスサーバプログラム101と定期的な通信を行うことで、ライセンスの使用権を確認しながら動作する。このことにより、アプリケーションプログラム201、もしくはライセンスサーバプログラム101が異常終了した場合や、ネットワークの寸断等で通信不能になった場合にもライセンスの整合性を確保できる。
【0031】
以下、図4を参照して、図3に示した端末装置200上からアプリケーションプログラム201を起動する過程を説明する。
【0032】
図4は、本発明のライセンス管理システムにおける第1の制御処理手順の一例を示すフローチャートであり、アプリケーションプログラム201の起動処理に対応する。なお、このフローチャートの処理は、端末装置200の外部メモリに格納されアプリケーションプログラム201を、端末装置200のCPUがRAM上にロードして実行することにより実現される。また、図中、S100〜S109は各ステップを示す。
【0033】
まず、アプリケーションプログラム201は、起動時にサーバ装置100上のライセンスサーバプログラム101に対して、ライセンスの取得要求を送信する(S100)。これ以後、アプリケーションプログラム201は、要求待ち時間を計時し、定期的に、自身の保持するマシン管理テーブル402の要求待ち時間402dを更新するものとする。
【0034】
そして、アプリケーションプログラム201は、ライセンスサーバとの通信可能か否かをチェックし(S101)、通信可能であると判定した場合には、ライセンスを取得できたか否かを判定する(S102)。
【0035】
なお、ライセンスサーバプログラム101は、端末装置200からのライセンスの取得要求を受信すると、ライセンス管理テーブル401に基づいて、ライセンスの空き状況を確認し、空きライセンスがあると判定した場合には、端末装置200に当該ライセンスを割り振り、ライセンスを付与する旨の情報を端末装置200に通知する。これにより、端末装置200はアプリケーションプログラム201のライセンスを取得できる。
【0036】
ステップS102において、アプリケーションプログラム201は、ライセンスを取得できた(ライセンスを付与する旨の情報を受信した)と判定した場合、ステップS103に処理を進める。なお、ここで、アプリケーションプログラム201は、要求待ち時間の計時を終了し、自身の保持するマシン管理テーブル402の要求待ち時間402dを初期化するものとする。
【0037】
ステップS103では、アプリケーションプログラム201は、アプリケーションプログラム201自身がロック状態か否か確認をする。なお、ロック状態とは、アプリケーションプログラム201の操作が禁止された状態を示す。
【0038】
そして、ステップS103で、アプリケーションプログラム201自身がロック状態であると判定した場合には、ロックを解除し(S104)、ステップS105に処理を進める。
【0039】
一方、ステップS103で、アプリケーションプログラム201自身がロック状態でないと判定した場合には、そのままステップS105に処理を進める。
【0040】
次に、ステップS105において、アプリケーションプログラム201は、ライセンスを付与されたので、マシン管理テーブル402内のステータスフラグ402bを「使用中」に設定し、アプリケーションプログラム201本体を起動する(S106)。
【0041】
また、ステップS102で、アプリケーションプログラム201は、ライセンスを取得できなかった(ライセンスを付与する旨の情報を受信できなかった)と判定した場合には、図示しないステップにおいて、「ライセンスは取得できませんでした」等のメッセージを表示し、アプリケーションプログラム201本体は起動せず、処理を終了する。
【0042】
また、ステップS101で、ライセンスサーバプログラム101と通信不能であると判定した場合には、アプリケーションプログラム201は、自身の保持するマシン管理テーブル402のステータスフラグ402bを「要求」にセットして他の端末装置200のアプリケーションプログラム201に(例えば、ブロードキャストにより)通知して、他のクライアントへ空きライセンスがないか問い合わせをする(S107)。なお、ここでは図示しないが、他クライアントにおいて、マシン管理テーブル402のステータスフラグ402bが「使用済」のものがあれば、そのクライアントは、ライセンスを貸与する旨の情報を問い合わせのあったクライアント(ステータスフラグ402bが「要求」の端末装置200)に送信し、ステータスフラグ402bを「貸与」に変更し、貸与または借受けマシン名402cにライセンスを貸与したマシン名を設定する。これにより、他のクライアントにライセンスを貸与することができる。
【0043】
そして、ステップS108において、アプリケーションプログラム201は、他のクライアントからライセンスを取得できた(ライセンスを貸与する旨の情報を受信した)か否かを判定し、ライセンスを取得できたと判定した場合には、ステップS109に処理を進める。
【0044】
ステップS109において、アプリケーションプログラム201は、マシン管理テーブル402のステータスフラグ402bを「借受」に変更し、貸与または借受けマシン名402cにライセンスを借り受けたマシン名を設定し、ステップS106において、アプリケーションプログラム201本体を起動する。これにより、ユーザはアプリケーションプログラム201の各機能が使用可能となる。
【0045】
一方、そして、ステップS108で、アプリケーションプログラム201は、他のクライアントからライセンスを取得できなかったと判定した場合には、図示しないステップにおいて、「ライセンスは取得できませんでした」等のメッセージを表示し、アプリケーションプログラム201本体は起動せず、処理を終了する。
【0046】
以下、図5を参照して、図3に示したライセンスサーバプログラム101がライセンスを発行するまでの過程を説明する。
【0047】
図5は、本発明のライセンス管理システムにおける第2の制御処理手順の一例を示すフローチャートであり、ライセンスサーバプログラム101のライセンス発行処理に対応する。なお、このフローチャートの処理は、サーバ装置100の外部メモリ105に格納されライセンスサーバプログラム101を、サーバ装置100のCPU102がRAM103上にロードして実行することにより実現される。また、図中、S200〜S204各ステップを示す。
【0048】
まず、ライセンスサーバプログラム101は、アプリケーションプログラム201からライセンスの取得要求を受信する(S200)。すると、ライセンスサーバプログラム101は、ライセンス状況をライセンス管理テーブル401においてチェック(照会)する(S201)。
【0049】
そして、ステップS202において、ライセンスサーバプログラム101は、ライセンスに空き(使用状況401bが「未使用」のライセンス)があるか否かを判定する。
【0050】
そして、ステップS202で、空きがあると判定した場合には、ライセンスサーバプログラム101は、ステップS203において、空きライセンスのライセンスID401aを取得し、ライセンス管理テーブル401の当該ライセンスのステータス(使用状況401b)を「使用中」に変更する。
【0051】
次に、ステップS204において、ライセンスサーバプログラム101は、要求のあったアプリケーションプログラム201に対してライセンスを発行する。即ち、ライセンスサーバプログラム101は、上述の空きライセンスを、要求のあったアプリケーションプログラム201に割り当て、該ライセンスの使用マシン名401c,MACアドレス401dに、要求のあったアプリケーションプログラム201が実行されている端末装置のマシン名,MACアドレスを格納する。さらに、上記要求のあったアプリケーションプログラム201に、ライセンスを付与する旨の情報を送信する。これ以後、ライセンスサーバプログラム101は、使用時間を計時し、定期的に、ライセンス管理テーブル401の対応するライセンスキーの使用時間401eを更新するものとする。
【0052】
一方、ステップS202で、ライセンスサーバプログラム101は、ライセンスに空き(使用状況401bが「未使用」のライセンス)がないと判定した場合には、ライセンスの取得要求を却下し、そのまま処理を終了する。なお、ライセンスの取得要求を却下する際には、要求のあったアプリケーションプログラム201に対して、ライセンスの取得要求を却下する旨の通知を、送信するように構成してもよい。
【0053】
以下、図6を参照して、図3に示した端末装置200上からアプリケーションプログラム201が一時的にライセンスを自動返却する過程を説明する。
【0054】
図6は、本発明のライセンス管理システムにおける第3の制御処理手順の一例を示すフローチャートであり、アプリケーションプログラム201のライセンス返却処理に対応する。なお、このフローチャートの処理は、端末装置200の外部メモリに格納されアプリケーションプログラム201を、端末装置200のCPUがRAM上にロードして実行することにより実現される。また、図中、S300〜S311は各ステップを示す。
【0055】
アプリケーションプログラム201は稼動中、常時入出力イベントを監視しており(S300)、一定時間を超えて入出力処理が行われなかったと判定した場合には、自身の操作機能を一時的にロックする(S301)。
【0056】
次に、アプリケーションプログラム201は、ライセンスサーバプログラム101との通信状態をチェックし(S302)、ライセンスサーバプログラム101との通信が不能となったと判定した場合には、アプリケーションプログラム201は、マシン管理テーブル402のステータスフラグ402bを「使用済」に変更する(S303)。なお、この時点で、アプリケーションプログラム201は、自身のステータスが「使用済」になったことを、他の端末装置200のアプリケーションプログラム201に(例えば、ブロードキャストにより)通知するように構成してもよい。
【0057】
そして、ステップS311において、アプリケーションプログラム201は、ライセンス貸与処理(図7)を実行し(S311)、処理を終了する。
【0058】
一方、ステップS302で、アプリケーションプログラム201は、ライセンスサーバプログラム101と通信可能と判定した場合には、ライセンスサーバプログラム101に、ライセンスを返却する旨の情報を送信し(S304)、マシン管理テーブル402のステータスフラグ402bを「未使用」に変更し(S305)、処理を終了する。
【0059】
また、ステップS301で、一定時間内に入出力イベントがあったと判定した場合には、アプリケーションプログラム201は、定期的に(予め設定された使用確認制限時間毎に)自身に使用権があるか否かをライセンスサーバプログラム101に対して確認する。
【0060】
詳細には、ステップS306において、アプリケーションプログラム201は、まず、前回使用権の確認を行ってからの経過時間が使用確認制限時間を超えたか否かを判定する。そして、まだ使用確認制限時間を超えていないと判定した場合には、端末装置200でアプリケーションプログラム201を起動し続けることが可能であり、アプリケーションプログラム201は、ステップS300に処理を戻す。
【0061】
一方、ステップS306で、使用確認制限時間を超えたと判定した場合には、アプリケーションプログラム201は、ライセンスサーバプログラム101に対してライセンス使用権の確認要求を送信する(S307)。
【0062】
次に、ステップS308において、アプリケーションプログラム201は、ライセンスサーバプログラム101と通信不能か否かを判定し、通信不能であると判定した場合には、ステップS310に処理を進める。
【0063】
そして、ステップS310において、アプリケーションプログラム201は、ステップS307の通信のリトライ回数(後述するようにRAMに保持される)が予め設定された制限を越えたか否かを判定する。
【0064】
そして、ステップS310で、また、リトライ回数が制限を越えていないと判定した場合には、アプリケーションプログラム201は、ステップS300に処理を戻し、S300〜S310の処理を繰り返す(リトライする)。なお、リトライの際、リトライ回数をRAM内に記憶するようにする。なお、この間はアプリケーションプログラム201を起動し続けることができる。
【0065】
一方、ステップS310で、既にリトライ回数が制限を越えていると判定した場合には、ステップS301に処理を移行させ、アプリケーションプログラム201は、自身の操作機能を一時的にロックする。
【0066】
また、ステップS308で、アプリケーションプログラム201は、ライセンスサーバプログラム101と通信可能と判定した場合、即ち、ライセンスサーバプログラム101からライセンス使用権確認結果を受信した場合には、ステップS309に処理を進める。
【0067】
そして、ステップS309において、アプリケーションプログラム201は、ライセンス使用権確認結果に基づいて、サーバから使用を拒否されたか否かを判定する。そして、使用を拒否されたと判定した場合には、アプリケーションプログラム201は、ステップS301に処理を移行させ、アプリケーションプログラム201は、自身の操作機能を一時的にロックする。
【0068】
一方、ステップS309で、アプリケーションプログラム201は、サーバから使用を許可されたと判定した場合には、ステップS300に処理を戻し、入出力イベントを監視する。なお、この間はアプリケーションプログラム201を起動し続けることができる。
【0069】
以下、図7を参照して、アプリケーションプログラム201がライセンスを他端末装置200に貸与する処理過程を説明する。
【0070】
図7は、本発明のライセンス管理システムにおける第4の制御処理手順の一例を示すフローチャートであり、図6のステップS311のライセンス貸与処理に対応する。なお、このフローチャートの処理は、端末装置200の外部メモリに格納されアプリケーションプログラム201を、端末装置200のCPUがRAM上にロードして実行することにより実現される。また、図中、S1100〜S1108は各ステップを示す。
【0071】
まず、ステップS1100において、アプリケーションプログラム201は、ライセンスサーバプログラム101との通信状態をチェックし(S1100)、ライセンスサーバプログラム101との通信が不能であると判定した場合には、ステップS1103に処理を進める。
【0072】
ステップS1103では、アプリケーションプログラム201は、マシン管理テーブル402のステータスフラグ402bを「使用済」に設定する。なお、ここで、アプリケーションプログラム201は、自身のステータスが「使用済」になったことを、他の端末装置200のアプリケーションプログラム201に(例えば、ブロードキャストにより)通知するように構成してもよい。
【0073】
そして、ステップS1104において、アプリケーションプログラム201は、ステータスが「要求」となっている他の端末装置200を検索する。詳細には、アプリケーションプログラム201は、他の端末装置200のアプリケーションプログラム201のマシン管理テーブル402を要求して取得して判定する。
【0074】
そして、ステップS1104で、ステータスが「要求」となっている他の端末装置200がないと判定した場合には、アプリケーションプログラム201は、ステップS1100に処理を戻す。
【0075】
一方、ステップS1104で、マシン管理テーブル402のステータスフラグ402bが「要求」となっている他の端末装置200があると判定した場合には、アプリケーションプログラム201は、ステップS1105に処理を進める。
【0076】
ステップS1105では、アプリケーションプログラム201は、上記ステータスが「要求」となっている他の端末装置200にライセンスを貸与する。即ち、空きライセンスを問い合わせた端末装置200に、ライセンスを付与する旨の情報を送信する。なお、ここでは図示しないが、ステップS1104において他の端末装置を検索する際、ステータスが「要求」となっている他の端末装置200が複数台存在する場合は、マシン管理テーブル内「要求待ち時間」が最長である端末装置に優先的にライセンスを貸与していくこととする。
【0077】
次に、ステップS1107において、アプリケーションプログラム201は、上記他のクライアントからライセンスを貸与した他のクライアントからライセンスが返却されたか否かを判定する。そして、返却されたと判定した場合には、アプリケーションプログラム201は、ステップS1100に処理を戻す。
【0078】
一方、ステップS1107で、ライセンスが返却されていないと判定した場合には、アプリケーションプログラム201は、ステップS1108に処理を進める。
【0079】
ステップS1108では、ライセンスサーバプログラム101との通信が不能であるかをチェック、ライセンスサーバプログラム101との通信が不能であると判定した場合には、ステップS1107の処理を繰り返す。
【0080】
一方、ステップS1108では、ライセンスサーバプログラム101との通信が可能となった、即ち、ライセンスが返却される前にライセンスサーバプログラム101との通信が可能となったと判定した場合には、そのまま処理を終了する。
【0081】
また、ステップS1100で、アプリケーションプログラム201は、ライセンスサーバプログラム101との通信状態をチェックし(S1100)、ライセンスサーバプログラム101との通信が可能であると判定した場合には、ステップS1101に処理を進める。
【0082】
ステップS1101では、アプリケーションプログラム201は、ライセンスサーバプログラム101に、ライセンスを返却する旨の情報を送信し、ステップS1102において、マシン管理テーブル402のステータスフラグ402bを「未使用」に設定する。そして、処理を終了する。
【0083】
以下、図8を参照して、アプリケーションプログラム201からライセンスが自動返却された際のライセンスサーバプログラム101側の処理過程を説明する。
【0084】
図8は、本発明のライセンス管理システムにおける第5の制御処理手順の一例を示すフローチャートであり、ライセンスサーバプログラム101のライセンス返却処理に対応する。なお、このフローチャートの処理は、サーバ装置100の外部メモリ105に格納されライセンスサーバプログラム101を、サーバ装置100のCPU102がRAM103上にロードして実行することにより実現される。また、図中、S400〜S402各ステップを示す。
【0085】
まず、ライセンスサーバプログラム101は、アプリケーションプログラム201からライセンスの返却要求を受信する(S400)。すると、ステップS401において、ライセンスサーバプログラム101は、このライセンスの返却要求の送信元のマシン名,MACアドレスを特定し、対応するライセンスを特定する。そして、ライセンス管理テーブル401内の、当該返却されたライセンスに対応するステータス(使用状況401b)を「未使用」に変更する。
【0086】
次に、ステップS402において、ライセンスサーバプログラム101は、上記ライセンスを返却したアプリケーションプログラム201に対して、ライセンス返却を受領した旨の応答を送信し、処理を終了する。
【0087】
以下、図9のシーケンス図を参照して、上記図4〜図8のフローチャートで示した、端末装置200がライセンスを取得後、アプリケーションプログラム201を起動し、ライセンスを返却するまでの処理の流れについて説明する。
【0088】
図9は、本発明のライセンス管理システムにおいて端末装置200がライセンスを取得後、アプリケーションプログラム201を起動し、ライセンスを返却するまでの処理の流れの一例を示すシーケンス図である。
【0089】
図9に示すように、端末装置200は、ライセンスサーバプログラム101にライセンス取得要求を送信する(S500)。
【0090】
ライセンス取得要求を受信したライセンスサーバプログラム101は、ライセンス管理DB400に照会を行う(S501)。ライセンス管理DB400は、空きライセンスを検索し(S502)、空きがあれば、ライセンス使用情報を追加し(S503)、ライセンスサーバプログラム101に通知する(S504)。
【0091】
ライセンスサーバプログラム101は、ライセンス管理DB400より取得した空きライセンスを端末装置200に割り振る(S505)。
【0092】
ライセンスを割り振られた端末装置200は、アプリケーションプログラム201の使用権限を取得するので、ここでアプリケーションプログラム201本体を起動することができる。
【0093】
また、アプリケーションプログラム201は、一定時間毎にライセンスサーバプログラム101に対し使用権限の確認要求を送信する(S506)。
【0094】
使用権限の確認要求を受信したライセンスサーバプログラム101は、ライセンス管理DB400に使用権限確認要求を送信する(S507)。ライセンス管理DB400は、ライセンス管理テーブル401において当該ライセンスキーのステータスを確認し(S508)、ライセンスサーバプログラム101へ確認内容について応答する(S509)。
【0095】
そして、ライセンスサーバプログラム101は、ライセンスの使用権限確認応答を、アプリケーションプログラム201に送信する。なお、確認の結果、ステータスが確認を要求した端末装置200において「使用中」であれば、ライセンスサーバプログラム101は「使用権限ありを示す情報」をアプリケーションプログラム201に送信する。これにより、アプリケーションプログラム201は使用権限を失うことなく起動し続けることができる。一方、確認の結果、ステータスが確認を要求した端末装置200において「使用中」でなければ、ライセンスサーバプログラム101は「使用権限なしを示す情報」をアプリケーションプログラム201に送信する。これにより、アプリケーションプログラム201は使用権限を失うことになる。
【0096】
また、アプリケーションプログラム201においての入出力処理が行われなかった時は、ライセンスサーバプログラム101にライセンス返却要求を送信する(S511)。
【0097】
ライセンス返却要求を受信したライセンスサーバプログラム101は、ライセンス管理DB400にライセンス返却情報を通知する(S512)。ライセンス管理DB400は、ライセンス管理テーブル401に当該ライセンスキーのステータスを「未使用」に戻す(S513)。このライセンスの返却処理が終了したらライセンス管理DB400は、ライセンスサーバプログラム101にライセンス返却情報を通知する(S514)。
【0098】
ライセンスサーバプログラム101は、端末装置200にライセンス返却情報を通知する(S515)。
【0099】
このライセンス返却情報を受信した端末装置200は、この時点でアプリケーションプログラム201の使用権限を失いスリープ状態(ロック状態)となる。
【0100】
以下、図10を参照して、ライセンスサーバプログラム101がアプリケーションプログラム201の使用権限の確認を行う課程を説明する。
【0101】
図10は、本発明のライセンス管理システムにおける第6の制御処理手順の一例を示すフローチャートであり、ライセンスサーバプログラム101によるライセンス剥奪処理に対応する。なお、このフローチャートの処理は、サーバ装置100の外部メモリ105に格納されライセンスサーバプログラム101を、サーバ装置100のCPU102がRAM103上にロードして実行することにより実現される。また、図中、S600〜S606各ステップを示す。
【0102】
まず、ライセンスサーバプログラム101は、ライセンス管理テーブル401よりライセンスキーのステータスが「使用中」であるライセンスの情報(複数)を取得し、該取得した各ライセンスに対して、それぞれ図10のフローチャートの処理を実行するものとする。
【0103】
まず、ステップS600において、ライセンスサーバプログラム101は、使用権確認制限時間内に対象となるライセンスを使用中の端末装置(以下、当該クライアントという)のアプリケーションプログラム201から使用権限確認の要求を受信したか否かをチェックする。そして、使用権限確認の要求を受信したと判定した場合には、ライセンスサーバプログラム101は、ステップS606に処理を進め、当該クライアントへ応答メッセージを返信する。そして、ライセンスサーバプログラム101は、ライセンス管理テーブル401内の当該クライアントに対応するライセンスキーの使用時間401eを初期化し、処理を終了する。これにより、アプリケーションプログラム201は使用権限を失うことなく起動し続けることができる。
【0104】
一方、ステップS600で、使用権確認制限時間内に当該クライアントからアプリケーションプログラム201から使用権限確認の要求を受信していないと判定した場合には、ライセンスサーバプログラム101は、ステップS601において、当該クライアントへ動作状況確認メッセージを送信する。
【0105】
次に、ライセンスサーバプログラム101は、当該クライアントと通信可能か否かをチェックし(S602)、通信不能であると判定した場合には、ステップS604に処理を進める。そして、ステップS603において、ライセンスサーバプログラム101は、リトライ回数(後述するようにRAM103に保持される)が制限数を超えたか否かを判定し、まだ制限を越えていないと判定した場合には、ステップS600に処理を戻し、S600〜S603の処理を繰り返す(リトライする)。なお、リトライの際、リトライ回数をRAM103内に記憶するようにする。
【0106】
一方、ステップS603で、リトライ回数(後述するようにRAM103に保持される)が制限数を超えたと判定した場合には、ライセンスサーバプログラム101は、ステップS604において、ライセンス管理テーブル401内の当該クライアントに対応するライセンスキーのステータス(使用状況401b)を「未使用」に設定する。そして、処理を終了する。
【0107】
また、ステップS602で、当該クライアントと通信可能であると判定した場合には、ライセンスサーバプログラム101は、ステップS604に処理を進める。
【0108】
そして、ステップS604では、ライセンスサーバプログラム101は、ステップS601のメッセージ送信により、当該クライアントからアプリケーションプログラム201を使用中であるという確認が取れた(クライアントから応答があった)か否かを判定する。そして、当該クライアントから応答がないと判定した場合には、ステップS605に処理を進め、ライセンス管理テーブル401内の当該クライアントに対応するライセンスキーのステータス(使用状況401b)を「未使用」に設定する。そして、処理を終了する。
【0109】
一方、ステップS604で、クライアントから応答があったと判定した場合には、ステップS606に処理を進め、当該クライアントへ応答メッセージを返信する。そして、ライセンスサーバプログラム101は、ライセンス管理テーブル401内の当該クライアントに対応するライセンスキーの使用時間401eを初期化し、処理を終了する。これにより、アプリケーションプログラム201は使用権限を失うことなく起動し続けることができる。
【0110】
以下、図11を参照して、ライセンスサーバプログラム101が起動時に行う処理の過程を説明する。
【0111】
図11は、本発明のライセンス管理システムにおける第7の制御処理手順の一例を示すフローチャートであり、ライセンスサーバプログラム101による起動処理に対応する。なお、このフローチャートの処理は、サーバ装置100の外部メモリ105に格納されライセンスサーバプログラム101を、サーバ装置100のCPU102がRAM103上にロードして実行することにより実現される。また、図中、S700〜S705各ステップを示す。
【0112】
まず、ステップS700において、ライセンスサーバプログラム101は、ライセンス管理DB400に保持されているライセンス管理テーブル401を参照する。そして、ライセンスサーバプログラム101は、上記参照時に発行済みのライセンスが存在するか否かのチェックを行い(S701)、存在しないと判定した場合には、そのまま処理を終了する。
【0113】
一方、ステップS700で、ライセンスサーバプログラム101が、発行済みのライセンスが存在すると判定した場合には、ステップS702に処理を進め、ライセンスサーバプログラム101は、各ライセンスを使用する端末装置200(以下、各クライアントという)へ、ライセンスのステータス情報の確認を行う。詳細には、ライセンスサーバプログラム101は、各クライアントにライセンスのステータス情報を要求し、各クライアントからライセンスのステータス(ステータスフラグ402b)を取得する。
【0114】
そして、ステップS703において、ライセンスサーバプログラム101は、サーバ装置100側のステータス(使用状況401b)と各クライアントのステータス(ステータスフラグ402b)との間に差分があるか否かを判定する。そして、差分がないと判定した場合には、ライセンスサーバプログラム101は、そのまま処理を終了する。
【0115】
一方、ステップS703で、サーバ装置100側のステータスと各クライアントのステータスとの間に差分がある(クライアント側のステータスが「貸与」となっている場合等を言う)と判定した場合には、ステップS704に処理を進める。
【0116】
そして、ステップS704では、ライセンスサーバプログラム101は、当該差分のあるクライアントに対して、該クライアントのステータス情報(ステータスフラグ402b)を更新するメッセージを送信する。即ち、ステータスが「貸与」であったクライアントには、ステータスを「未使用」に変更させる。さらに、ステータスが「貸与」であったクライアントの貸与先のクライアントには、ステータスを「借受」から「使用中」に変更させる。
【0117】
さらに、ステップS705において、ライセンスサーバプログラム101は、ライセンス管理テーブル401を更新し、処理を終了する。即ち、クライアントのステータスが「貸与」であったライセンスキーに対応する使用マシン名401c,MACアドレス401dを、ステータスが「貸与」であったクライアントの使用マシン名,MACアドレスに変更する。
【0118】
以下、図12のシーケンス図を参照して、サーバ装置100のダウン時における端末装置間の処理の流れについて説明する。
【0119】
図12は、本発明のライセンス管理システムにおいて、サーバ装置100のダウン時における端末装置間の処理の流れの一例を示すシーケンス図である。
【0120】
図12に示すように、ライセンス使用済みの端末装置200a(以下端末装置200aとする)は、サーバ装置100(ライセンスサーバ)がダウンしているため、自端末装置にライセンス返却要求を通知する(S900)。
【0121】
ライセンス返却要求を受信した端末装置200aは、自ステータス(ステータスフラグ402b)を「使用済」に変更する(S901)。なお、ここでは図示していないが、端末装置200aは、自ステータスを「使用済」に変更すると同時に、他の端末装置200(b〜d)のステータスが「要求」となっているものを探索し、ライセンス要求端末装置200bに自端末装置200aが保持しているライセンスを貸与する(S902)。そして、ライセンスを貸与した端末装置200aは、自ステータスを「貸与」とする(S903)。
【0122】
また、端末装置200aからライセンスを借り受けた端末装置200bは、この時点でアプリケーションプログラム201を稼動することができる。なお、ライセンスを借り受けた端末装置200bは、自ステータスを「借受」に変更する(S904)。
【0123】
サーバ装置100が再起動した場合、ライセンスサーバプログラム101は、ライセンス管理テーブル401においてライセンス発行状況の参照を行い(S905,S906)、ライセンスを発行している端末装置200aにライセンス使用状況の確認を行う(S907)。なお、ライセンスを貸与した端末装置200aは、自ステータスを「未使用」とする(S908)。
【0124】
ライセンスは端末装置200bに貸与されているため、ライセンスサーバプログラム101は、端末装置200bに使用状況の確認を行う(S909,S910)。ライセンスの使用状況を確認したライセンスサーバプログラム101は、ライセンス管理テーブル401を更新し(S911,S912)、端末装置200bにライセンスを割り振る(S913)。この時点で、端末装置200aのステータスは「未使用」に、端末装置200bは「使用中」に変更される(S914)。
【0125】
以下、図13を参照して、端末装置200におけるライセンス取得から返却までのステータスフラグの変化の過程を示す。
【0126】
図13は、端末装置200におけるライセンス取得から返却までのステータスフラグの変化の過程を示す状態遷移図である。
【0127】
まず、端末装置200は、ライセンスを使用していないことを前提とする(S1000)。
【0128】
端末装置200は、ライセンス取得要求をサーバ装置100へ通知すると同時に自ステータスを「要求」に変更する(S1001)。
【0129】
そして、サーバ装置100との通信が可能で且つ空きライセンスがあれば、サーバ装置100から空きライセンスを割り振られ、自ステータスを「使用中」に変更し(S1002)、アプリケーションプログラム201を実行することができる。
【0130】
また、サーバ装置100と通信不能で、且つ、ステータスが「使用済」の他の端末装置があるときは、該他の端末装置よりライセンスを借り受け、自ステータスを「借受」に変更する(S1007)と同時にアプリケーションプログラム201を実行することができる。
【0131】
また、ここでは図示していないが、ライセンスを貸出した他の端末装置200は、自ステータスを「貸与」に変更し、マシン管理テーブル402上の「貸与または借受けマシン名」402cに、貸出しをしたマシン名を設定する。
【0132】
アプリケーションプログラム201を使用後は、サーバ装置100と通信可能であればライセンスを返却し、ステータスを「未使用」に変更する(S1003)。一方、サーバ装置100と通信不能であれば、自ステータスを「使用済」に変更し(S1004)、ステータスが「要求」となっている他端末装置200にライセンスを貸与する(S1005)。そして、サーバ装置100の再起動後に、ライセンスを返却し、自ステータスを「未使用」に変更する(S1006)。
【0133】
一方、S1007の処理で、ライセンスを借り受けた端末装置200は、サーバ装置100の再起動後に、正式にライセンスを割り振られるためステータスが「使用中」に変更となる(S1008)。
【0134】
以上示したように、本発明のライセンス管理システムでは、ライセンス管理サーバがダウンしている間も、クライアントマシン間の連携により、ライセンスの管理における一連の処理を継続可能にし、効率よくライセンスを使用することができる。
【0135】
また、クライアント自身が状態情報を保持しているため、ライセンス管理サーバの回復(再起動)後、ライセンス管理サーバは、クライアントの状態をチェックすることにより、ライセンス管理テーブルを復元し、サーバダウン前の状態と同様に管理を継続することができる。
【0136】
従って、ライセンス管理サーバのダウンに係らず、柔軟にライセンス管理することで、従来の問題点であったサーバダウン中に、ライセンスの許諾処理等が停止してしまうという無駄な時間を削減し、より効率よくライセンスを使用することができるフレキシブルなライセンス許諾環境を構築することが可能となる。
【0137】
また、上記実施形態ではライセンス管理サーバがライセンス管理DBを基にライセンスを振り分けてライセンスを管理するという利用方法を示したが、ライセンス管理サーバやライセンス管理DBがない場合でも本実施形態は利用可能である。
【0138】
以下では、図1及び図2のサーバ装置100、ライセンス管理DB400がないことを前提とする。
【0139】
以下、図13を参照して、端末装置間でライセンスの貸借のステータスフラグの変化の過程を示す。
【0140】
まず、端末装置200aはライセンスを使用していないことを前提とする(S1000)。
【0141】
端末装置200aは、ライセンス取得要求を他の端末装置200b〜200dへ通知すると同時に自ステータスを「要求」に変更する(S1001)。
【0142】
もし、端末装置200aがライセンスを持っていれば、端末装置200aが持っているライセンスを割り振り、自ステータスを「使用中」に変更し(S1002)、アプリケーションプログラム201を実行することができる。
【0143】
また、端末装置200aがライセンスを持っておらず、他の端末装置200b〜200dで、ステータスが「使用済」の他の端末装置(S1004)があるときは、端末装置200aは該他の端末装置200b〜200dよりライセンスを借り受け、自ステータスを「借受」に変更後(S1007)、「使用中」に変更し(S1008)、同時にアプリケーションプログラム201を実行することができる。
【0144】
また、ライセンスを貸出す他の端末装置200b〜200dは、自ステータスが「使用済」の端末装置であり(S1004)、自ステータスを「貸与」に変更後(S1005)、「未使用」に変更する(S1006)。
【0145】
端末装置200aはアプリケーションプログラム201を使用後、自ステータスを「使用済」に変更し(S1004)、ステータスが「要求」となっている他端末装置にライセンスを貸与する(S1005)。ライセンスを貸与後は、自ステータスを「未使用」に変更する(S1006)。
【0146】
すなわち、ライセンス管理サーバがない場合は、予め付与されているライセンスを使用しなくなった端末装置が、次に使用する端末装置の出現するまで、ライセンスを保持しておく。
【0147】
その後、ライセンスを使用する端末装置が現れたら、ライセンスを使用しなくなった端末装置が、ライセンスを貸与し、ライセンスを使用する端末装置がライセンスを借受けて、アプリケーションプログラムを実行することができる。
【0148】
したがって、ライセンス管理サーバがない状態で、複数のクライアントマシンにクライアントマシンの数より少ないライセンスが付与された場合でも、各クライアント間でライセンスの貸借を行って上記同様の作用によりライセンスを効率よく使用することが可能である。
【0149】
以上示したように、本発明のライセンス管理システムでは、ライセンス管理サーバがない場合も、クライアントマシン間の連携により、ライセンスの管理における処理を可能にし、効率よくライセンスを使用することができる。
【0150】
なお、ソフトウェアのライセンスとはアプリケーションプログラム自身の起動の許可を与えるものでもよいし、アプリケーションプログラムの一部の機能についての許可を与えるものでも良い。
【0151】
また、上記各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0152】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0153】
以下、図14に示すメモリマップを参照して本発明に係るライセンス管理システムを構成する各装置(サーバ装置100,端末装置200)で読み取り可能なデータ処理プログラムの構成について説明する。
【0154】
図14は、本発明に係る本発明に係るライセンス管理システムを構成する各装置(サーバ装置100,端末装置200)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0155】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0156】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0157】
本実施形態における図4,図5,図6,図7,図8,図9,図10,図11,図12に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0158】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0159】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0160】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0161】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0162】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0163】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0164】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0165】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0166】
【図1】本発明の一実施形態を示すライセンス管理システムのシステム構成及びサーバ装置のハードウェア構成の一例を示すブロック図である。
【図2】図1に示したライセンス管理システムにおけるソフトウェア構成の一例を示す構成図である。
【図3】図2に示したライセンス管理テーブル,マシン管理テーブルの一例を示す図である。
【図4】本発明のライセンス管理システムにおける第1の制御処理手順の一例を示すフローチャートである。
【図5】本発明のライセンス管理システムにおける第2の制御処理手順の一例を示すフローチャートである。
【図6】本発明のライセンス管理システムにおける第3の制御処理手順の一例を示すフローチャートである。
【図7】本発明のライセンス管理システムにおける第4の制御処理手順の一例を示すフローチャートである。
【図8】本発明のライセンス管理システムにおける第5の制御処理手順の一例を示すフローチャートである。
【図9】本発明のライセンス管理システムにおいて端末装置がライセンスを取得後、アプリケーションプログラムを起動し、ライセンスを返却するまでの処理の流れの一例を示すシーケンス図である。
【図10】本発明のライセンス管理システムにおける第6の制御処理手順の一例を示すフローチャートである。
【図11】本発明のライセンス管理システムにおける第7の制御処理手順の一例を示すフローチャートである。
【図12】本発明のライセンス管理システムにおいて、ライセンスサーバのダウン時における端末装置間の処理の流れの一例を示すシーケンス図である。
【図13】端末装置におけるライセンス取得から返却までのステータスフラグの変化の過程を示す状態遷移図である。
【図14】本発明に係る本発明に係るライセンス管理システムを構成する各装置(サーバ装置,端末装置)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0167】
100 サーバ装置
101 ライセンスサーバプログラム
102 CPU
103 RAM
105 外部メモリ
106 入力装置
200a〜200d 端末装置
201 アプリケーションプログラム
300 通信ネットワーク
400 ライセンス管理DB
401 ライセンス管理テーブル
401a ライセンスID
401b 使用状況
401c 使用マシン名
401d MACアドレス
401e 使用時間
402 マシン管理テーブル
402a マシン名
402b ステータスフラグ
402c 貸与マシン名又は借受マシン名
402d 要求待ち時間

【特許請求の範囲】
【請求項1】
ソフトウェアの使用を許諾するライセンスのクライアント装置への割り当て状態を管理するサーバ装置と、前記サーバ装置から前記ライセンスを獲得しソフトウェアを実行する複数のクライアント装置と、を有するライセンス管理システムにおいて、
前記クライアント装置は、
前記ライセンスを前記サーバ装置から獲得する獲得手段と、
前記ライセンスを前記サーバ装置に返却する返却手段と、
前記返却手段によるライセンスの返却が行えなかった場合に前記ライセンスを他のクライアント装置に貸与可能に保持する保持手段と、
他のクライアント装置からのライセンス借り受け要求を受けた場合に、前記保持手段で保持しているライセンスを該他のクライアント装置に貸与する貸与手段と、
を備えることを特徴とするライセンス管理システム。
【請求項2】
前記クライアント装置は、
前記獲得手段により前記サーバ装置からライセンスを獲得できなかった場合に、ライセンスを貸与可能に保持している他のクライアント装置に対してライセンス借り受け要求を行いライセンスを借り受ける借受手段を更に備えることを特徴とする請求項1に記載のライセンス管理システム。
【請求項3】
前記返却手段は、前記借受手段により他のクライアント装置から借り受けたライセンスを当該他のクライアント装置に返却することを特徴とする請求項2に記載のライセンス管理システム。
【請求項4】
前記返却手段は、前記サーバ装置との通信が可能な場合に前記借受手段により他のクライアント装置から借り受けたライセンスを前記サーバ装置に返却することを特徴とする請求項2または3に記載のライセンス管理システム。
【請求項5】
前記サーバ装置は、
前記クライアント装置との通信再開時に、ライセンスを割り当て中のクライアント装置にライセンスの使用状況を確認して、ライセンスの割り当て状態を更新する更新手段を有することを特徴とする請求項1乃至4のいずれか1項に記載のライセンス管理システム。
【請求項6】
前記クライアント装置は、前記サーバ装置との通信再開時に、前記サーバ装置の前記更新手段による要求に基づいて、前記ライセンスの使用状況を通知する通知手段を更に有することを特徴とする請求項5に記載のライセンス管理システム。
【請求項7】
ソフトウェアの使用を許諾するライセンスを相互に貸借する複数の情報処理装置を有するライセンス管理システムにおいて、
前記情報処理装置は、
他の情報処理装置からの要求に基づいて、使用していない前記ライセンスを他の情報処理装置に貸与する貸与手段と、
前記ライセンスを他の情報処理装置に要求して借り受ける借受手段と、
を有することを特徴とするライセンス管理システム。
【請求項8】
前記情報処理装置は、前記借受手段により借り受けたライセンスを、前記貸与手段により他の情報処理装置に貸与するまで保持しておくことを特徴とする請求項7記載のライセンス管理システム。
【請求項9】
ソフトウェアの使用を許諾するライセンスを管理するサーバ装置から前記ライセンスを獲得し、ソフトウェアを実行する情報処理装置であって、
前記ライセンスを前記サーバ装置から獲得する獲得手段と、
前記ライセンスを前記サーバ装置に返却する返却手段と、
前記返却手段によるライセンスの返却が行えなかった場合に前記ライセンスを他の情報処理装置に貸与可能に保持する保持手段と、
他の情報処理装置からのライセンス借り受け要求を受けた場合に、前記保持手段で保持しているライセンスを該他の情報処理装置に貸与する貸与手段と、
を有することを特徴とする情報処理装置。
【請求項10】
ソフトウェアの使用を許諾するライセンスのクライアント装置への割り当て状態を管理するライセンス管理装置において、
前記各クライアント装置は、ライセンス管理装置との通信が不可能な場合、クライアント装置間で使用していないライセンスを貸し借りするものであり、
前記クライアント装置との通信再開時に、ライセンスを割り当て中のクライアント装置にライセンスの使用状況を確認して、前記管理するライセンスの割り当て状態を更新する更新手段と、
を有することを特徴とするライセンス管理装置。
【請求項11】
ソフトウェアの使用を許諾するライセンスのクライアント装置への割り当て状態を管理するサーバ装置と、前記サーバ装置から前記ライセンスを獲得しソフトウェアを実行する複数のクライアント装置と、を有するライセンス管理システムにおけるライセンス管理方法であって、
前記クライアント装置は、
前記ライセンスを前記サーバ装置から獲得する獲得ステップと、
前記ライセンスを前記サーバ装置に返却する返却ステップと、
前記返却ステップによるライセンスの返却が行えなかった場合に前記ライセンスを他のクライアント装置に貸与可能に保持する保持ステップと、
他のクライアント装置からのライセンス借り受け要求を受けた場合に、前記保持ステップで保持しているライセンスを該他のクライアント装置に貸与する貸与ステップと、
を備えることを特徴とするライセンス管理方法。
【請求項12】
ソフトウェアの使用を許諾するライセンスを管理するサーバ装置から前記ライセンスを獲得しソフトウェアを実行する情報処理装置におけるライセンス管理方法であって、
前記ライセンスを前記サーバ装置から獲得する獲得ステップと、
前記ライセンスを前記サーバ装置に返却する返却ステップと、
前記返却ステップによるライセンスの返却が行えなかった場合に前記ライセンスを他の情報処理装置に貸与可能に保持する保持ステップと、
他の情報処理装置からライセンス借り受け要求を受けた場合に、前記保持ステップで保持しているライセンスを該他の情報処理装置に貸与する貸与ステップと、
を有することを特徴とするライセンス管理方法。
【請求項13】
ソフトウェアの使用を許諾するライセンスを、複数のクライアント装置からの要求に基づいて割り当てるとともに、該ライセンス割り当て状態を記憶管理するライセンス管理装置におけるライセンス管理方法において、
前記各クライアント装置は、ライセンス管理装置との通信が不可能な場合、クライアント装置間でライセンスを貸し借りするものであり、
前記クライアント装置との通信再開時に、ライセンスを割り当て中のクライアント装置にライセンスの使用状況を確認して、前記ライセンス割り当て状態を更新する更新ステップを有することを特徴とするライセンス管理方法。
【請求項14】
請求項1乃至7記載のライセンス管理システムとしてコンピュータを機能させるためのプログラム又は請求項11乃至13のいずれか1項に記載されたライセンス管理方法をコンピュータに実行させるためのプログラム。
【請求項15】
請求項1乃至7記載のライセンス管理システムとしてコンピュータを機能させるためのプログラム又は請求項11乃至13のいずれか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

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2007−249804(P2007−249804A)
【公開日】平成19年9月27日(2007.9.27)
【国際特許分類】
【出願番号】特願2006−74882(P2006−74882)
【出願日】平成18年3月17日(2006.3.17)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】