(57)【特許請求の範囲】
【請求項１】
使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバにおけるライセンス管理方法であって、
前記ソフトウェアを利用するクライアントから当該ソフトウェアを利用する期間の予約を受け付ける予約段階と、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じて、前記ライセンスを発行するかどうかを判断する判断段階と、
前記判断段階の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行段階と、
前記ライセンス取得要求をしたクライアントが前記予約に係るクライアントでない場合に、前記予約があることを前記ライセンス取得要求をしたクライアントに通知する通知段階とを有し、
前記判断段階は、前記ライセンス取得要求をしたクライアントが前記予約をしたクライアントであり、前記ライセンス取得要求の時期が前記予約段階において予約されていた期間内であれば、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記予約に係らないクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理方法。
【請求項２】
使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバにおけるライセンス管理方法であって、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じ、前記ライセンスごとに各クライアントの優先権の高低が定義された優先権情報に基づいて前記ライセンスを発行するかどうかを判断する判断段階と、
前記判断段階の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行段階と、
前記ライセンス取得要求をしたクライアントの前記優先権より高い優先権を有するクライアントが前記優先権情報に定義されている場合は、前記高い優先権を有するクライアントが存在することを前記ライセンス取得要求をしたクライアントに通知する通知段階とを有し、
前記判断段階は、前記ライセンス取得要求をしたクライアントの優先権が、前記ライセンスを使用中のいずれかのクライアントの優先権より高ければ、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記ライセンスを発行すると判断したクライアントよりも優先権の低いクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理方法。
【請求項３】
前記判断段階は、複数のライセンスに予め付与されているライセンスの割り当ての候補となる順位に従って各ライセンスの発行の可否を判断することを特徴とする請求項２に記載のライセンス管理方法。
【請求項４】
使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバであって、
前記ソフトウェアを利用するクライアントから当該ソフトウェアを利用する期間の予約を受け付ける予約手段と、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じて、前記ライセンスを発行するかどうかを判断する判断手段と、
前記判断手段の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行手段と、
前記ライセンス取得要求をしたクライアントが前記予約に係るクライアントでない場合に、前記予約があることを前記ライセンス取得要求をしたクライアントに通知する通知手段とを有し、
前記判断手段は、前記ライセンス取得要求をしたクライアントが前記予約をしたクライアントであり、前記ライセンス取得要求の時期が前記予約手段において予約されていた期間内であれば、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記予約に係らないクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理サーバ。
【請求項５】
使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバであって、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じ、前記ライセンスごとに各クライアントの優先権の高低が定義された優先権情報に基づいて前記ライセンスを発行するかどうかを判断する判断手段と、
前記判断手段の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行手段と、
前記ライセンス取得要求をしたクライアントの前記優先権より高い優先権を有するクライアントが前記優先権情報に定義されている場合は、前記高い優先権を有するクライアントが存在することを前記ライセンス取得要求をしたクライアントに通知する通知手段とを有し、
前記判断手段は、前記ライセンス取得要求をしたクライアントの優先権が、前記ライセンスを使用中のいずれかのクライアントの優先権より高ければ、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記ライセンスを発行すると判断したクライアントよりも優先権の低いクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理サーバ。
【請求項６】
コンピュータに、使用権限が設けられたソフトウェアのライセンスを発行させると共に、発行しているライセンス数が所定数以下となるように制限させるライセンス管理プログラムであって、
前記ソフトウェアを利用するクライアントから当該ソフトウェアを利用する期間の予約を受け付ける予約手順と、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じて、前記ライセンスを発行するかどうかを判断する判断手順と、
前記判断手順の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行手順と、
前記ライセンス取得要求をしたクライアントが前記予約に係るクライアントでない場合に、前記予約があることを前記ライセンス取得要求をしたクライアントに通知する通知手順とを有し、
前記判断手順は、前記ライセンス取得要求をしたクライアントが前記予約をしたクライアントであり、前記ライセンス取得要求の時期が前記予約手順において予約されていた期間内であれば、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記予約に係らないクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理プログラム。
【請求項７】
コンピュータに、使用権限が設けられたソフトウェアのライセンスを発行させると共に、発行しているライセンス数が所定数以下となるように制限させるライセンス管理プログラムであって、
前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じ、前記ライセンスごとに各クライアントの優先権の高低が定義された優先権情報に基づいて前記ライセンスを発行するかどうかを判断する判断手順と、
前記判断手順の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行手順と、
前記ライセンス取得要求をしたクライアントの前記優先権より高い優先権を有するクライアントが前記優先権情報に定義されている場合は、前記高い優先権を有するクライアントが存在することを前記ライセンス取得要求をしたクライアントに通知する通知手順とを有し、
前記判断手順は、前記ライセンス取得要求をしたクライアントの優先権が、前記ライセンスを使用中のいずれかのクライアントの優先権より高ければ、前記ライセンス数が前記所定数に達していても前記ライセンスを発行すると判断し、前記ライセンスを発行すると判断したクライアントよりも優先権の低いクライアントに発行した前記ライセンスを回収することを特徴とするライセンス管理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
【０００２】
本発明は、ライセンス管理方法，ライセンス管理サーバ，ライセンス管理プログラム及び記録媒体に係り、特に使用権限が設けられたソフトウェアのライセンスを管理するライセンス管理方法，ライセンス管理サーバ，ライセンス取得クライアント、ライセンス管理プログラム及び記録媒体に関する。
【０００３】
【従来の技術】
【０００４】
例えばコンピュータ上で使用されるアプリケーションソフトウェア（以下、アプリケーションという）は、容易に複製が可能であるため、ライセンス（アプリケーションの使用権）契約が結ばれていないアプリケーションが不正使用されることが多かった。このため、アプリケーションの不正使用を防ぐために、アプリケーションのライセンスを管理する様々なライセンス管理システムが開発されている。
【０００５】
また、企業等ではＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）によるシステムのネットワーク化が進み、ネットワーク上で同時に使用できる最大数を許諾するライセンス（以下、同時使用ライセンスという）契約が結ばれることも多くなっている。一般に、同時使用ライセンスによりネットワーク上で同時に使用できる最大数はライセンス数と呼ばれる。
【０００６】
このような同時使用ライセンス契約が結ばれるアプリケーションでは、アプリケーションにソフトウェア的な錠前を付けてインストールすることで使用制限を設けておく。そして、アプリケーションを使用するときに、アプリケーションの使用を許可する鍵を受け取ることで使用制限を解き、そのアプリケーションを使用していた。
【０００７】
アプリケーションの使用を許可する鍵は、例えばライセンス管理サーバにより発行される。ライセンス管理サーバは鍵の発行数を管理することにより、ネットワーク上で同時に使用されているアプリケーションの数がライセンス数を越えないように管理し、そのアプリケーションの不正使用を防いでいた。
【０００８】
【発明が解決しようとする課題】
【０００９】
このようなライセンス管理システムを用いて会社や学校などの一定の範囲内の利用者がライセンスを共同利用する場合、アプリケーションを毎日利用する者や、時々であるが確実に利用できなければ業務に支障をきたす者など利用する形態に違いがある。このような利用方法の形態の違いにより、使用したいときにライセンスがすべて発行されており、アプリケーションを使用することができなくなるなどの問題点があった。
【００１０】
本発明はこのような問題点に鑑み、アプリケーションの利用者の利用形態に応じて柔軟にライセンスの発行を行うことを可能とするライセンス管理方法，ライセンス管理サーバ，ライセンス取得クライアント、ライセンス管理プログラム及び記録媒体を提供することを目的とする。
【００１１】
【課題を解決するための手段】
【００１２】
本発明は、使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバにおけるライセンス管理方法であって、前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じて、前記クライアントに予め定められた権限に基づき、前記クライアントに前記ライセンスを発行するかどうかを判断する判断段階と、前記判断段階の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行段階とを有することを特徴とする。
【００１３】
本発明によれば、予めクライアントに定められた権限により、そのクライアントにライセンスを発行するかどうか判断することができるため、アプリケーションの利用者の利用形態に応じて柔軟にライセンスの発行を行うことが可能となる。
【００１４】
また、本発明は、前記判断段階は、前記クライアントが前記ソフトウェアを使用するために予約していた期間内に、前記クライアントからのライセンス取得要求があれば、前記ライセンスを発行すると判断することを特徴とする。
【００１５】
本発明によれば、ライセンスを予約することが可能となるため、使用したい期間を予約することにより、ライセンスに空きがなくなり使用できないということを防ぐことが可能なる。
【００１６】
また、本発明は、前記判断段階は、前記ライセンス取得要求をしたクライアントの権限が、他のクライアントに対して優先的にライセンスを発行する権限であれば、前記ライセンスを発行すると判断することを特徴とする。
【００１７】
本発明によれば、クライアントの権限として、他のクライアントより優先的にアプリケーションを使用できる権限を設けることにより、使用したいときに優先的にアプリケーションを使用することが可能となる。
【００１８】
また、本発明は、前記判断段階は、前記ライセンスに予め与えられた制約順位情報が示す順序に従って前記ライセンスの発行を判断することを特徴とする。
【００１９】
本発明によれば、ライセンスを発行するに当たり、クライアントに割当てようとするライセンスの候補を、制約順位でソートしてから選択することにより、優先権限が付与される条件が厳しいライセンスからチェックされ、空いていればライセンスが割当てられるので、全体としてライセンスの効果的利用を実現することができる。
【００２０】
また、本発明は、使用権限が設けられたソフトウェアのライセンスを発行すると共に、発行しているライセンス数が所定数以下となるように制限するライセンス管理サーバであって、前記ソフトウェアを利用するクライアントからのライセンス取得要求に応じて、前記クライアントに予め定められた権限に基づき、前記クライアントに前記ライセンスを発行するかどうかを判断する判断手段と、前記判断手段の判断結果に基づき、前記クライアントへライセンスを発行するライセンス発行手段とを有することを特徴とする。
【００２１】
本発明によれば、予めクライアントに定められた権限により、そのクライアントにライセンスを発行するかどうか判断することができるため、アプリケーションの利用者の利用形態に応じて柔軟にライセンスの発行を行うことを可能とするサーバを提供することができる。
【００２２】
本発明は、使用権限が設けられたソフトウェアの実行を許可するライセンスを管理するライセンスサーバから、前記ライセンスの発行を受けてから前記ソフトウェアの実行を開始するライセンス取得クライアントであって、前記ライセンス管理サーバにライセンスを発行させるためのライセンス取得要求を前記ライセンス管理サーバへ通知する手段と、予め定められた前記ソフトウェアを利用する権限に基づき、前記ライセンス管理サーバからライセンスを取得する手段とを有することを特徴とするライセンス取得クライアント。
【００２３】
本発明によれば、クライアントが有するソフトウェアを使用する権限により、ライセンス管理サーバからライセンスを取得することが可能なクライアントを提供することができる。
【００２４】
なお、このプログラムを記録する記録媒体は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク（ＭＯ）等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２５】
【発明の実施の形態】
【００２６】
本発明の実施の形態を図面に基づいて説明する。
【００２７】
まず、本発明の理解を容易とする為に、ソフトウェアのライセンス管理について図１を参照しつつ説明する。図１は、ライセンス管理の一例について説明する図である。
【００２８】
図１中、ライセンス管理サーバ１０は、使用権限が設けられたアプリケーションのライセンスを発行すると共に、発行しているライセンスの数がライセンス数を越えないように制限するものである。また、クライアント１１は、使用権限が設けられたアプリケーションの実行を許可するライセンスの発行を受け、そのアプリケーションを実行するものである。
【００２９】
具体的に説明すると、クライアント１１にインストールされたアプリケーションは、ソフトウェア的な錠前を付けることで使用制限が設けられている。クライアント１１は、アプリケーションの使用を許可する鍵をライセンス管理サーバ１０から受け取ることでアプリケーションの使用制限を解き、アプリケーションを実行する。
【００３０】
また、ライセンス管理サーバ１０は、アプリケーションの使用を許可する鍵の発行数を管理することにより、発行しているライセンスの数が所定の値を越えないように制限する。
【００３１】
ステップＳ１では、クライアント１１がライセンス管理サーバ１０にライセンス取得要求を通知する。ライセンス管理サーバ１０は、既に発行済みのライセンスの数とライセンス数とに基づき、ライセンスの発行が可能であるか否かを判定する。既に発行済みのライセンスの数とライセンス数とが同数であれば、ライセンスの発行が可能でないと判定される。
【００３２】
ステップＳ１に続いてステップＳ２に進み、ライセンス管理サーバ１０はライセンスの発行が可能であれば、クライアント１１にアプリケーションの実行を承認する旨を通知し、クライアント１１にライセンスを発行する。クライアント１１は、ライセンスの発行を受け、そのアプリケーションの実行を開始する。
【００３３】
ステップＳ２の後、所定時間が経過すると、ステップＳ２に続いてステップＳ３に進み、クライアント１１はアプリケーションが稼動中であるか否かを判定して、判定の結果が稼動中であればライセンス管理サーバ１０にライセンス確認要求を通知する。
【００３４】
尚、上記所定時間はライセンス管理サーバとクライアント間の通信速度や通信品質、アプリケーションの平均的使用時間等の制約条件により決定され、例えば１０分間の値をとる。
【００３５】
ステップＳ３に続いてステップＳ４に進み、ライセンス管理サーバ１０は、クライアント１１からライセンス確認要求が通知されると、クライアント１１にアプリケーションの実行を引き続き承認する旨を通知する。
【００３６】
ステップＳ４の後、所定時間が経過すると、クライアント１１はアプリケーションが稼動中であるか否かを判定して、判定の結果が稼動中であればステップＳ３及びステップＳ４の処理を繰り返し行う。
【００３７】
一方、クライアント１１においてアプリケーションの終了時に、ライセンス管理サーバ１０にライセンス返却要求を通知する。ライセンス管理サーバ１０は、クライアント１１から通知されたライセンス返却要求に応じてクライアント１１に発行したライセンスを取り消し、クライアント１１にライセンス返却要求を承認する旨を通知する。
【００３８】
クライアント１１は、ライセンス管理サーバ１０から通知されたライセンス返却要求に対する承認に応じて、ライセンス管理サーバ１０から発行を受けたライセンスを破棄する。
尚、ライセンスサーバ１０において、ライセンス数はアプリケーション毎、ユーザ毎に管理される。ここでユーザとはライセンス契約者のことで、例えば企業等であり、企業に所属する利用者が該アプリケーションを利用する。
【００３９】
以下、本発明によるライセンス管理システムについて詳細に説明していく。図３は、本発明によるライセンス管理システムの一実施例の構成図を示す。図３のライセンス管理システム１は、ライセンス管理サーバ１０，１つ以上のクライアント１１ａ〜１１ｎがインターネット等のネットワーク１２を介して接続されている。
【００４０】
ライセンス管理サーバ１０は、使用権限が設けられたアプリケーションの実行を許可するライセンスをクライアント１１ａ〜１１ｎに発行すると共に、クライアント１１ａ〜１１ｎに発行したライセンスの数を管理する。また、ライセンス管理サーバは、クライアント１１ａ〜１１ｎに発行するライセンスの数が同時使用ライセンスに応じた所定の値を越えないように制限する。
【００４１】
クライアント１１ａ〜１１ｎは、ライセンス管理サーバ１０からライセンスの発行を受けてから使用権限が設けられたアプリケーションの実行を開始する。また、クライアント１１ａ〜１１ｎは、アプリケーションの実行が終了すると、ライセンス管理サーバ１０から発行を受けたライセンスをライセンス管理サーバ１０に返却する。
【００４２】
図３のライセンス管理システム１では、ライセンスの発行を受けたクライアント１１ａ〜１１ｎのアプリケーションが実際に稼動中であるか否かを所定時間毎に判定することで、例えばアプリケーションが異常終了した場合などにライセンスが発行されたままという状態を防いでいる。
【００４３】
図４は、本発明のライセンス管理サーバを実現するコンピュータシステムの一実施例の構成図を示す。図４のコンピュ−タシステムは、それぞれバスＢで相互に接続されている入力装置２１と，表示装置２２と，ドライブ装置２３と，記録媒体２４と，補助記憶装置２５と，メモリ装置２６と，演算処理装置２７と，インターフェース装置２８と，データベース（以下、ＤＢという）２９とを含むように構成される。
【００４４】
入力装置２１は、コンピュータシステムの利用者が操作するキーボード及びマウスなどで構成され、コンピュータシステムに各種操作信号を入力するために用いられる。表示装置２２は、コンピュータシステムを操作するのに必要な各種ウインドウやデータ等を表示する。インターフェース装置２８は、コンピュータシステムをネットワーク１２に接続する為のインターフェースであり、例えばモデム等で構成される。
【００４５】
ＤＢ２９は、ライセンスを管理する為に必要な情報が格納されている。
【００４６】
ライセンス管理プログラムは、ＣＤ−ＲＯＭ等の記録媒体２４によって提供される。ライセンス管理プログラムを記録した記録媒体２４は、ドライブ装置２３にセットされ、プログラムが記録媒体２４からドライブ装置２３を介して補助記憶装置２５にインストールされる。
【００４７】
補助記憶装置２５は、インストールされたライセンス管理プログラムを格納すると共に、必要なファイル，データ等を格納する。メモリ装置２６は、コンピュータシステムの起動時に補助記憶装置２５からライセンス管理プログラムを読み出して格納する。演算処理装置２７は、メモリ装置２６に読み出され格納されたライセンス管理プログラムに従って、ライセンス管理サーバ１０に係る処理を実行する。
【００４８】
本発明のクライアントを実現するコンピュータシステム（以下「クライアントコンピュータシステム」という。）は、それぞれバスＢで相互に接続されている入力装置３１と，表示装置３２と，ドライブ装置３３と，記録媒体３４と，補助記憶装置３５と，メモリ装置３６と，演算処理装置３７と，インターフェース装置３８とを含むように構成される。
【００４９】
なお、クライアントコンピュータシステムは、ＤＢが含まれていない点と、記録媒体３４から提供されるライセンス管理プログラムの内容とが図３のコンピュータシステムと異なっている。また、クライアントコンピュータシステムは、利用者情報や端末情報など認証に必要な情報を補助記憶装置３５に格納しておいてもよい。
【００５０】
クライアントコンピュータシステムでは、ＣＤ−ＲＯＭ等の記録媒体３４によってライセンス管理プログラム及びアプリケーションが提供される。ライセンス管理プログラム及びアプリケーションは、例えばライセンス管理サーバ１０等のようなネットワーク１２上のサーバから予めダウンロードするようにしてもよい。
【００５１】
クライアントコンピュータシステムでは、図４のコンピュータシステムと同様な手順によりライセンス管理プログラム及びアプリケーションをメモリ装置３６に格納する。演算処理装置３７は、メモリ装置３６に読み出され格納されたライセンス管理プログラム及びアプリケーションに従って、クライアント１１に係る処理を実行する。
【００５２】
ライセンス管理サーバ１０は、メモリ装置２６に読み出され格納されたライセンス管理プログラムに従って処理を実行することにより、図５のような機能を有するように構成される。
【００５３】
図５は、ライセンス管理サーバの一実施例の構成図を示す。図５のライセンス管理サーバ１０は、通信部４０，ライセンス要求受付部４１，ソフトウェア稼動監視部４２，ライセンス情報記憶部４３，稼動状況記憶部４４，ライセンス要求受付部４１がアクセスする各種ＤＢ４５，ライセンス情報ＤＢ４７，稼動情報ＤＢ４８，ログＤＢ４９，認証情報ＤＢ５０を含むように構成される。
【００５４】
このうち、ＤＢ４５は、図６に示されるように利用者情報ＤＢ４５ａ、予約情報ＤＢ４５ｃ、優先権情報ＤＢ４５ｄ、利用者限定情報ＤＢ４５ｅのうち１つ以上を含むように構成され、必要ならグループ情報DB４５ｂを含むように構成される。これらの各種ＤＢの詳細は、後に説明する。
【００５５】
クライアント１１は、メモリ装置３６に読み出され格納されたライセンス管理プログラム及びアプリケーションに従って処理を実行することにより、図７のような機能を有するように構成される。
【００５６】
図７は、クライアントの一実施例の構成図を示す。クライアント１１は、通信部５２，稼動監視部５３，アプリケーション５４，利用者情報５５，端末情報５６を含むように構成される。
【００５７】
以上で構成についての説明を終え、以下、３種類の実施の形態を説明する。
【００５８】
第１の実施の形態は、ライセンス管理に予約機能を付加した形態である。最初に、クライアント１１とライセンス管理サーバ１０とのライセンス管理に係る処理のうち、クライアント１１が予めソフトウェアの利用時間帯をライセンス管理サーバ１０に予約する処理について説明する。
【００５９】
最初にライセンス管理サーバ１０は、図８に示された予約画面１００をクライアント１１の画面に表示する。この予約画面１００は、予約対象入力欄１０１、利用者入力欄１０２、連絡入力欄１０３、日時入力欄１０４、利用者ＩＤ入力欄１０５、業務名入力欄１０６、コメント入力欄１０７と、登録ボタン１０８、削除ボタン１０９、キャンセルボタン１１０とを有する。このうち予約対象とは、予約をするアプリケーション名である。利用者とは、その予約する時間にアプリケーションを利用する作業者名である。連絡先は利用者の連絡先である。日時は、予約予定時間を表し、予約する年月日と、開始時刻と終了時刻からなる。利用者ＩＤは、利用者のＩＤである。業務名は、利用者がある業務でアプリケーションを利用するのであれば、その業務名を示している。コメントは、メモや簡単な連絡などに用いる。
【００６０】
以上の欄に必要事項を入力し、登録ボタン１０８をクリックすることにより、先に予約が入っていないなどの条件を満たすと、ライセンス管理サーバ１０に予約をすることができる。他のボタンである削除ボタン１０９は、予約を削除するボタンであり、キャンセルボタン１１０は、画面１００への入力内容をキャンセルするボタンである。
【００６１】
予約が取れた場合は、図９に示される予約表示画面１１１がクライアント１１の画面に表示され、予約が取れたことを確認することができる。予約表示画面１１１に表示された前週ボタン１１３は、画面１１１に現在表示されている週の前の週を表示するためのボタンである。また、来週ボタン１１４は、画面１１１に現在表示されている週の次の週を表示するためのボタンである。予約ボタン１１２は、再び予約するために図８に示される画面１００を表示するためのボタンである。
【００６２】
次に、予約による実際の運用例を図１０を用いて説明する。図１０は、予約していない利用者Ａと予約している利用者Ｂに対し、１つのライセンスがどのように割り当てられるかを示した図であり、図の下の数字は時刻を表している。
【００６３】
まず、利用者Ｂは、予め９：３０から１１：００までを予約している。この状況で、最初に利用者Ａは、９：００から９：３０の間にライセンスの取得要求を行っている。この時間帯は、予約が入っていないためライセンスを利用者Ａに割り当てることができるが、すぐに利用者Ｂの予約開始時刻になるため、ライセンス管理サーバ１０は、「９：３０〜１１：００はＢの予約が入っています」のような警告とともに利用者Ａにライセンスを発行する。そして、使用している間は、利用者Aが使用するクライアントが所定の時間ごとにライセンス管理サーバ１０へ確認メッセージを送信し、ライセンス管理サーバ１０は、それに対する応答を送信する。
【００６４】
そして、予約開始時刻の９：３０になるが、利用者Ｂは使用を開始しないため、ライセンス管理サーバ１０は、利用者Ａの使用を許可する。１０：００過ぎに利用者Ｂが使用を開始すると、ライセンス管理サーバ１０は、利用者Ｂにライセンスを発行するとともに、利用者Ａの確認メッセージに対しては、ライセンスの返上を示す「ＮＧ」を送信し、利用者Ａのアプリケーションは停止する。
【００６５】
次に、利用者Ｂのアプリケーション利用が１１：３０ごろ終了する。そのため利用者Ｂへ与えたライセンスは返上されるので再び利用者Ａにライセンスを発行可能となり、利用者Ａは、アプリケーションを再び使用することが可能となる。
【００６６】
このようにライセンスの予約は、ライセンスに余裕があれば、予約していなくても使用できる。
【００６７】
次に、前述のライセンス管理サーバ１０及びクライアント１１のライセンス管理に係る処理について説明する。図１１は、本発明によるライセンス管理サーバ１０の処理の一例のフローチャートを示す。
【００６８】
ステップＳ２０では、クライアント１１を利用する利用者がアプリケーションの実行を要求することにより、通信部５２から通信部４０へ接続要求が送信される。ステップＳ２０に続いてステップＳ２１に進み、ライセンス管理サーバ１０の通信部４０はクライアント１１の通信部５２から送信された接続要求を受信することで、ライセンス管理に係る処理を開始する。
【００６９】
なお、接続要求には、ユーザプロファイル情報および利用リクエスト情報が含まれる。ユーザプロファイル情報は、ログインＩＤ、ログインパスワード、利用者ＩＤ、ログインユーザ名、コンピュータ名、利用者名、部署名、メールアドレス、電話番号などの項目が含まれる。ログインユーザ名、ログインＩＤ、ログインパスワード、利用者ＩＤ、利用者名、は、利用者情報５５から取得するか、又は入力装置３１から入力させる。また、コンピュータ名は、端末情報５６から取得する。その他の項目は任意で入力させても良い。
【００７０】
利用リクエスト情報は、パッケージ名、機能、バージョン、オプションフラグ、メソッド、日、時などの項目が含まれる。メソッドとは、ライセンス取得要求と，ライセンス確認要求と，ライセンス返却要求とを識別させるためのものである。
【００７１】
ステップＳ２２では、通信部４０がユーザの認証識別処理を行う。認証識別処理では、受信したユーザプロファイル情報のログインＩＤで認証情報ＤＢ５０を検索し、検索されたログインＩＤに対応するパスワードと前記ユーザプロファイル情報のログインパスワードとの比較を行い、一致又は不一致により認証を行い、認証が正常に終了すればユーザを特定してステップＳ２３に進む。一方、認証が正常に終了しなければ、通信部４０は異常通知をクライアント１１の通信部５２に返信してステップＳ２８に進む。
【００７２】
ステップＳ２３では、ライセンス要求受付部４１がパッケージ，オプションの識別処理を行う。パッケージ，オプションの識別処理では、ステップＳ２２で特定したユーザに対応するライセンス情報がライセンス情報ＤＢ４７から読み出され、読み出されたライセンス情報から利用可能なパッケージ名，使用可能なオプションを識別するオプションフラグ，ライセンス数を取得する。ライセンス情報記憶部４３は、ライセンス情報ＤＢ４７からライセンス情報を読み出し、一時的に記憶する。
【００７３】
パッケージ，オプションの識別処理が正常に終了すれば、ステップＳ２３の処理に続いてステップＳ２４に進む。一方、パッケージ，オプションの識別処理が正常に終了しなければ、通信部４０は異常通知をクライアント１１の通信部５２に返信してステップＳ２８に進む。
【００７４】
ステップＳ２４では、ライセンス要求受付部４１が利用者の認証処理を行う。本実施例においては利用者ＩＤとパスワードにより認証が行われ、利用者ＩＤ，パスワードの入力要求処理は、以下の手順で行われる。まず、ライセンス要求受付部４１は、ステップＳ２２で特定したユーザに対応する判定情報を判定情報ＤＢ４５から読み出し、利用者をどの項目を用いて認証するかの情報を取得する。
【００７５】
なお、判定情報は、利用者ＩＤ，パスワード，ログインユーザ名，コンピュータ名，利用者名，などの項目が含まれ、それぞれの項目には真偽値が設定され、値が真の項目に対応する情報が認証に使用される。
【００７６】
ライセンス要求受付部４１は取得した情報から認証に使用される情報を決定するが、前記メソッドがライセンス取得要求であって且つ判定情報のうち前記利用者ＩＤとパスワードの値が真である時は夫々を入力情報項目と判定する。このように入力情報項目を決定し、決定した入力情報項目の入力催促通知をクライアント１１に要求する。そして、ライセンス要求受付部４１はクライアント１１から供給された入力情報項目を取得してステップＳ２５に進む。例えば利用者ＩＤ及びパスワードの入力用ウインドウをクライアント１１の表示装置３２に表示することにより、入力情報項目の入力を促す。
【００７７】
ステップＳ２５では、ライセンス要求受付部４１がプロファイル識別処理を行う。プロファイル識別処理では、ステップＳ２２で特定したユーザに対応する判定情報及び利用者情報が判定情報ＤＢ４５及び利用者情報ＤＢ４６から読み出され、読み出された判定情報に従って利用者情報とステップＳ２４で取得した情報項目とが比較される。そして、比較結果に応じて利用者の認証が行われる。
【００７８】
例えば、判定情報において利用者ＩＤ，パスワードの他にコンピュータ名の真偽値が真に設定されている場合、ステップＳ２４で取得した利用者ＩＤ、パスワード及びクライアント１１から取得したコンピュータ名と、利用者情報ＤＢ４６から読み出した利用者ＩＤ，パスワード及びコンピュータ名とが一致するか否かで利用者の認証が行われる。
【００７９】
認証が正常に終了すれば、ステップＳ２５の処理に続いてステップＳ２６の処理に進む。一方、認証が正常に終了しなければ、通信部４０は異常通知をクライアント１１の通信部５２に返信してステップＳ２８に進む。
【００８０】
ステップ２６では、予約情報ＤＢ４５ｃと稼動状況ＤＢ４８にアクセスすることにより、ライセンスの割り当て・保持・破棄を行う。この処理の詳細を図１２のフローチャートを用いて説明する。この図１２のフローチャートは、例えば１つの関数となっており、図１１のフローチャートから関数コールされる処理である。
【００８１】
まずステップＳ３０で、ライセンス要求受付部４１は、稼動状況ＤＢ４８に対してユーザプロファイル情報の特定の項目（例えばユーザＩＤと利用者ＩＤとコンピュータ名）が一致する稼動状況レコードを検索する。次に、ライセンス要求受付部４１は、ステップＳ３１で稼動状況レコードが存在するかどうかの判断を行う。その結果、稼動状況レコードが存在しない場合は、ステップＳ３２へ進む。ステップＳ３２では、クライアントから受信した利用リクエストのメソッドが「ライセンス発行」要求かどうか判断する。その結果、ライセンス発行要求ではない場合、ステップＳ３３へ進む。そして、ステップＳ３３でライセンス確認要求かどうか判断し、ライセンス確認であれば、そのクライアントは、稼動状況レコードが存在しないにもかかわらず、ライセンスの確認を要求していることになる。これは、ライセンス要求受付部４１が他の優先するクライアントにライセンスを割り当て直したために、元のクライアントがライセンスを失って稼動している状態である。そのため、ライセンス要求受付部４１は、そのクライアントに対し、ステップＳ３４で他の空ライセンスの割り当てを試みる。なお、ステップＳ３２でクライアントから受信した利用リクエストのメソッドが「ライセンス発行」要求である場合も、このステップＳ３４の処理を行う。また、ステップＳ３３でライセンス確認要求でなければ、許可回答を行なう処理をステップＳ４２で行う。
【００８２】
次に、上記ステップＳ３４の処理を図１３のフローチャートを用いて説明する。この図１３の処理も１つの関数で実現されている。ステップＳ４１０で、ライセンス要求受付部４１は、発行要求を発した利用者の予約情報ＤＢ４５ｃの検索を行う。この検索処理は、現在時刻を含む時間帯の予約であり、かつユーザプロファイル情報の特定の項目が一致する予約情報レコードに、クライアントから受信したユーサプロファイル情報の特定の項目が一致する予約情報レコードを検索する処理である。この検索処理の結果、予約情報ＤＢ４５ｃに条件に適合するレコードが存在する場合は、発行要求を発した利用者の予約が為されているのでステップＳ４１１からステップＳ４１２へ進む。ステップＳ４１２で、ライセンス要求受付部４１は、該当予約情報レコードのライセンス番号を取得して、そのライセンスを他の利用者が使用中かどうかを、稼動状況ＤＢ４８にライセンス番号があるかどうか検索することにより確認する。稼動状況ＤＢ４８にライセンス番号があれば、ステップＳ４１４で、ライセンス要求受付部４１は、使用中のライセンスを稼動状況ＤＢ４８から削除することでライセンスを回収する。
【００８３】
ステップＳ４１１の処理に戻り、予約がなかった場合は、ステップＳ４１５で現在使用されていないライセンスの探索が行われる。この探索は、例えば稼動状況ＤＢ４８に登録されているライセンス番号を調べてライセンス情報ＤＢ４７のデータ項目「ライセンス数」（ライセンス番号の範囲情報）と比較し、使用されていないライセンス番号を判定することにより行われる。そして、現在使用されていないライセンスが複数ある場合は該ライセンス番号で予約情報ＤＢ４５ｃを検索して、まず該当利用者が所定の時間内（例えば６０分等）に予約時間帯となるライセンスを捜し、そのようなライセンスが無ければ最も遠い未来の時刻まで予約が無いライセンスを採用する。なお、この検索は予約情報ＤＢ４５ｃのうち、利用者が属するユーザに対応するログインIDと現在利用中のパッケージ名を有するレコードのみが対象となる。
【００８４】
ステップＳ４１５の検索処理によりライセンスが見つかった場合は、ステップＳ４１６からステップＳ４１７に進む。そして、ステップＳ４１７で、ライセンス要求受付部４１は、採用しようとするライセンスが所定の時間内（例えば１２０分等）に他の利用者の予約時間帯に入るか又は現在が予約時間帯である場合は、ステップＳ４１８で許可回答に警告情報を付加する。また、ステップＳ４１６で割り当て可能なライセンスが無かった場合は、「ライセンス無し」となる。
【００８５】
図１２のステップＳ３５の処理に戻り、ライセンス要求受付部４１は、ステップＳ３４のライセンス割り当て処理の結果、ライセンスが有ればステップＳ３５６で稼動状況ＤＢ４８にレコードを追加する。この際、レコードの「最終確認時間」を現在時刻とする。また、ステップＳ３５で、ライセンス要求受付部４１は、ステップＳ３４の結果、採用できるライセンスが無い場合はステップＳ３７で拒否メッセージを作成する。
【００８６】
ステップＳ３１の分岐処理に戻り、稼動状況レコードが存在する場合は、ステップＳ３８へ進む。ステップＳ３８で、ライセンス要求受付部４１は、クライアントからの要求が「ライセンス発行」の場合はリコネクトと判定する。リコネクトとは、ライセンス割当てされたクライアントがライセンスサーバ側にて割当て解除されないまま再度ライセンス割当てを要求する状況であって、この割当て要求をライセンス確認要求として扱って、ステップＳ４１に進んで該当稼動状況レコードの「最終確認時間」を現在時に更新する。このステップＳ４１の処理は、ステップＳ３９で、クライアントからの要求が「ライセンス確認」と判断された場合でも行われる処理である。
【００８７】
ステップＳ３９で、「ライセンス確認」と判断されなかった場合は「ライセンス返却要求」の場合だから、ステップＳ４０で該当稼動状況レコードの削除をおこなう。
【００８８】
以上でライセンス割り当て・保持・破棄の処理が終わり、次に図１１のステップＳ２７の発行処理により、処理の結果がクライアントに通知される。そして、ステップＳ２８で、クライアントに送信される全ての通知情報を所定の形式に変換してログＤＢ４９として保存する。このログ出力処理は、クライアント１１に送信する全ての通知情報を所定の形式に変換し、変換した通知情報をログＤＢ４９に記録する。ログＤＢ４９には、図２０に示されるようにログインＩＤ，利用者ＩＤ，パッケージ名，日，時間，動作，コードなどの項目が含まれる。
【００８９】
なお、クライアント１１に通知される処理結果は、図２１、図２２にしめされるようなヘッダ部および、図２３〜図２５に示されるような結果通知部からなるテキストファイルで構成される。ヘッダ部には、ログインＩＤ，ログインパスワード，利用者ＩＤ，パスワード，ログインユーザ名，コンピュータ名，利用者名，パッケージ名，機能，バージョン，オプションフラグ，メソッド，日，時などの項目が含まれる。また、結果通知部には、正常終了又は異常終了を表すコード，エラー説明，対処方法などの項目が含まれる。尚、正常終了を表わすコードにはクライアントからのライセンスの取得や返却や確認要求に対する承認または拒否を示す値が含まれる。また、上記各ステップがクライアントに異常通知を送信する場合は異常終了を表わすコードが結果通知部に設定され、稼動状況情報ＤＢの更新は行われない。
【００９０】
次に、第２の実施の形態を説明する。第２の実施の形態は、図１４に示されるように、図１１の予約情報ＤＢ４５ｃに代えて、新たにグループ情報ＤＢ４５ｂと優先権情報ＤＢ４５ｄとを用いてライセンスの割り当て・保持・破棄の処理を行う形態である。また、第２の実施の形態における処理は、図１１に示した第１の実施の形態の処理を示すフローチャートのステップＳ２６の処理が異なる。
【００９１】
グループ情報ＤＢ４５ｂは、利用者の集合であるグループに対してのライセンス管理を行うために、グループに対して定められたＩＤと、そのグループに属する利用者のＩＤとを有する情報であり、図２６に示されるように、グループＩＤと、そのグループに属する利用者ＩＤが並べられたＤＢとなっている。尚、グループのＩＤと利用者のＩＤは互いに重複が無いように決定される。
【００９２】
優先権情報ＤＢ４５ｄは、あるライセンスに対し、そのライセンスを利用する利用者あるいはグループの優先権を定めるための情報であり、図２７に示されるように、ログインＩＤと、パッケージ名と、バージョンと、ライセンス番号と、制約順位と、ライセンスを利用できる利用者あるいはグループの優先順位とを有する情報である。このうち、制約順位は、ライセンスに優先権設定をする際の候補となる順位であり、また、ライセンス割当の際の候補となる順位である。
【００９３】
このように、優先権情報ＤＢ４５ｄは、個々のライセンスについて、複数レベルの優先度（第一優先、第二優先、…）と対応する利用者を定義でき、グループのグループIDと利用者の利用者IDは重複がないように管理される。
【００９４】
また、特定のグループあるいは利用者に優先権が付けられたライセンスは、優先権のない（または優先権の低い）利用者も利用可能だが、優先権がある（または優先権が高い）利用者が利用する場合は強制的にライセンスを返還する。また、優先権のない利用者がライセンスを取得する際には警告画面を表示する。更に、ライセンスの強制返還時にはライセンス管理サーバ１０で空いているライセンスを捜して再割当し、可能な限り処理継続させる。この機能は、優先権テーブルに予め優先権付ライセンスのライセンス番号と優先権を付与する利用者の利用者IDまたはグループIDを登録しておくことにより実現する。
【００９５】
次に、図１５のフローチャートの説明をする。図１５は、図１４の処理のステップＳ２６の処理を示すフローチャートであり、１つの関数で実現され、戻り値を上位の処理に返すようになっている。まず、ステップＳ４２０で、ライセンス要求受付部４１は、発行要求を発した利用者が属する全グループをグループ情報から検索する。次に、各グループ情報と該利用者の利用者IDの夫々で優先権テーブルを検索し、そのグループ或いは利用者が登録されているライセンス番号を全て取得し作業用に記憶する。その結果、ライセンスが存在する場合は、ステップＳ４２１からステップＳ４２２へ進み、ライセンス要求受付部４１は、記憶したライセンス番号で稼動状況情報を検索し、使用中か否かを判定する。使用中でなければ、ステップＳ４２５へ進み、使用中であればステップＳ４２３へ進み、優先権情報のライセンスに対する設定情報から優先判定が行われる。この判定は、使用中の利用者が該ライセンスに対して有する最上位の優先権と発行要求を発した利用者の最上位の優先権を比較し、使用中の利用者の優先度が高い又は同じ場合はステップＳ４２１に戻って、発行要求を発した前記利用者が優先権を有する別のライセンスに対し、再び処理を行う。
【００９６】
ステップＳ４２３で使用中の利用者の優先権が低い場合は、ステップＳ４２４で使用中の利用者の稼動状況レコードを削除する。これによりライセンスが回収されて発行要求を発した利用者に割当て可能となる。次に、ステップＳ４２５で発行要求中の利用者が属するグループのいずれかが、該割当て可能ライセンスの第一優先グループか否かを優先権テーブルで確認し、最優先でない場合は、ステップＳ４２９で「より優先度の高い利用者が存在する」旨の警告メッセージを付加してライセンス番号を戻り値とし、さもなければライセンス番号だけを戻り値とする。また、ステップＳ４２２で優先権を有するライセンスが使用中でなかった場合も同様である。
【００９７】
ステップＳ４２１の処理へ戻り、発行要求中の利用者が優先権を有するライセンスが無かった場合またはより優先度の高い利用者が使用中であった場合は、現在使用されていないライセンスをステップＳ４２６で検索する。これは例えば稼動状況に登録されているライセンス番号を調べてライセンス情報ファイルのライセンス数（ライセンス番号の範囲情報）と比較し、使用されていないライセンス番号を判定することにより可能である。検索の結果、使用されていないライセンス番号があった場合、ステップＳ４２７からステップＳ４２８へ進み、そのライセンスに他の利用者の優先権がある場合は、ステップＳ４２９で許可回答に警告情報を付加してライセンス番号を戻り値とする。また、ステップＳ４２６で空ライセンスが無かった場合は「ライセンス無し」を戻り値とする。
【００９８】
尚、ステップＳ４２０の処理の優先権テーブルの検索においては優先権テーブルの全レコードのうちログインIDとパッケージが一致するレコードのみ選択し、かつ選択したレコードを「制約順位」でソートして逐次使用中か否かの判定をおこなう。このように処理することにより、制約順位が高い、即ち優先権付与の条件が厳しいライセンスからチェックされ、空いていればライセンスが割当てられるので、全体としてライセンスの効果的利用が実現される。
【００９９】
次に、第３の実施の形態を説明する。第３の実施の形態は、図１６に示されるように、図１１の予約情報４５ｃに代えて、新たにグループ情報４５ｂと利用者限定情報４５ｅとを用いてライセンスの割り当て・保持・破棄の処理を行う形態である。利用者限定情報ＤＢ４５ｅは、図２８に示されるように、ログインＩＤ、パッケージ名、バージョン、ライセンス番号、許可優先または拒否優先、＋グループＩＤ１、−グループＩＤ２、−利用者ＩＤ３などを有し、この利用者限定情報ＤＢ４５ｅにあらかじめ定義されたルールに従ってライセンス付与の可否が決定される。また、利用者の限定は単独の利用者又はグループによる指定が可能である。尚、＋グループＩＤ１とはグループＩＤ１で識別されるグループに対して許可の登録が為されていることを表わし、―グループＩＤ２とはグループＩＤ２で識別されるグループに対して拒否登録が為されていることを表わす。即ち+符号が「許可」を示し、−符号が「拒否」を示す。
【０１００】
この利用者限定情報ＤＢ４５ｅはあるライセンスに対して利用を「許可」又は「拒否」する利用者やグループを登録できる。さらにライセンス毎に「許可」の登録と「拒否」の登録のどちらを優先するかを指定する。これにより、特定の利用者がある１ライセンスについて「許可」のグループと「拒否」のグループの何れにも含まれる場合に、どちらを採用するかが決定される。尚、利用者限定されない状態のライセンスは「拒否」の登録が優先に指定され且つ利用者又はグループが一切登録されていない状態であって、この場合はすべての利用者がライセンスを取得する権利がある。
【０１０１】
このような利用者限定は各ユーザのライセンス管理者が管理する。例えばWebサーバから管理画面がライセンス管理者のクライアントの画面に表示される。管理画面の例を図１７に示す。同図において、まず利用を許可する対象を設定するのか拒否する対象を設定するのかをラジオボタン１２０、１２１で選択し、次に対象となるグループ又は利用者ＩＤをラジオボタン１２２、１２３で選択する。そして、プルダウンメニュー１２４、１２５で設定の対象を決定し、新規登録ボタン１２６を押すと設定される。キャンセルボタン１２７は、行った設定をキャンセルする場合に用いられる。新規登録ボタン１２６を押すとクライアント上の管理画面上に図１８のように表示される。更に同画面上で、許可登録したライセンスに対して「許可」を優先する設定とするために優先権項目１２８を設定変更入力する。以上に述べた設定情報はWebサーバなどを介してライセンス管理サーバ１０に渡され、利用者情報限定ＤＢ４５ｅに登録される。利用者情報限定ＤＢ４５ｅにおいて、項目「ライセンス番号」に続く項目「許可優先／拒否優先」には図１８の管理画面の優先権項目１２８に指定した情報が設定され、その後方に図１７の管理画面で指定したグループIDあるいは利用者IDが許可登録の場合は＋（プラス）符号と組み合わせて、また拒否登録の場合は−（マイナス）符号と組み合わせて設定される。尚、利用者情報限定ファイルのライセンス番号は「制約順位」を兼ねており、図１９においてライセンスの限定状況をライセンス番号順に一覧表示することは制約順位の順序で表示することでもある。従って、ライセンスの管理者は一覧表の順序でライセンスに利用者限定の設定をしていけば、概ね制約順位にしたがった利用者限定の管理をおこなうことができる。
【０１０２】
次に、図１９のフローチャートの説明をする。図１９は、図１６の処理のステップＳ２６の処理を示すフローチャートである。まず、ステップＳ４４０で、発行要求を発した利用者が利用許可されているライセンスの検索を行う。この処理は、利用者が属する全グループをグループ情報ＤＢ４５ｂから検索して取得し、次に利用者限定情報ＤＢ４５ｅを検索して該グループID又は利用者IDを含む利用者限定情報レコードを取得する。取得した各レコードについて「利用許可登録の有無」及び「利用拒否登録の有無」を判定し、両方の登録がある場合は更に「許可優先／拒否優先」項目を参照して利用許可があるか判定する。利用許可がある場合は対応するライセンス番号を記憶する。
【０１０３】
ステップＳ４４０の処理の結果、ライセンス番号が存在する場合は、ステップＳ４４１からステップＳ４４２へ進む。ステップＳ４４２で、そのライセンス番号で稼動状況情報ＤＢ４８を検索し、使用中か否かを判定する。他の利用者により、ライセンスが使用中であれば、ステップＳ４４２からステップＳ４４３に進み、使用中の利用者の利用許可をチェックする。そのチェックでは、使用中の利用者が属するグループをグループ情報ＤＢ４５ｂから取得し、使用中のライセンスの利用許可登録の有無を利用者限定情報ＤＢ４５ｅで判別する。そして、所属グループまたは利用者が利用許可登録されている場合は、ステップＳ４４３からステップＳ４４１に戻って次のライセンス番号に対して再び処理を行う。
【０１０４】
ステップＳ４４３で利用許可登録されていないと判断されると、ステップＳ４４４で使用中の利用者の稼動状況レコードを削除する。これによりそのライセンスが回収され、発行要求を発した利用者に割当て可能となる。このように利用可能なライセンスが見つかれば、そのライセンス番号を戻り値とする。
【０１０５】
ステップＳ４４０の処理に戻り、発行要求中の利用者が利用許可を有するライセンスが無かった場合、または利用許可を有する他の利用者が使用中であった場合は、ステップＳ４４１からステップＳ４４５へ進む。そしてステップＳ４４５では、現在使用されていないライセンスを捜す。これは例えば稼動状況情報ＤＢ４８に登録されているライセンス番号を調べてライセンス情報ファイルのライセンス数（ライセンス番号の範囲情報）と比較し、使用されていないライセンス番号を取得することにより可能である。この処理の結果、現在使用されていないライセンス番号がある場合は、ステップＳ４４７に進み、それぞれの番号について利用者限定情報ＤＢ４５ｅを検索する。そして、レコードがある場合は利用者の属するグループ、及び利用者自身の何れも利用拒否の登録がされてないかステップＳ４４７でチェックする。その結果、利用拒否登録されていない場合はステップＳ４４８から、ステップＳ４４９へ進み、「優先度の高い利用者が存在する」旨の警告メッセージを付加してライセンス番号を戻り値とする。利用拒否登録されている場合はステップＳ４４８から、ステップＳ４４６へ戻り、次の使用されていないライセンス番号に対して再び処理を行う。
【０１０６】
ステップＳ４４７で、現在使用されていないライセンス番号が利用者限定情報ＤＢ４５ａに登録されていない場合は、ライセンス番号を戻り値とする。
【０１０７】
ステップＳ４４６で空ライセンスが見つからなかった場合は呼び出し元に「ライセンス無し」を戻り値とする。
【０１０８】
尚、ステップＳ４４０の利用者限定情報ＤＢ４５ｅの検索においては全レコードのうちログインIDとパッケージが一致するレコードのみ選択し、且つ選択したレコードを「制約順位」の順に処理する。このように処理することにより、制約順位が高い、即ち利用者限定の条件が厳しいライセンスからチェックされ、空いていればライセンスが割当てられるので、全体としてライセンスの効果的利用が実現される。
【０１０９】
以上、第１から第３の実施の形態を説明したが、これらの形態を組み合わせて運用することにより、さらに柔軟に利用者の利用形態に応じたライセンスの管理をすることが可能となる。
【０１１０】
【発明の効果】
【０１１１】
以上説明したように、本発明によれば、アプリケーションの利用者の利用形態に応じて柔軟にライセンスの発行を行うことができる
【図面の簡単な説明】
【図１】  ライセンス管理の一例について説明する図である。
【図２】  通信異常時のライセンス管理の一例について説明する図である。
【図３】  本発明によるライセンス管理システムの一実施例の構成図である。
【図４】  本発明のライセンス管理サーバを実現するコンピュータシステムの一実施例の構成図である。
【図５】  ライセンス管理サーバの一実施例の構成図である。
【図６】  各種データベースの内容を表す図である。
【図７】  クライアントの一実施例の構成図である。
【図８】  予約画面を表す図である。
【図９】  予約表示画面を表す図である。
【図１０】  予約の運用例を説明する図である。
【図１１】  第１の実施の形態によるライセンス管理サーバの処理の一例のフローチャートである。
【図１２】  ライセンスの割り当て・保持・破棄の処理を表すフローチャートである。
【図１３】  ライセンスの割り当て処理を表すフローチャートである。
【図１４】  第２の実施の形態によるライセンス管理サーバの処理の一例のフローチャートである。
【図１５】  ライセンスの割り当て・保持・破棄の処理を表すフローチャートである。
【図１６】  第３の実施の形態によるライセンス管理サーバの処理の一例のフローチャートである。
【図１７】  利用者を設定する管理画面を表す図である。
【図１８】  限定するパッケージ利用者の管理画面を表す図である
【図１９】  ライセンスの割り当て・保持・破棄の処理を表すフローチャートである。
【図２０】  ログＤＢを表す図である。
【図２１】  ヘッダ部（その１）を表す図である。
【図２２】  ヘッダ部（その２）を表す図である。
【図２３】  結果通知部（その１）を表す図である。
【図２４】  結果通知部（その２）を表す図である。
【図２５】  結果通知部（その３）を表す図である。
【図２６】  グループ情報ＤＢを表す図である。
【図２７】  優先権情報ＤＢを表す図である。
【図２８】  利用者限定情報ＤＢを表す図である。
【符号の説明】
１    ライセンス管理システム
１０    ライセンス管理サーバ
１１，１１ａ〜１１ｎ    クライアント
１２    ネットワーク
２１，３１    入力装置
２２，３２    表示装置
２３，３３    ドライブ装置
２４，３４    記録媒体
２５，３５    補助記憶装置
２６，３６    メモリ装置
２７，３７    演算処理装置
２８，３８    インターフェース装置
２９    データベース（ＤＢ）
４０，５２    通信部
４１    ライセンス要求受付部
４２    ソフトウェア稼動管理部
４３    ライセンス情報記憶部
４４    稼動状況記憶部
４５    各種ＤＢ
４５ａ、５５    利用者情報ＤＢ
４５ｂ    グループ情報ＤＢ
４５ｃ    予約情報ＤＢ
４５ｄ    優先権情報ＤＢ
４５ｅ    利用者限定情報ＤＢ
４７    ライセンス情報ＤＢ
４８    稼動状況ＤＢ
４９    ログＤＢ
５０    認証情報ＤＢ
５３    稼動監視部
５４    アプリケーション
５６    端末情報
１００    予約画面
１０１    予約対象入力欄
１０２    利用者入力欄
１０３    連絡入力欄
１０４    日時入力欄
１０５    利用者ＩＤ入力欄
１０６    業務名入力欄
１０７    コメント入力欄
１０８    登録ボタン
１０９    削除ボタン
１１０    キャンセルボタン
１１１    予約表示画面
１１２    予約ボタン
１１３    前週ボタン
１１４    来週ボタン
１２０、１２１、１２２、１２３    ラジオボタン
１２４、１２５    プルダウンメニュー
１２６    新規登録ボタン
１２７    キャンセルボタン
１２８    優先権項目
Ｂ    バス
【図１】
0004011370.tif 000002
【図２】
0004011370.tif 000003
【図３】
0004011370.tif 000004
【図４】
0004011370.tif 000005
【図５】
0004011370.tif 000006
【図６】
0004011370.tif 000007
【図７】
0004011370.tif 000008
【図８】
0004011370.tif 000009
【図９】
0004011370.tif 000010
【図１０】
0004011370.tif 000011
【図１１】
0004011370.tif 000012
【図１２】
0004011370.tif 000013
【図１３】
0004011370.tif 000014
【図１４】
0004011370.tif 000015
【図１５】
0004011370.tif 000016
【図１６】
0004011370.tif 000017
【図１７】
0004011370.tif 000018
【図１８】
0004011370.tif 000019
【図１９】
0004011370.tif 000020
【図２０】
0004011370.tif 000021
【図２１】
0004011370.tif 000022
【図２２】
0004011370.tif 000023
【図２３】
0004011370.tif 000024
【図２４】
0004011370.tif 000025
【図２５】
0004011370.tif 000026
【図２６】
0004011370.tif 000027
【図２７】
0004011370.tif 000028
【図２８】
0004011370.tif 000029