説明

ライセンス管理システム、機能提供装置、ライセンス管理方法、及びライセンス管理プログラム

【課題】クライアントが、複数のサーバから提供される同種の機能を1つの接続ライセンスで利用できるようにする。
【解決手段】ライセンス管理システムでは、まず、クライアント300から接続要求を受信したアプリケーションサーバ200が、要求クライアント300が接続ライセンス割り当て済みのクライアント300か否かを判定し、接続ライセンス割り当て済みクライアント300でなければ、ライセンスサーバ100に対して、接続ライセンス割り当て判定要求を行う。その結果、ライセンスサーバ100が、要求クライアント300に接続ライセンスが割り当てられているか否かを判定し、判定結果をアプリケーションサーバ200へと応答する。これにより、アプリケーションサーバ200が、判定結果に基づき、要求クライアント300の接続許可を制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ機能を有する装置により、システム内における接続機器のライセンスを管理する技術に関するものである。
【背景技術】
【0002】
例えば、特許文献1には、サーバ内にライセンス管理テーブルを設けて、利用者ごとにサーバが有する各ソフトウェアの使用状況を管理することで、サーバが有するソフトウェアの使用ライセンスを統合的に管理する機能(サービス)を実現する技術が開示されている。
【0003】
特許文献1では、サーバ上のソフトウェアを、クライアントから使用する際にライセンスが用いられる例が示されているが、同様に、サーバ・クライアント型のシステムでは、クライアントからサーバに対して接続を行う際にライセンス(以下「接続ライセンス」と言う)を用いる場合がある。
【0004】
接続ライセンスの運用形態には、次のような形態がある。例えば、サーバが接続ライセンスを有し、サーバごとに接続可能なクライアント数を制御する形態や、クライアントが接続ライセンスを有し、サーバが、接続ライセンスを有するクライアントからの接続のみを許可する形態などである。
【0005】
従来のシステムでは、このような運用形態により、クライアントからの不正接続(不正ライセンスでの接続)を防止している。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の方法では、サーバが接続ライセンスを有する場合、複数のサーバに接続するクライアントに対して、1つの接続ライセンスを適用することができないという問題がある。例えば、大規模なシステムでは、システム内に複数のサーバが設置され、これらのサーバからクライアントに対して機能を提供する場合がある。このような場合、従来の方法では、クライアントに対して、サーバごとに接続ライセンスが割り当てられていた。つまり、クライアントは、複数のサーバから提供される機能を1つの接続ライセンスで利用できない。
【0007】
本発明は上記従来技術の問題点を鑑み提案されたものであり、クライアントが、複数のサーバから提供される機能を1つの接続ライセンスで利用可能なライセンス管理システム、機能提供装置、ライセンス管理方法、及びライセンス管理プログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明に係るライセンス管理システムは、接続される情報処理装置に対して機能提供を行う複数の機能提供装置と、前記情報処理装置から前記機能提供装置の機能利用を可能とする接続ライセンスを管理するライセンス管理装置とが、所定のデータ伝送路で接続されるライセンス管理システムであって、前記機能提供装置が、前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手段と、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段と、を有し、前記ライセンス管理装置が、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かを判定する接続ライセンス判定手段と、判定結果を前記機能提供装置へと送信する判定結果送信手段と、を有し、前記機能提供装置は、前記接続装置判定手段による判定結果又は前記判定結果送信手段により送信された判定結果に基づき、接続要求した情報処理装置の接続許可を制御することを特徴とする。
【0009】
このような構成によって、本発明に係るライセンス管理システムは、次のようなサーバ連携処理が実行される。まず、クライアントから接続要求を受信したアプリケーションサーバ(クライアントに対して機能を提供するサーバ装置)は、要求クライアントが接続ライセンス割り当て済みのクライアントか否かを判定する。アプリケーションサーバは、要求クライアントが接続ライセンス割り当て済みのクライアントでなければ、ライセンスサーバ(接続ライセンスを管理するサーバ装置)に対して、接続ライセンス割り当て判定要求を行う。その結果、ライセンスサーバは、要求クライアントに接続ライセンスが割り当てられているか否かを判定し、判定結果をアプリケーションサーバへと応答する。これにより、アプリケーションサーバは、判定結果に基づき、要求クライアントの接続許可を制御する。
【0010】
これによって、本発明に係るライセンス管理システムでは、クライアントに割り当てる接続ライセンスの管理処理が、機能提供装置とライセンス管理装置との間(サーバ間)で連携して実行される。その結果、クライアントは、複数のサーバから提供される機能を1つの接続ライセンスで利用することができる。
【0011】
上記目的を達成するため、本発明に係るライセンス管理方法は、接続される情報処理装置に対して機能提供を行う複数の機能提供装置と、前記情報処理装置から前記機能提供装置の機能利用を可能とする接続ライセンスを管理するライセンス管理装置とが、所定のデータ伝送路で接続されるライセンス管理システムにおけるライセンス管理方法であって、前記機能提供装置が、前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手順と、前記接続装置判定手順で、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段と、を有し、前記ライセンス管理装置が、前記機能提供装置からの判定要求に従って、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かを判定する接続ライセンス判定手順と、前記接続ライセンス判定手順による判定結果を前記機能提供装置へと送信する判定結果送信手順と、を有し、前記機能提供装置は、前記接続装置判定手順による判定結果、又は、前記ライセンス管理装置から、前記判定結果送信手順により送信された判定結果に基づき、接続要求した情報処理装置の接続許可を制御することを特徴とする。
【0012】
このような手順によって、本発明に係るライセンス管理方法は、クライアントから接続要求を受信したアプリケーションサーバ(クライアントに対して機能を提供するサーバ装置)が、要求クライアントが接続ライセンス割り当て済みのクライアントか否かを判定し、要求クライアントが接続ライセンス割り当て済みのクライアントでなければ、ライセンスサーバ(接続ライセンスを管理するサーバ装置)に対して、接続ライセンス割り当て判定要求を行い、ライセンスサーバが、要求クライアントに接続ライセンスが割り当てられているか否かを判定し、判定結果をアプリケーションサーバへと応答し、アプリケーションサーバが、判定結果に基づき、要求クライアントの接続許可を制御すると言う動作を実現する。
【0013】
これによって、本発明に係るライセンス管理方法では、クライアントが、複数のサーバから提供される機能を1つの接続ライセンスで利用可能な環境を提供できる。
【発明の効果】
【0014】
本発明によれば、クライアントに割り当てる接続ライセンスの管理処理を、機能提供装置とライセンス管理装置との間(サーバ間)で連携して実行することで、クライアントが、複数のサーバから提供される機能を1つの接続ライセンスで利用可能なライセンス管理システム、機能提供装置、ライセンス管理方法、及びライセンス管理プログラムを提供することができる。
【図面の簡単な説明】
【0015】
【図1】本発明の第1の実施形態に係るライセンス管理システムの構成例を示す図である。
【図2】本発明の第1の実施形態に係るライセンスサーバのハードウェア構成例を示す図である。
【図3】本発明の第1の実施形態に係るライセンス管理システムの機能構成例を示す図である。
【図4】本発明の第1の実施形態に係るライセンス関連情報(キャッシュ情報)のデータ例を示す図である。
【図5】本発明の第1の実施形態に係るライセンス管理情報のデータ例を示す図である。
【図6】本発明の第1の実施形態に係るクライアント接続時のライセンス管理処理手順例を示すフローチャートである。
【図7】本発明の第1の実施形態に係るライセンス管理における定期処理手順例(その1)を示すフローチャートである。
【図8】本発明の第1の実施形態に係るライセンス管理における定期処理手順例(その2)を示すフローチャートである。
【図9】本発明の第1の実施形態に係るライセンス管理の動作例(その1)を示す図である。
【図10】本発明の第1の実施形態に係るライセンス管理の動作例(その2)を示す図である。
【図11】本発明の第1の実施形態に係るライセンス管理の動作例(その3)を示す図である。
【図12】本発明の第1の実施形態に係るライセンス管理の動作例(その4)を示す図である。
【図13】本発明の第1の実施形態に係るライセンス管理の動作例(その5)を示す図である。
【図14】本発明の第1の実施形態に係るライセンス管理の動作例(その6)を示す図である。
【図15】サーバ間で通信障害が発生した場合のライセンス管理の動作例を示す図である。
【図16】アプリケーションサーバが故障した場合の動作例を示す図である。
【図17】本発明の第2の実施形態に係るライセンス管理システムの機能構成例を示す図である。
【図18】本発明の第2の実施形態に係るライセンス管理の動作例を示す図である。
【図19】本発明の変形例に係るライセンス管理の動作例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明の好適な実施の形態(以下「実施形態」と言う)について、図面を用いて詳細に説明する。
【0017】
[第1の実施形態]
<システム構成>
図1は、本実施形態に係るライセンス管理システム1の構成例を示す図である。
図1には、ライセンスサーバ100、複数のアプリケーションサーバ200〜200(以下総称する場合「アプリケーションサーバ200」と言う)、及び複数のクライアント300〜300(以下総称する場合「クライアント300」と言う)が、ネットワークなどのデータ伝送路N(例えば「LAN:Local Area Network」)で接続されるシステム構成例が示されている。
【0018】
ライセンスサーバ100は、クライアント300に対する接続ライセンスを一括管理するサーバ装置(ライセンス管理装置)である。ここで言う「接続ライセンス」とは、アプリケーションサーバ200がクライアント300に対する機能提供の許可/不許可を判断するために用いる認証情報である。よって、ライセンスサーバ100では、機能提供が許可されたクライアント300に対して、接続ライセンス(認証情報)を割り当てる(発行する)。また、アプリケーションサーバ200は、搭載アプリケーションの実行により、クライアント300に対して機能を提供するサーバ装置(機能提供装置)である。両サーバ100,200は、例えば、PC(Personal Computer)などの情報処理装置である。また、クライアント300は、アプリケーションサーバ200に接続し、機能の提供を受ける機器である。
【0019】
本実施形態では、アプリケーションサーバ200からクライアント300に対して提供される機能に、蓄積印刷機能(プルプリントサービス)を例に説明する。よって、クライアント300は、例えば、MFP(Multifunction Peripheral)などの画像処理装置とする。
【0020】
蓄積印刷機能は、アプリケーションサーバ200とクライアント300との間で、次のような連携処理が実行されることで実現される機能である。まず、クライアント300は、利用者からのジョブ実行要求(実行対象ジョブの指定を含む)を受信する。クライアント300は、要求に従って、印刷ジョブを蓄積しているアプリケーションサーバ200から、要求時に指定された印刷ジョブを取得する。これにより、クライアント300は、取得した印刷ジョブを実行する。
【0021】
また、本実施形態では、1台のクライアント300が、複数のアプリケーションサーバ200に接続可能である。つまり、本実施形態では、クライアント300が、複数のアプリケーションサーバ200から提供される機能を利用可能である。
【0022】
そこで、本実施形態に係るライセンス管理システム1では、ライセンスサーバ100を設けて、クライアント300に割り当てる接続ライセンスを一括管理し、ライセンスサーバ100と各アプリケーションサーバ200との間(サーバ間)で、接続ライセンスの管理処理を連携処理する。
【0023】
以上のように、本実施形態に係るライセンス管理システム1は、上記システム構成により、クライアント300が、複数のアプリケーションサーバ200から提供される機能を1つの接続ライセンスで利用可能な環境を提供することができる。
【0024】
なお、上記には、蓄積印刷機能を例に、本実施形態に係るライセンス管理システム1の動作について説明を行ったため、クライアント300を画像処理装置として説明を行ったが、この限りでない。アプリケーションサーバ200から機能の提供を受ける装置には、利用者端末などの情報処理装置などがある。
【0025】
<ハードウェア構成>
次に、本実施形態に係るライセンスサーバ100やアプリケーションサーバ200のハードウェア構成について説明する。なお、両サーバ100,200は、ともに同一構成の情報処理装置である。よって、以下には、ライセンスサーバ100を例に情報処理装置のハードウェア構成について説明する。
【0026】
図2は、本実施形態に係る情報処理装置のハードウェア構成例を示す図である。
図2に示すように、ライセンスサーバ100は、入力装置101、表示装置102、ドライブ装置103、RAM(Random Access Memory)104、ROM(Read Only Memory)105、CPU(Central Processing Unit)106、インタフェース装置107、及びHDD(Hard Disk Drive)108などを備え、それぞれがバスBで相互に接続されている。
【0027】
入力装置101は、キーボードやマウスなどを含み、ライセンスサーバ100に各操作信号を入力するのに用いられる。表示装置102は、ディスプレイなどを含み、ライセンスサーバ100による処理結果を表示する。
【0028】
インタフェース装置107は、ライセンスサーバ100をデータ伝送路Nに接続するインタフェースである。これにより、ライセンスサーバ100は、インタフェース装置107を介して、アプリケーションサーバ200やクライアント300とデータ通信を行うことができる。
【0029】
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、装置全体を制御する情報処理システム(例えば「Windows(商標又は登録商標)」や「UNIX(商標又は登録商標)」などの基本ソフトウェアであるOS(Operating System))、及びシステム上において各種機能(例えば「ジョブ管理機能」)を提供するアプリケーションなどがある。また、HDD108は、格納しているプログラムやデータを、所定のファイルシステム及び/又はDB(Data Base)により管理している。
【0030】
ドライブ装置103は、着脱可能な記録媒体103aとのインタフェースである。これにより、ライセンスサーバ100は、ドライブ装置103を介して、記録媒体103aの読み取り及び/又は書き込みを行うことができる。記録媒体103aには、例えば、フロッピー(商標又は登録商標)ディスク、CD(Compact Disk)、及びDVD(Digital Versatile Disk)、ならびに、SDメモリカード(SD Memory Card)やUSBメモリ(Universal Serial Bus Memory)などがある。
【0031】
ROM105は、電源を切っても内部データを保持することができる不揮発性の半導体メモリ(記憶装置)である。ROM105には、ライセンスサーバ100の起動時に実行されるBIOS(Basic Input/Output System)、情報処理システム設定、及びネットワーク設定などのプログラムやデータが格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。CPU106は、上記記憶装置(例えば「HDD」や「ROM」など)から、プログラムやデータをRAM上に読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する処理装置である。
【0032】
以上のように、本実施形態に係るライセンスサーバ100では、上記ハードウェア構成により、ライセンス管理機能を提供することができる。
【0033】
<ライセンス管理機能>
本実施形態に係るライセンス管理機能について説明する。
本実施形態に係るライセンス管理システム1では、次のようなサーバ連携処理が実行される。まず、クライアント300から接続要求を受信したアプリケーションサーバ200は、接続ライセンスが割り当てられたクライアント300に関する情報(接続ライセンスのキャッシュ情報)を参照し、要求クライアント300が、接続ライセンス割り当て済みのクライアント300か否かを判定する。アプリケーションサーバ200は、要求クライアント300が、接続ライセンス割り当て済みのクライアント300でなければ、ライセンスサーバ100に対して、接続ライセンス割り当て判定要求を行う。その結果、ライセンスサーバ100は、判定要求に従って、接続ライセンスを管理する管理情報を参照し、要求クライアント300に接続ライセンスが割り当てられているか否かを判定する。ライセンスサーバ100は、判定結果をアプリケーションサーバ200へと応答する。これにより、アプリケーションサーバ200は、判定結果に基づき、要求クライアント300の接続許可を制御する。本実施形態に係るライセンス管理システム1は、このようなライセンス管理機能を有している。
【0034】
従来の方法では、クライアント300に機能を提供するアプリケーションサーバ200が接続ライセンスを有する場合、複数のアプリケーションサーバ200に接続するクライアント300に対して、1つの接続ライセンスを適用することができない。
【0035】
例えば、大規模なシステムでは、システム内に複数のアプリケーションサーバ200が設置され、これらのアプリケーションサーバ200からクライアント300に対して機能を提供する場合がある。このような場合、従来の方法では、クライアント300に対して、アプリケーションサーバ200ごとに接続ライセンスが割り当てられていた。つまり、クライアント300は、複数のアプリケーションサーバ200から提供される機能を1つの接続ライセンスで利用できない。
【0036】
そこで、本実施形態に係るライセンス管理システム1では、クライアント300に割り当てる接続ライセンスの管理処理を、アプリケーションサーバ200とライセンスサーバ100との間(サーバ間)で連携して実行する仕組みとした。
【0037】
これにより、本実施形態に係るライセンス管理システム1では、クライアント300は、複数のアプリケーションサーバ200から提供される機能を1つの接続ライセンスで利用することができる。
【0038】
以下に、本実施形態に係るライセンス管理機能の構成とその動作について説明する。
図3は、本実施形態に係るライセンス管理システム1の機能構成例を示す図である。
図3に示すように、本実施形態に係るライセンス管理システム1の機能構成は、アプリケーションサーバ200が有する機能とライセンスサーバ100が有する機能に大別される。
【0039】
《アプリケーションサーバ》
アプリケーションサーバ200は、通信部21、情報管理部22、判定部23、定期処理制御部24、及びライセンス関連情報保持部31などを有している。
【0040】
通信部21は、システム1に接続される他の機器とデータ通信を行う機能部である。システム1に接続される他の機器とは、ライセンスサーバ100やクライアント300などである。通信部21は、例えば、予め設定しておいた通信対象機器のネットワーク設定情報(IPアドレス:Internet Protocol Address)に従って、インタフェース装置107を制御し、ライセンスサーバ100やクライアント300などとデータ通信を行う。
【0041】
上記データ通信には、例えば、ライセンスサーバ100への処理要求の送信(通知)やクライアント300からの接続要求の受信などがある。
【0042】
情報管理部22は、アプリケーションサーバ200に対して接続要求を行ったクライアント300のうち、接続ライセンスが割り当てられたクライアント300に関する情報(以下「ライセンス関連情報」と言う)を管理する機能部である。ライセンス関連情報は、ライセンス関連情報保持部31で保持される。なお、ライセンス関連情報保持部31は、例えば、アプリケーションサーバ200が備える記憶装置(RAM)の所定の記憶領域にあたる。
【0043】
情報管理部22は、他の機能部から受け付けたデータ操作要求に従って、ライセンス関連情報保持部31にアクセスし、要求された各種データ操作を行うことで、情報を管理する。各種データ操作には、例えば、データ設定(書き込み)、検索、取得、変更(更新)、削除(消去)などがある。
【0044】
ここで、ライセンス関連情報について説明する。
図4は、本実施形態に係るライセンス関連情報(キャッシュ情報)41Dのデータ例を示す図である。
図4に示すように、ライセンス関連情報41Dは、クライアント識別と接続記録との情報項目が対応づけられたデータである。
【0045】
[クライアント識別]項目は、クライアント300を識別する情報(以下「クライアント識別情報」と言う)が設定される情報項目である。項目値は、例えば、クライアント300にユニークに割り当てられた機器名やIPアドレスなどのデータである。[接続記録]項目は、クライアント300の接続記録(接続記録情報)が設定される情報項目である。項目値は、例えば、日時などのデータである。
【0046】
情報管理部22は、上記項目値の設定を、次のように行う。情報管理部22は、アプリケーションサーバ200に対して接続要求を行ったクライアント300のうち、接続ライセンスが割り当てられたクライアント300の機器名を[クライアント識別]項目に設定する。また、情報管理部22は、クライアント300が接続した最終日時を[接続記録]項目に設定する。このとき、情報管理部22は、要求クライアント300のクライアント識別情報に基づき、[クライアント識別]項目に対応づけて、[接続記録]項目に最終日時のデータを設定する。
【0047】
また、情報管理部22は、上記項目値の検索、取得、更新、又は削除を、次のように行う。情報管理部22は、要求クライアント300のクライアント識別情報に基づき、ライセンス関連情報31Dを参照し、該当データを検索、取得、更新、又は削除する。
【0048】
判定部23は、クライアント300に対する各種判定処理を行う機能部である。各種判定処理には、次のようなものがある。
判定部23は、通信部21を介して接続要求を受信したクライアント300(アプリケーションサーバに対して接続要求を行ったクライアント)が、接続ライセンス割り当て済みのクライアント300か否かを判定する。判定部23は、要求クライアント300のクライアント識別情報に基づき、情報管理部22を介して、ライセンス関連情報31Dを参照し、該当データを検索する。その結果、判定部23は、検索結果から該当データが確認されると(ライセンス関連情報内に該当データが存在すると)、要求クライアント300が、接続ライセンス割り当て済みのクライアント300であると判定する。この場合、判定部23は、通信部21を介して、要求クライアント300に対し、接続許可を送信(通知)する。また、判定部23は、接続許可された要求クライアント300のクライアント識別情報を情報管理部22に渡し、ライセンス関連情報31Dにおいて要求クライアント300に対応する接続記録情報の更新を要求する。
【0049】
一方、判定部23は、検索結果から該当データが確認されなければ(ライセンス関連情報内に該当データが存在しなければ)、要求クライアント300が、接続ライセンス割り当て済みのクライアント300でないと判定する。この場合、判定部23は、通信部21を介して、ライセンスサーバ100に対し、要求クライアント300の接続ライセンス割り当て判定要求を送信(通知)する。その結果、判定部23は、ライセンスサーバ100から応答された処理結果に基づき、ライセンスサーバ100において、要求クライアント300が、接続ライセンス割り当て済みのクライアント300か否か、又は、新規の接続ライセンスが割り当てられたクライアント300か否かを判定する。
【0050】
このとき、判定部23は、接続ライセンス割り当て済み又は新規の接続ライセンスが割り当てられたと判定されると、要求クライアント300のクライアント識別情報を情報管理部22に渡し、ライセンス関連情報31Dの更新を要求する。これにより、例えば、ライセンス関連情報31Dには、接続ライセンス割り当て済みを判定されたクライアント300の接続記録情報が更新される。また、ライセンス関連情報31Dには、新規の接続ライセンスが割り当てられたと判定されたクライアント300のクライアント識別情報及び接続記録情報が設定される。
【0051】
このように、本実施形態に係るアプリケーションサーバ200では、ライセンス関連情報31Dに要求クライアント300が設定されていなければ、ライセンスサーバ100に対して接続ライセンス割り当て済みの判定処理を要求し、応答された処理結果に基づき、ライセンス関連情報31Dに要求クライアント300を設定・登録する。また、アプリケーションサーバ200では、このようにして更新されたライセンス関連情報31Dに設定されたクライアント(登録クライアント)300のデータから、要求クライアント300の接続許可を発行する。つまり、ライセンス関連情報31Dは、ライセンスサーバ100で管理している接続ライセンスのキャッシュ情報の役割を有している。
【0052】
よって、本実施形態に係るライセンス管理システム1では、ライセンス関連情報(キャッシュ情報)31Dに要求クライアント300が設定されていない場合を除き、アプリケーションサーバ200が、クライアント300からの接続要求を受ける度に、ライセンスサーバ100に問い合わせを行わなくて済む。これにより、本実施形態では、接続要求受信時における通信負荷の軽減や接続処理時間の短縮を実現できる。
【0053】
また、判定部23は、後述する定期処理制御部24からの判定要求に従って、ライセンス関連情報(キャッシュ情報)31Dに設定されたクライアント300(登録クライアント:キャッシュされたクライアント)のうち、一定期間、接続されていないクライアント300を判定する。判定部23は、情報管理部22を介して、ライセンス関連情報(キャッシュ情報)31Dを参照し、接続記録情報を取得する。判定部23は、取得した接続記録情報の日時データ、予め設定しておいた一定期間を示す期間情報、及び現在日時に基づき、接続された最終日時が一定期間を超過しているか否かを確認する。その結果、判定部23は、期間超過が確認されると(ライセンス関連情報内に該当データが存在すると)、接続記録情報に対応づけられたクライアント識別情報から、該当クライアント300を特定し、特定したクライアント300を、一定期間、接続されていないクライアント300として判定する。
【0054】
一方、判定部23は、期間超過が確認されなければ(ライセンス関連情報内に該当データが存在しなければ)、ライセンス関連情報(キャッシュ情報)31Dに設定されたクライアント(登録クライアント)300に、一定期間、接続されていないクライアント300は存在しないと判定する。
【0055】
なお、判定部23は、上記判定結果を、要求元の定期処理制御部24に応答する。
【0056】
定期処理制御部24は、ライセンス関連情報(キャッシュ情報)31Dの管理処理を定期的に行う機能部である。定期処理制御部24は、ライセンス関連情報(キャッシュ情報)31Dの管理処理が定期的に実行されるように制御する。管理処理には、次のようなものがある。
【0057】
定期処理制御部24は、上述したように、判定部23に対して、ライセンス関連情報(キャッシュ情報)31Dにおいて、一定期間接続されていないクライアント300の判定を要求する。その結果、定期処理制御部24は、判定部23から応答された判定結果に基づき、該当クライアント300のクライアント識別情報を情報管理部22に渡し、ライセンス関連情報(キャッシュ情報)31Dの更新を要求する。これにより、例えば、ライセンス関連情報(キャッシュ情報)31Dからは、一定期間、接続されていないクライアント300の設定データが削除される。
【0058】
また、定期処理制御部24は、情報管理部22を介して取得したライセンス関連情報(キャッシュ情報)31Dをライセンスサーバ100に送信し、ライセンスサーバ100が有する接続ライセンスを管理する管理情報(以下「ライセンス管理情報」と言う)との照合を要求する。その結果、定期処理制御部24は、ライセンスサーバ100から応答された処理結果に基づき、ライセンスサーバ100において、クライアント300の管理情報の更新に失敗したか否か、又は、クライアント300の接続ライセンス新規割り当てに失敗したか否かを判定する。
【0059】
このとき、定期処理制御部24は、管理情報の更新に失敗又は接続ライセンスの新規割り当てに失敗したと判定されると、該当クライアント300のクライアント識別情報を情報管理部22に渡し、ライセンス関連情報(キャッシュ情報)31Dの更新を要求する。これにより、例えば、ライセンス関連情報(キャッシュ情報)31Dからは、管理情報の更新に失敗又は接続ライセンスの新規割り当てに失敗したクライアント300の設定データが削除される。
【0060】
このように、本実施形態に係るライセンス管理システム1では、アプリケーションサーバ200か有するライセンス関連情報(キャッシュ情報)31Dと、ライセンスサーバ100が有する接続ライセンスを管理する管理情報(以下「ライセンス管理情報」と言う)との整合処理が行われる。
【0061】
《ライセンスサーバ》
ライセンスサーバ100は、通信部41、情報管理部42、判定部43、定期処理制御部44、及びライセンス管理情報保持部51などを有している。
【0062】
通信部41は、アプリケーションサーバ200とデータ通信を行う機能部である。通信部41は、例えば、予め設定しておいたアプリケーションサーバ200のネットワーク設定情報(IPアドレス)に従って、インタフェース装置107を制御し、アプリケーションサーバ200とデータ通信を行う。
【0063】
上記データ通信には、例えば、アプリケーションサーバ200からの処理要求の受信や処理結果の送信(応答)などがある。
【0064】
情報管理部42は、上記ライセンス管理情報を管理する機能部である。ライセンス管理情報は、ライセンス管理情報保持部51で保持される。なお、ライセンス管理情報保持部51は、例えば、ライセンスサーバ100が備える記憶装置(HDD)の所定の記憶領域にあたる。
【0065】
情報管理部42は、他の機能部から受け付けたデータ操作要求に従って、ライセンス管理情報保持部51にアクセスし、要求された各種データ操作を行うことで、情報を管理する。各種データ操作には、例えば、データ設定(書き込み)、検索、取得、変更(更新)、削除(消去)などがある。
【0066】
ここで、ライセンス管理情報について説明する。
図5は、本実施形態に係るライセンス管理情報51Dのデータ例を示す図である。
図5に示すように、ライセンス管理情報51Dは、ライセンス識別、クライアント識別、及び照合記録の情報項目が対応づけられたデータである。
【0067】
[ライセンス識別]項目は、接続ライセンスを識別する情報(以下「ライセンス識別情報」と言う)が設定される情報項目である。項目値は、例えば、接続ライセンスにユニークに割り当てられたIDなどのデータである。[クライアント識別]項目は、クライアント300のクライアント識別情報が設定される情報項目である。項目値は、例えば、接続ライセンスが割り当てられたクライアント300の機器名やIPアドレスなどのデータである。[照合記録]項目は、クライアント300に対応するライセンス関連情報(キャッシュ情報)31Dとの照合記録(照合記録情報)が設定される情報項目である。項目値は、例えば、ライセンス関連情報(キャッシュ情報)31Dとの照合処理の実行日時などのデータである。
【0068】
このように、ライセンス管理情報51Dでは、各情報項目の対応付けにより、接続ライセンスと、割り当てられたクライアント300とが管理される。
【0069】
情報管理部42は、上記[ライセンス識別]項目の項目値の設定を、次のように行う。情報管理部42は、予め用意された接続ライセンスのIDを[ライセンス識別]項目に設定する。よって、本実施形態に係るライセンス管理システム1では、設定されたライセンス識別情報の数が、クライアント300への割り当て上限値(クライアントに対して接続を許可する許可数の上限値)となる。
【0070】
また、情報管理部42は、上記[クライアント識別]項目及び上記[接続記録]項目の項目値の検索、取得、更新、又は削除を、次のように行う。情報管理部42は、アプリケーションサーバ200からの処理要求時に受信した情報に含まれるクライアント識別情報に基づき、ライセンス管理情報51Dを参照し、該当データを検索、取得、更新、又は削除する。
【0071】
判定部43は、アプリケーションサーバ200からの処理要求に従って、クライアント300に対する各種判定処理を行う機能部である。各種判定処理には、次のようなものがある。
判定部43は、アプリケーションサーバ200から、要求クライアント300の接続ライセンス割り当て判定要求を受信すると、要求クライアント300に接続ライセンスが割り当てられているか否かを判定する。判定部43は、要求クライアント300のクライアント識別情報に基づき、情報管理部42を介して、ライセンス管理情報51Dを参照し、該当データを検索する。その結果、判定部43は、検索結果から該当データが確認されると(ライセンス管理情報内に該当データが存在すると)、要求クライアント300に接続ライセンスが割り当てられている(割り当て済みである)と判定する。
【0072】
一方、判定部43は、検索結果から該当データが確認されなければ(ライセンス管理情報内に該当データが存在しなければ)、要求クライアント300に接続ライセンスが割り当てられていないと判定する。このとき、判定部43は、ライセンス管理情報51Dを参照し、クライアント300に割り当てられていない接続ライセンス(以下「余剰ライセンス」と言う)が存在するか否かを判定する。その結果、判定部43は、余剰ライセンスの存在が確認されると、要求クライアント300のクライアント識別情報を情報管理部42に渡し、余剰ライセンスのライセンス識別情報とクライアント識別情報とを対応づけたライセンス管理情報51Dの更新を要求する。これにより、要求クライアント300には、新規の接続ライセンスが割り当てられる。
【0073】
判定部43は、通信部41を介して、処理要求元のアプリケーションサーバ200に対し、上記判定処理の結果(割り当て済み/新規割り当て成功/失敗)を送信(応答)する。
【0074】
また、判定部43は、アプリケーションサーバ200から、ライセンス関連情報(キャッシュ情報)31Dの照合要求を受信すると、受信したライセンス関連情報(キャッシュ情報)31Dに設定されたクライアント(登録クライアント)300が、ライセンス管理情報内にエントリ(登録)されているか否かを判定する。判定部43は、ライセンス関連情報(キャッシュ情報)31Dのクライアント識別情報に基づき、情報管理部42を介して、ライセンス管理情報51Dを参照し、該当データを検索する。その結果、判定部43は、検索結果から該当データが確認されると(ライセンス管理情報内に該当データが存在すると)、ライセンス関連情報(キャッシュ情報)31Dに設定されたクライアント(登録クライアント)300が、既にエントリされているクライアント300であると判定する。この場合、判定部43は、ライセンス関連情報(キャッシュ情報)31Dのクライアント識別情報を情報管理部42に渡し、ライセンス関連情報(キャッシュ情報)31Dにおいて既にエントリされているクライアント300に対応する照合記録情報の更新を要求する。これにより、例えば、ライセンス管理情報51Dには、既にエントリされているクライアント300の照合記録情報が設定され、エントリされているクライアント300のライセンス管理情報51Dが最新の状態に更新される。
【0075】
一方、判定部43は、検索結果から該当データが確認されなければ(ライセンス管理情報内に該当データが存在しなければ)、ライセンス関連情報(キャッシュ情報)31Dに設定されたクライアント(登録クライアント)300が、エントリされていないクライアント300であると判定する。
【0076】
このときも、判定部43は、ライセンス管理情報51Dを参照し、余剰ライセンスが存在するか否かを判定する。その結果、判定部43は、余剰ライセンスの存在が確認されると、エントリされていないクライアント300のクライアント識別情報を情報管理部42に渡し、ライセンス管理情報51Dの更新を要求する。これにより、例えば、ライセンス管理情報51Dには、エントリされていないクライアント300のクライアント識別情報に、余剰ライセンスのライセンス識別情報が対応づけて設定され、エントリされていないクライアント300に、新規の接続ライセンスが割り当てられ、ライセンス管理情報51Dにエントリ(登録)される。
【0077】
判定部43は、通信部41を介して、処理要求元のアプリケーションサーバ200に対し、上記照合処理の結果(管理情報更新成功/失敗/新規割り当て成功/失敗)を送信(応答)する。
【0078】
このように、本実施形態に係るライセンス管理システム1では、アプリケーションサーバ200か有するライセンス関連情報(キャッシュ情報)31Dと、ライセンスサーバ100が有するライセンス管理情報51Dとの整合処理が行われる。
【0079】
また、判定部43は、後述する定期処理制御部44からの判定要求に従って、ライセンス管理情報51Dにエントリされているクライアント300のうち、アプリケーションサーバ200から照合要求時に受信したライセンス関連情報(キャッシュ情報)31Dに基づき、一定期間、データ照合されていないクライアント300を判定する。判定部43は、情報管理部42を介して、ライセンス管理情報51Dを参照し、照合記録情報を取得する。判定部43は、取得した照合記録情報の日時データ、予め設定しておいた一定期間を示す期間情報、及び現在日時に基づき、照合された最終日時が一定期間を超過しているか否かを確認する。その結果、判定部43は、期間超過が確認されると(ライセンス管理情報内に該当データが存在すると)、照合記録情報に対応づけられたクライアント識別情報から、該当クライアント300を特定し、特定したクライアント300を、一定期間、データ照合されていないクライアント300として判定する。
【0080】
一方、判定部43は、期間超過が確認されなければ(ライセンス管理情報内に該当データが存在しなければ)、ライセンス管理情報51Dに設定されたクライアント(登録クライアント)300に、一定期間、データ照合されていないクライアント300は存在しないと判定する。
【0081】
なお、判定部43は、上記判定結果を、要求元の定期処理制御部44に応答する。
【0082】
定期処理制御部44は、ライセンス管理情報51Dの管理処理を定期的に行う機能部である。定期処理制御部44は、ライセンス管理情報51Dの管理処理が定期的に実行されるように制御する。管理処理には、次のようなものがある。
【0083】
定期処理制御部44は、上述したように、判定部43に対して、ライセンス管理情報51Dにおいて、一定期間、データ照合されていないクライアント300の判定を要求する。その結果、定期処理制御部44は、判定部43から応答された判定結果に基づき、該当クライアント300のクライアント識別情報を情報管理部42に渡し、ライセンス管理情報51Dの更新を要求する。これにより、例えば、ライセンス管理情報51Dからは、一定期間、データ照合されていないクライアント300の設定データ([クライアント識別]項目及び[照合記録]項目の項目値)が削除され、クライアント300に割り当てられた接続ライセンスが、クライアント300に対応するライセンス関連情報(キャッシュ情報)31Dの照合履歴に応じて開放される。
【0084】
以上のように、本実施形態に係るライセンス管理機能は、上記各機能部が連携動作することにより実現される。なお、本実施形態に係るライセンス管理機能は、システム1を構成する各機器に搭載(インストール)されるプログラム(ライセンス管理機能を実現するソフトウェア)が、処理装置(例えば「CPU」)により、記憶装置(例えば「HDD」や「ROM」など)からメモリ(RAM)上に読み出され、各機器において、以下の処理が実行されることで実現される。
【0085】
本実施形態に係るライセンス管理機能の詳細な動作(機能部群の連携動作)について、処理手順を示すフローチャートを用いて説明する。
【0086】
《クライアント接続時の主な処理》
図6は、本実施形態に係るクライアント接続時のライセンス管理処理手順例を示すフローチャートである。(A)には、アプリケーションサーバ200の処理手順例が示されており、(B)には、アプリケーションサーバ200の処理に対応して実行されるライセンスサーバ100の処理手順例が示されている。
【0087】
図6(A)に示すように、アプリケーションサーバ200は、通信部21を介して、クライアント300から接続要求を受信と(ステップS101:YES)、情報管理部22を介して、情報保持部31にアクセスし、ライセンス関連情報(キャッシュ情報)31Dを参照する(ステップS102)。
【0088】
アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300か否かを判定する(ステップS103)。このとき、判定部23は、接続要求時に受信した要求クライアント300のクライアント識別情報に基づき、ライセンス関連情報31Dを検索し、該当データの有無確認から、上記判定を行う。
【0089】
アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300であると判定されると(ステップS103:YES)、情報管理部22により、要求クライアント300に対応するライセンス関連情報31Dを更新する(ステップS107)。このとき、判定部23は、要求クライアント300のクライアント識別情報を情報管理部22に渡し、更新要求する。その結果、情報管理部22は、ライセンス関連情報31Dの該当クライアント識別情報に対応する接続記録情報を更新する(接続記録情報を現在日時で更新する)。
【0090】
これにより、アプリケーションサーバ200では、既に接続ライセンスが割り当てられている要求クライアント300のキャッシュ情報が更新される。
【0091】
その後、アプリケーションサーバ200は、通信部21を介して、要求クライアント300に対し、接続許可を通知する(ステップS108)。
【0092】
一方、アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300でないと判定されると(ステップS103:NO)、通信部21を介して、ライセンスサーバ100に対し、要求クライアント300に対する接続ライセンスの割り当て状況を問い合わせる(ステップS104)。このとき、判定部23は、通信部21を介して、ライセンスサーバ100に対し、要求クライアント300の接続ライセンス割り当て判定要求を送信する。
【0093】
これにより、ライセンスサーバ100では、図6(B)に示すような処理が実行される。
ライセンスサーバ100は、通信部41を介して、アプリケーションサーバ200から判定要求を受信と(ステップS201:YES)、情報管理部42を介して、情報保持部51にアクセスし、ライセンス管理情報51Dを参照する(ステップS202)。
【0094】
ライセンスサーバ100は、判定部43により、要求クライアント300に接続ライセンスが割り当てられているか否かを判定する(ステップS203)。このとき、判定部43は、判定要求時に受信した要求クライアント300のクライアント識別情報に基づき、ライセンス管理情報51Dを検索し、該当データの有無確認から、上記判定を行う。
【0095】
ライセンスサーバ100は、判定部43により、要求クライアント300に接続ライセンスが割り当てられていると判定されると(ステップS203:YES)、通信部41を介して、アプリケーションサーバ200に対し、判定部43の処理結果(割り当て済みの判定結果)を送信する(ステップS206)。
【0096】
一方、ライセンスサーバ100は、判定部43により、要求クライアント300に接続ライセンスが割り当てられていないと判定されると(ステップS203:NO)、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在するか否かを判定する(ステップS204)。このとき、判定部43は、ライセンス管理情報51Dを参照し、クライアント300に割り当てられていない接続ライセンスの存在確認から、上記判定を行う。
【0097】
ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在すると判定されると(ステップS204:YES)、情報管理部42により、余剰ライセンスに対応するライセンス管理情報51Dを更新し、要求クライアント300に、新規の接続ライセンスを割り当てる(ステップS205)。このとき、判定部43は、要求クライアント300のクライアント識別情報を情報管理部42に渡し、更新要求する。その結果、情報管理部42は、ライセンス管理情報51Dの該当ライセンス識別情報にクライアント識別情報を対応づけて設定し、ライセンス管理情報51Dを更新する。
【0098】
その後、ライセンスサーバ100は、通信部41を介して、アプリケーションサーバ200に対し、情報管理部42の処理結果(新規割り当て成功の処理結果)を送信する(ステップS206)。
【0099】
また、ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在しないと判定されると(ステップS204:NO)、通信部41を介して、アプリケーションサーバ200に対し、情報管理部42の処理結果(新規割り当て失敗の処理結果)を送信する(ステップS206)。
【0100】
これにより、アプリケーションサーバ200では、要求クライアント300に対する接続ライセンスの割り当て状況を、ライセンスサーバ100に問い合わせると、上記処理結果を受信する(ステップS105:YES)。
【0101】
図6(A)の説明に戻る。その後、アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300か、又は、要求クライアント300に新規の接続ライセンスの割り当てに成功したか否かを判定する(ステップS106)。このとき、判定部23は、ライセンスサーバ100から応答された処理結果に基づき、上記判定を行う。
【0102】
アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300である、又は、要求クライアント300に新規の接続ライセンスの割り当てに成功したと判定されると(ステップS106:YES)、情報管理部22により、要求クライアント300に対応するライセンス関連情報31Dを更新する(ステップS107)。このとき、判定部23は、要求クライアント300のクライアント識別情報を情報管理部22に渡し、更新要求する。その結果、情報管理部22は、ライセンス関連情報31Dにクライアント識別情報及び接続記録情報(現在日時)を対応づけて設定し、ライセンス関連情報31Dを更新する。
【0103】
これにより、アプリケーションサーバ200には、新規接続ライセンスが割り当てられた要求クライアント300のキャッシュ情報が設定・登録される。また、アプリケーションサーバ200には、既に接続ライセンスが割り当てられている要求クライアント300のキャッシュ情報が再設定・登録される。
【0104】
その後、アプリケーションサーバ200は、通信部21を介して、要求クライアント300に対し、接続許可を通知する(ステップS108)。
【0105】
一方、アプリケーションサーバ200は、判定部23により、要求クライアント300が接続ライセンス割り当て済みのクライアント300でない、又は、要求クライアント300に新規の接続ライセンスの割り当てに失敗したと判定されると(ステップS106:NO)、通信部21を介して、要求クライアント300に対し、接続不許可(接続拒否)を通知する(ステップS109)。
【0106】
アプリケーションサーバ200は、上記処理を終えると、再びステップS101の処理に移行し、クライアント300の接続要求待ち(ステップS101:NO)となる。
【0107】
《アプリケーションサーバの定期処理》
図7は、本実施形態に係るライセンス管理における定期処理手順例(その1)を示すフローチャートである。(A)には、アプリケーションサーバ200の処理手順例が示されており、(B)には、アプリケーションサーバ200の処理に対応して実行されるライセンスサーバ100の処理手順例が示されている。
【0108】
図7(A)に示すように、アプリケーションサーバ200は、定期処理制御部24からの処理要求に応じて、情報管理部22が、情報保持部31にアクセスし、ライセンス関連情報31Dの接続記録情報を参照する(ステップS301)。
【0109】
アプリケーションサーバ200は、判定部23により、ライセンス関連情報31Dに設定されたクライアント(登録クライアント)300のうち、一定期間接続されていないクライアント300が存在するか否かを判定する(ステップS302)。このとき、判定部23は、参照した接続記録情報の日時データ、予め設定しておいた一定期間を示す期間情報、及び現在日時に基づく、接続日時の一定期間超過の確認結果から、上記判定を行う。
【0110】
アプリケーションサーバ200は、判定部23により、ライセンス関連情報31Dに設定されたクライアント(登録クライアント)300のうち、一定期間接続されていないクライアント300が存在すると判定されると(ステップS302:YES)、定期処理制御部24により、情報管理部22を介して、該当クライアント300に対応するライセンス関連情報31Dを削除する(ステップS303)。このとき、定期処理制御部24は、該当クライアント300のクライアント識別情報を情報管理部22に渡し、削除要求する。その結果、情報管理部22は、ライセンス関連情報31Dのクライアント識別情報及び接続記録情報を削除する。
【0111】
これにより、アプリケーションサーバ200では、一定期間、接続されていない登録クライアント300のキャッシュ情報が削除される。
【0112】
一方、アプリケーションサーバ200は、判定部23により、ライセンス関連情報31Dに設定されたクライアント(登録クライアント)300のうち、一定期間接続されていないクライアント300が存在しないと判定された場合(ステップS302:NO)、上記ステップS303に示す削除処理を行わない。
【0113】
なお、上記ステップS302の判定処理は、ライセンス関連情報31Dに設定されたクライアント(登録クライアント)300それぞれに対して行われる。
【0114】
その後、アプリケーションサーバ200は、定期処理制御部24により、通信部21を介して、ライセンスサーバ100に対し、ライセンス関連情報31Dを送信する(ステップS304)。このとき、定期処理制御部24は、通信部21を介して、ライセンスサーバ100に対し、最新のライセンス関連情報31Dの照合要求を送信する。
【0115】
これにより、ライセンスサーバ100では、図7(B)に示すような処理が実行される。
ライセンスサーバ100は、通信部41を介して、アプリケーションサーバ200からライセンス関連情報31Dを受信すると(ステップS401:YES)、情報管理部42を介して、情報保持部51にアクセスし、ライセンス管理情報51Dを参照する(ステップS402)。
【0116】
ライセンスサーバ100は、判定部43により、受信したライセンス関連情報31Dに設定されたクライアント(登録クライアント)300が、ライセンス管理情報51Dにエントリ(登録)されているか否かを判定する(ステップS403)。このとき、判定部43は、照合要求時に受信したライセンス関連情報31Dのクライアント識別情報に基づき、ライセンス管理情報51Dを検索し、該当データの有無確認から、上記判定を行う。
【0117】
ライセンスサーバ100は、判定部43により、受信したライセンス関連情報31Dに設定されたクライアント(登録クライアント)300が、ライセンス管理情報51Dにエントリされていると判定されると(ステップS403:YES)、情報管理部42により、該当クライアント300に対応するライセンス管理情報51Dを更新する(ステップS404)。このとき、判定部43は、ライセンス関連情報31Dに設定された該当クライアント300のクライアント識別情報を情報管理部42に渡し、更新要求する。その結果、情報管理部42は、ライセンス管理情報51Dの該当クライアント識別情報に対応する照合記録情報を更新する(照合記録情報を現在日時で更新する)。
【0118】
その後、ライセンスサーバ100は、通信部41を介して、アプリケーションサーバ200に対し、情報管理部42の処理結果(照合記録更新の処理結果)を送信する(ステップS407)。
【0119】
一方、ライセンスサーバ100は、判定部43により、受信したライセンス関連情報31Dに設定されたクライアント(登録クライアント)300が、ライセンス管理情報51Dにエントリされていないと判定されると(ステップS403:NO)、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在するか否かを判定する(ステップS405)。このとき、判定部43は、ライセンス管理情報51Dを参照し、クライアント300に割り当てられていない接続ライセンスの存在確認から、上記判定を行う。
【0120】
ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在すると判定されると(ステップS405:YES)、情報管理部42により、余剰ライセンスに対応するライセンス管理情報51Dを更新し、該当クライアント300に、新規の接続ライセンスを割り当てる(ステップS406)。このとき、判定部43は、要求クライアント300のクライアント識別情報を情報管理部42に渡し、更新要求する。その結果、情報管理部42は、ライセンス管理情報51Dの該当ライセンス識別情報にクライアント識別情報を対応づけて設定し、ライセンス管理情報51Dを更新する。このとき、情報管理部42は、クライアント識別情報を対応づけて照合記録情報(現在日時)も設定する。
【0121】
その後、ライセンスサーバ100は、通信部41を介して、アプリケーションサーバ200に対し、情報管理部42の処理結果(新規割り当て成功の処理結果)を送信する(ステップS407)。
【0122】
また、ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定された接続ライセンス(登録ライセンス)のうち、余剰ライセンスが存在しないと判定されると(ステップS405:NO)、通信部41を介して、アプリケーションサーバ200に対し、情報管理部42の処理結果(新規割り当て失敗の処理結果)を送信する(ステップS407)。
【0123】
これにより、アプリケーションサーバ200では、最新のライセンス関連情報31Dを、ライセンスサーバ100に送信すると、上記処理結果を受信する(ステップS305:YES)。
【0124】
図7(A)の説明に戻る。その後、アプリケーションサーバ200は、判定部23により、照合記録の更新に失敗したか、又は、新規の接続ライセンスの割り当てに失敗したか否かを判定する(ステップS306)。このとき、判定部23は、ライセンスサーバ100から応答された処理結果に基づき、上記判定を行う。
【0125】
アプリケーションサーバ200は、判定部23により、照合記録の更新に失敗した、又は、新規の接続ライセンスの割り当てに失敗したと判定されると(ステップS306:YES)、定期処理制御部24により、情報管理部22を介して、該当クライアント300に対応するライセンス関連情報31Dを削除する(ステップS307)。このとき、定期処理制御部24は、該当クライアント300のクライアント識別情報を情報管理部22に渡し、削除要求する。その結果、情報管理部22は、ライセンス関連情報31Dのクライアント識別情報及び接続記録情報を削除する。
【0126】
これにより、アプリケーションサーバ200では、照合記録更新に失敗した登録クライアント300のキャッシュ情報が削除される。また、アプリケーションサーバ200では、新規接続ライセンスの割り当てに失敗した登録クライアント300のキャッシュ情報が削除される。
【0127】
一方、アプリケーションサーバ200は、判定部23により、照合記録の更新に成功した、又は、新規の接続ライセンスの割り当てに成功したと判定された場合(ステップS306:NO)、上記ステップS307に示す削除処理を行わない。
【0128】
アプリケーションサーバ200は、上記処理を定期的に実行することで、ライセンスサーバ100が有するライセンス管理情報51Dとライセンス関連情報31Dとを整合させる。なお、図7(A)に示す定期処理は、アプリケーションサーバ200が、クライアント300が設定されたライセンス関連情報31Dを保持している場合に実行される処理である。
【0129】
《ライセンスサーバの定期処理》
図8は、本実施形態に係るライセンス管理における定期処理手順例(その2)を示すフローチャートである。図8には、ライセンスサーバ100単独で実行される定期処理手順例が示されている。
【0130】
図8に示すように、ライセンスサーバ100は、定期処理制御部44からの処理要求に応じて、情報管理部42が、情報保持部51にアクセスし、ライセンス管理情報51Dの照合記録情報を参照する(ステップS501)。
【0131】
ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定されたクライアント(登録クライアント)300のうち、アプリケーションサーバ200から照合要求時に受信したライセンス関連情報31Dに基づき、一定期間、データ照合されていないクライアント300が存在するか否かを判定する(ステップS502)。このとき、判定部43は、参照した照合記録情報の日時データ、予め設定しておいた一定期間を示す期間情報、及び現在日時に基づく、照合日時の一定期間超過の確認結果から、上記判定を行う。
【0132】
ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定されたクライアント(登録クライアント)300のうち、一定期間、データ照合されていないクライアント300が存在すると判定されると(ステップS502:YES)、定期処理制御部44により、情報管理部42を介して、該当クライアント300に対応するライセンス管理情報51Dを削除し、該当クライアント300に割り当てた接続ライセンスを開放する(ステップS503)。このとき、定期処理制御部44は、該当クライアント300のクライアント識別情報を情報管理部42に渡し、削除要求する。その結果、情報管理部42は、ライセンス管理情報51Dの該当ライセンス識別情報に対応づけて設定されたクライアント識別情報及び照合記録情報を削除する。
【0133】
これにより、ライセンスサーバ100では、自身が有するライセンス管理情報51Dと、アプリケーションサーバ200が有するライセンス関連情報(キャッシュ情報)31Dとが、一定期間、データ照合されていない登録クライアント300に割り当てられていた接続ライセンスが開放される。
【0134】
一方、ライセンスサーバ100は、判定部43により、ライセンス管理情報51Dに設定されたクライアント(登録クライアント)300のうち、一定期間、データ照合されていないクライアント300が存在しないと判定された場合(ステップS502:NO)、上記ステップS503に示す削除処理を行わない。
【0135】
なお、上記ステップS502の判定処理は、ライセンス管理情報51Dに設定されたクライアント(登録クライアント)300それぞれに対して行われる。
【0136】
ここからは、上記処理手順により実現される、本実施形態に係るライセンス管理システム1の動作について、6つの例を挙げて説明する。
【0137】
《動作例1》
図9は、本実施形態に係るライセンス管理の動作例(その1)を示す図である。図9には、アプリケーションサーバ(1)200に、接続ライセンスが割り当てられていないクライアント(A)300が接続要求したときの動作例が示されている。
【0138】
図9に示すように、クライアント(A)300がアプリケーションサーバ(1)200に接続要求を行うと[1]、アプリケーションサーバ(1)200は、ライセンス関連情報31Dを参照し、クライアント(A)300が登録されていないことを確認する。次に、アプリケーションサーバ(1)200は、ライセンスサーバ100に対して、接続ライセンスの割り当て判定を要求する[2]。
【0139】
ライセンスサーバ100は、ライセンス管理情報51Dを参照し、クライアント(A)300に接続ライセンスが割り当てられていないことを確認する。次に、ライセンスサーバ100は、ライセンス管理情報51Dに基づく余剰ライセンスの確認を行い、クライアント(A)300に対し、余剰している新規接続ライセンスを割り当て、ライセンス管理情報51Dを更新する[3]。
【0140】
その後、アプリケーションサーバ(1)200は、ライセンスサーバ100から処理結果(新規接続ライセンスの割り当て成功)が応答されると[4]、処理結果に基づき、新規接続ライセンスが割り当てられたクライアント(A)300をライセンス関連情報31Dに登録し、情報更新する[5]。
【0141】
これにより、アプリケーションサーバ(1)200からは、クライアント(A)300に対して、接続許可が通知される。
【0142】
このようにして、本実施形態に係るライセンス管理システム1では、新規クライアント300の接続が許可される。
【0143】
《動作例2》
図10は、本実施形態に係るライセンス管理の動作例(その2)を示す図である。図10には、ライセンスサーバ100で、クライアント(A)300の接続ライセンスが管理されている場合に、アプリケーションサーバ(1)200に、接続ライセンスが割り当てられたクライアント(A)300が接続要求したときの動作例が示されている。
【0144】
図10に示すように、クライアント(A)300がアプリケーションサーバ(1)200に接続要求を行うと[1]、アプリケーションサーバ(1)200は、ライセンス関連情報31Dを参照し、クライアント(A)300が登録されていることを確認する。
【0145】
これにより、アプリケーションサーバ(1)200からは、クライアント(A)300に対して、接続許可が通知される。
【0146】
このようにして、本実施形態に係るライセンス管理システム1では、登録クライアント300の接続が許可される。また、ライセンス管理システム1では、既にクライアント(A)300がアプリケーションサーバ200に登録(キャッシュ)されているため、ライセンスサーバ100に対して、接続ライセンス割り当て判定要求を行わない。これにより、ライセンス管理システム1では、接続時の処理時間が短縮される。
【0147】
《動作例3》
図11は、本実施形態に係るライセンス管理の動作例(その3)を示す図である。図11には、ライセンスサーバ100で、クライアント(A)300の接続ライセンスが管理されている場合に、アプリケーションサーバ(2)200に、接続ライセンスが割り当てられているクライアント(A)300が接続要求したときの動作例が示されている。
【0148】
図11に示すように、クライアント(A)300がアプリケーションサーバ(2)200に接続要求を行うと[1]、アプリケーションサーバ(2)200は、ライセンス関連情報31Dを参照し、クライアント(A)300が登録されていないことを確認する。次に、アプリケーションサーバ(2)200は、ライセンスサーバ100に対して、接続ライセンスの割り当て判定を要求する[2]。
【0149】
ライセンスサーバ100は、ライセンス管理情報51Dを参照し、クライアント(A)300に接続ライセンスが割り当てられていることを確認する。
【0150】
その後、アプリケーションサーバ(2)200は、ライセンスサーバ100から処理結果(接続ライセンスが割り当て済み)が応答されると[3]、処理結果に基づき、既に接続ライセンスが割り当てられたクライアント(A)300をライセンス関連情報31Dに登録し、情報更新する[4]。
【0151】
これにより、アプリケーションサーバ(2)200からは、クライアント(A)300に対して、接続許可が通知される。
【0152】
このようにして、本実施形態に係るライセンス管理システム1では、クライアント300の接続先が変更(アプリケーションサーバ200の接続が変更)されても、1つの接続ライセンスに従って、要求クライアント300の接続が許可される。
【0153】
《動作例4》
図12は、本実施形態に係るライセンス管理の動作例(その4)を示す図である。図12には、ライセンスサーバ100で、クライアント(A)300,クライアント(B)300,クライアント(D)300の接続ライセンスが管理されており、余剰ライセンスがない場合に、アプリケーションサーバ(1)200に、接続ライセンスが割り当てられていないクライアント(D)300が接続要求したときの動作例が示されている。
【0154】
図12に示すように、クライアント(D)300がアプリケーションサーバ(1)200に接続要求を行うと[1]、アプリケーションサーバ(1)200は、ライセンス関連情報31Dを参照し、クライアント(D)300が登録されていないことを確認する。次に、アプリケーションサーバ(1)200は、ライセンスサーバ100に対して、接続ライセンスの割り当て判定を要求する[2]。
【0155】
ライセンスサーバ100は、ライセンス管理情報51Dを参照し、クライアント(D)300に接続ライセンスが割り当てられていないことを確認する。次に、ライセンスサーバ100は、ライセンス管理情報51Dに基づく余剰ライセンスの確認を行い、クライアント(D)300に対して割り当てられる余剰ライセンスが存在しないことを確認する。
【0156】
その後、アプリケーションサーバ(1)200は、ライセンスサーバ100から処理結果(新規接続ライセンスの割り当て失敗)が応答されると[3]、処理結果に基づき、クライアント(D)300に対して、接続不許可を通知する。
【0157】
このようにして、本実施形態に係るライセンス管理システム1では、新規クライアント300の接続時に余剰ライセンスがないと、接続が許可されない(接続拒否される)。
【0158】
《動作例5》
図13は、本実施形態に係るライセンス管理の動作例(その5)を示す図である。図13には、アプリケーションサーバ(1)200に登録されたクライアント(B)300が、一定期間、接続されていない場合に、定期処理を行ったときの動作例が示されている。
【0159】
図13に示すように、アプリケーションサーバ(1)200は、定期処理において、ライセンス関連情報31Dを参照し、接続記録情報から、クライアント(B)300が、一定期間、接続されていないことを確認する。アプリケーションサーバ(1)200は、確認結果(一定期間接続なし)に基づき、クライアント(B)300に対応するライセンス関連情報31D(該当データ)を削除し、情報更新する[1]。その後、アプリケーションサーバ(1)200は、更新後のライセンス関連情報31Dを送信し、ライセンスサーバ100に対して、データ照合を要求する[2]。
【0160】
その結果、ライセンスサーバ100は、ライセンス管理情報51Dを参照し、ライセンス関連情報31Dに設定されたクライアント300(クライアント(B)を含まない登録クライアント)の照合記録情報を更新する。
【0161】
その後、ライセンスサーバ100は、定期処理において、ライセンス管理情報51Dを参照し、照合記録情報から、クライアント(B)300が、一定期間、データ照合されていないことを確認する。ライセンスサーバ100は、確認結果(一定期間照合なし)に基づき、クライアント(B)300に対応するライセンス管理情報51D(該当データ)を削除し、情報更新する[3]。
【0162】
このようにして、本実施形態に係るライセンス管理システム1では、アプリケーションサーバ200が有するライセンス関連情報(キャッシュ情報)31Dと、ライセンスサーバ100が有するライセンス管理情報51Dとが、一定期間、データ照合されていない登録クライアント300に割り当てられた接続ライセンスが開放される(余剰ライセンスとなる)。
【0163】
《動作例6》
図14は、本実施形態に係るライセンス管理の動作例(その6)を示す図である。図14には、アプリケーションサーバ(1)200,アプリケーションサーバ(2)200に登録されたクライアント(B)300が、アプリケーションサーバ(1)200に、一定期間、接続されていない場合に、アプリケーションサーバ(1)200,アプリケーションサーバ(2)200が定期処理を行ったときの動作例が示されている。
【0164】
図14に示すように、アプリケーションサーバ(1)200は、定期処理において、ライセンス関連情報31Dを参照し、接続記録情報から、クライアント(B)300が、一定期間、接続されていないことを確認する。アプリケーションサーバ(1)200は、確認結果(一定期間接続なし)に基づき、クライアント(B)300に対応するライセンス関連情報31D(該当データ)を削除し、情報更新する[1]。その後、アプリケーションサーバ(1)200は、更新後のライセンス関連情報31Dを送信し、ライセンスサーバ100に対して、データ照合を要求する[2−1]。
【0165】
その結果、ライセンスサーバ100は、ライセンス管理情報51Dを参照し、ライセンス関連情報31Dに設定されたクライアント300(クライアント(B)を含まない登録クライアント)の照合記録情報を更新する。
【0166】
一方、アプリケーションサーバ(2)200は、定期処理において、ライセンス関連情報31Dを参照し、接続記録情報から、クライアント(B)300が接続されていることを確認する。そのため、アプリケーションサーバ(2)200では、クライアント(B)300に対応するライセンス関連情報31D(該当データ)が削除されない。その後、アプリケーションサーバ(2)200は、遅延なくライセンス関連情報31Dを送信し、ライセンスサーバ100に対して、データ照合を要求する[2−2]。
【0167】
その結果、ライセンスサーバ100は、ライセンス管理情報51Dを参照し、ライセンス関連情報31Dに設定されたクライアント300(クライアント(B)を含む登録クライアント全て)の照合記録情報を更新する。
【0168】
これにより、ライセンスサーバ100では、アプリケーションサーバ(1)200に対して、一定期間、接続されていないクライアント(B)300であっても、割り当てられた接続ライセンスを開放しない。
【0169】
このようにして、本実施形態に係るライセンス管理システム1では、複数のアプリケーションサーバ200において、あるアプリケーションサーバ200に一定期間接続されていないクライアント300であっても、接続している他のアプリケーションサーバ200からライセンスサーバ100に対し、遅延なく照合要求が通知されれば、当該クライアント300に接続ライセンスが割り当てられた状態で管理される。
【0170】
<まとめ>
以上のように、本実施形態に係るライセンス管理システム1によれば、次のようなサーバ連携処理が実行される。
【0171】
まず、クライアント300から接続要求を受信したアプリケーションサーバ200は、判定部23が、情報管理部22を介して、ライセンス関連情報(キャッシュ情報)31Dを参照し、要求クライアント300が、接続ライセンス割り当て済みのクライアント300か否かを判定する。アプリケーションサーバ200は、要求クライアント300が、接続ライセンス割り当て済みのクライアント300でなければ、通信部21を介して、ライセンスサーバ100に対し、接続ライセンス割り当て判定要求を行う。
【0172】
その結果、ライセンスサーバ100は、判定要求に従って、判定部43が、情報管理部42を介して、ライセンス管理情報51Dを参照し、要求クライアント300に接続ライセンスが割り当てられているか否かを判定する。ライセンスサーバ100は、通信部41を介して、判定結果をアプリケーションサーバ200へと応答する。
【0173】
これにより、アプリケーションサーバ200は、判定結果に基づき、要求クライアント300の接続許可を制御する。
【0174】
また、本実施形態に係るライセンス管理システム1によれば、アプリケーションサーバ200が有するライセンス関連情報31Dと、ライセンスサーバ100が有するライセンス管理情報51Dとの整合処理が定期的に行われる。
【0175】
これによって、本実施形態に係るライセンス管理システム1では、クライアント300に割り当てる接続ライセンスの管理処理が、アプリケーションサーバ200とライセンスサーバ100との間(サーバ間)で連携して実行される。その結果、本実施形態では、クライアント300は、複数のサーバ200から提供される機能を1つの接続ライセンスで利用することができる。
【0176】
[第2の実施形態]
本実施形態では、アプリケーションサーバの故障やサーバ間の通信障害に対応して、ライセンス管理情報の更新を行い、接続ライセンスを一括管理するシステム構成について説明する。なお、以降では、第1の実施形態と同じ事項について、同一参照符号を付し、その説明を省略する。
【0177】
《動作例1》
図15は、サーバ間で通信障害が発生した場合のライセンス管理の動作例を示す図である。図15には、第1の実施形態において、図14に示した動作例の中で、アプリケーションサーバ(2)200からライセンスサーバ100に対して、サーバ間の通信障害により照合要求が遅延して通知された場合に、アプリケーションサーバ(1)200に、接続ライセンスが割り当てられていないクライアント(D)300が接続要求したときの動作例が示されている。
【0178】
図15に示すように、アプリケーションサーバ(1)200は、定期処理において、ライセンス関連情報31Dを参照し、接続記録情報から、クライアント(B)300が、一定期間、接続されていないことを確認する。アプリケーションサーバ(1)200は、確認結果(一定期間接続なし)に基づき、クライアント(B)300に対応するライセンス関連情報31D(該当データ)を削除し、情報更新する[1]。その後、アプリケーションサーバ(1)200は、更新後のライセンス関連情報31Dを送信し、ライセンスサーバ100に対して、データ照合を要求する[2]。
【0179】
その結果、ライセンスサーバ100は、ライセンス管理情報51Dを参照し、ライセンス関連情報31Dに設定されたクライアント300(クライアント(B)を含まない登録クライアント)の照合記録情報を更新する。
【0180】
一方、アプリケーションサーバ(2)200は、定期処理において、ライセンス関連情報31Dを参照し、接続記録情報から、クライアント(B)300が接続されていることを確認する。そのため、アプリケーションサーバ(2)200では、クライアント(B)300に対応するライセンス関連情報31D(該当データ)が削除されない。
【0181】
しかし、アプリケーションサーバ(2)200は、何らかの原因で、ライセンスサーバ100に対する照合要求の通知が遅延する(ライセンス関連情報が送信されない)。
【0182】
その間に、ライセンスサーバ100では、定期処理が行われる。ライセンスサーバ100は、定期処理において、ライセンス管理情報51Dを参照し、照合記録情報から、クライアント(B)300が、一定期間、データ照合されていないことを確認する。ライセンスサーバ100は、確認結果(一定期間照合なし)に基づき、クライアント(B)300に対応するライセンス管理情報51D(該当データ)を削除し、情報更新する[3]。つまり、ライセンスサーバ100では、クライアント(B)300に割り当てられた接続ライセンスが開放される(余剰ライセンスとなる)。
【0183】
また、その間に、クライアント(D)300がアプリケーションサーバ(1)200に接続要求を行うと[4]、アプリケーションサーバ(1)200は、ライセンス関連情報31Dを参照し、クライアント(D)300が登録されていないことを確認する。次に、アプリケーションサーバ(1)200は、ライセンスサーバ100に対して、接続ライセンスの割り当て判定を要求する[5]。
【0184】
ライセンスサーバ100は、ライセンス管理情報51Dを参照し、クライアント(D)300に接続ライセンスが割り当てられていないことを確認する。次に、ライセンスサーバ100は、ライセンス管理情報51Dに基づく余剰ライセンスの確認を行い、クライアント(D)300に対し、開放された接続ライセンス(余剰ライセンス)を割り当て、ライセンス管理情報51Dを更新する[6]。
【0185】
その後、アプリケーションサーバ(1)200は、ライセンスサーバ100から処理結果(新規接続ライセンスの割り当て成功)が応答されると[7]、処理結果に基づき、新規接続ライセンスが割り当てられたクライアント(D)300をライセンス関連情報31Dに登録し、情報更新する[8]。
【0186】
これにより、アプリケーションサーバ(1)200からは、クライアント(D)300に対して、接続許可が通知される。
【0187】
一方、アプリケーションサーバ(2)200において、遅延の原因(通信障害)が解消され、ライセンスサーバ100に対して、照合要求が通知されると(ライセンス関連情報が送信されると)[9]、ライセンスサーバ100は、ライセンス管理情報51Dを参照し、ライセンス関連情報31Dに設定されたクライアント300(クライアント(B)を含む登録クライアント全て)の照合記録情報を更新する。しかし、ライセンスサーバ100は、クライアント(B)300に対応する照合記録情報の更新に失敗する。
【0188】
その結果、アプリケーションサーバ(2)200は、ライセンスサーバ100から処理結果(照合記録の更新失敗)が応答されると[10]、処理結果に基づき、クライアント(B)300に対応するライセンス関連情報31D(該当データ)を削除し、情報更新する[11]。
【0189】
これにより、アプリケーションサーバ(2)200からは、クライアント(B)300に対して、接続不許可が通知される。
【0190】
また、データ照合の要求通知が遅延する原因には、サーバ間の通信障害以外にも、アプリケーションサーバ200のハードウェア/ソフトウェア故障が考えられる。
【0191】
《動作例2》
図16は、アプリケーションサーバ200が故障した場合のライセンス管理の動作例を示す図である。図16には、3台のアプリケーションサーバ(1)200,(2)200,(3)200のうち、アプリケーションサーバ(3)200が故障している場合の動作例が示されている。
【0192】
図16に示すように、3台のアプリケーションサーバ(1)200,(2)200,(3)200が有する各ライセンス関連情報(キャッシュ情報)31Dには、クライアント(A)〜(E)が設定されている。
【0193】
このとき、アプリケーションサーバ(3)200が故障しているとすると、アプリケーションサーバ(3)200からは、ライセンスサーバ100に対して、データ照合の要求が通知されない。つまり、アプリケーションサーバ(3)200では、クライアント(C),(D),(E)が設定されたライセンス関連情報31Dが送信されない。
【0194】
その結果、ライセンスサーバ100では、正常動作中のアプリケーションサーバ(1)200,(2)200から照合要求時に受信するライセンス関連情報31Dに設定されていないクライアント(E)のみ、ライセンス管理情報51Dとデータ照合が行われないことになる。その結果、ライセンス管理情報51Dでは、クライアント(E)に対応する照合記録情報が更新されない。
【0195】
これにより、ライセンスサーバ100では、定期処理において、照合記録情報が更新されていないクライアント(E)に対応するライセンス管理情報51D(該当データ)が削除され、クライアント(E)に割り当てられていた接続ライセンスが開放されることになる。
【0196】
上記動作例1,2に示すように、アプリケーションサーバ200の故障やサーバ間の通信障害などを考慮して、ライセンス管理情報51Dの更新を行わないライセンス管理システム1では、クライアント300がアプリケーションサーバ200に接続している状態であっても、ライセンスサーバ100において、割り当てられている接続ライセンスが開放され、該当クライアント300の接続が拒否されることになる。
【0197】
そこで、本実施形態に係るライセンスサーバ100では、アプリケーションサーバ200との通信やデータ照合などの処理結果を記録する機能を有する仕組みとした。
【0198】
これにより、本実施形態に係るライセンス管理システム1では、ライセンスサーバ100が、アプリケーションサーバ200との通信状態に応じて、接続ライセンスの開放を行う。その結果、ライセンス管理システム1では、アプリケーションサーバ200に接続しているクライアント300が、サーバ故障や通信障害に起因して、接続ライセンスが開放され、接続が拒否される現象を防ぐことができる。
【0199】
<ライセンス管理機能>
図17は、本実施形態に係るライセンス管理システム1の機能構成例を示す図である。また、図18は、本実施形態に係るライセンス管理の動作例を示す図である。
図17に示すように、本実施形態において、第1の実施形態と異なる構成は、ライセンスサーバ100が、結果情報保持部61を有している点である。
【0200】
結果情報保持部61は、例えば、ライセンスサーバ100が備える記憶装置(RAM)の所定の記憶領域にあたり、図18に示すような結果情報61Dを保持する。
【0201】
結果情報61Dは、通信結果及び照合結果などの情報項目が含まれる。[通信結果]項目は、アプリケーションサーバ200との通信結果を示す情報(以下「通信結果情報」と言う)が記録される項目であり、項目値には、アプリケーションサーバ200からのライセンス関連情報31Dの受信結果などがある。[照合結果]項目は、ライセンス関連情報31Dとライセンス管理情報51Dとの照合結果を示す情報(以下「照合結果情報」と言う)が記録される項目であり、ライセンス関連情報31Dに設定されたクライアントごとのライセンス管理情報51Dのエントリ(登録)確認結果などがある。
【0202】
図17の説明に戻る。接続ライセンスの開放は、定期処理制御部44により行われる。定期処理制御部44は、定期的に、ライセンス管理情報保持部51にアクセスし、判定部43を介して、ライセンス管理情報51Dの照合記録情報が、一定期間内に更新されているか否かの判定結果を得る。定期処理制御部44は、判定結果から、一定期間内に更新されていない照合記録情報が確認されると、情報管理部42を介して、照合記録情報が更新されていないクライアント300に対応するライセンス管理情報51D(該当データ)を削除する。これにより、アプリケーションサーバ200からデータ照合されていない接続ライセンスが開放される。
【0203】
そこで、本実施形態に係る定期処理制御部44では、定期処理において、結果情報保持部61にアクセスし、結果情報61Dに基づき、情報管理部42によるライセンス管理情報51Dの更新(該当データの削除)を行う。
【0204】
本実施形態に係るライセンスサーバ100では、アプリケーションサーバ200から照合要求時のライセンス関連情報31Dの受信結果が、通信部41により、結果情報61Dの通信結果情報として記録される。また、ライセンスサーバ100では、ライセンス関連情報31Dとライセンス管理情報51Dとのデータ照合結果が、判定部43により、結果情報61Dの照合結果情報として記録される。
【0205】
定期処理制御部44は、このようにして記録された結果情報61Dに基づき、システム内の全てのアプリケーションサーバ200からライセンス関連情報31Dを受信し、ライセンス関連情報31Dとライセンス管理情報51Dとのデータ照合を行ったかを確認する。つまり、定期処理制御部44では、システム内の全てのアプリケーションサーバ200が有するライセンス関連情報31Dとライセンス管理情報51Dとのデータ照合を、ライセンス管理情報51Dの更新条件としている。よって、定期処理制御部44は、更新条件が満たされなければ、照合記録情報が更新されていないクライアント300に対応するライセンス管理情報51D(該当データ)の削除を行わない。
【0206】
以下に、本実施形態に係るライセンス管理システム1におけるライセンス管理情報51Dの更新動作例について、図18を用いて説明する。図18には、3台のアプリケーションサーバ(1)200,(2)200,(3)200のうち、アプリケーションサーバ(3)200が故障している場合の動作例が示されている。
【0207】
このような場合、ライセンスサーバ100では、通信部41により、アプリケーションサーバ(1)200,(2)200からライセンス関連情報31Dを受信した旨、及びアプリケーションサーバ(3)200からライセンス関連情報31Dを受信していない旨が、結果情報61Dの通信結果情報として記録される。また、ライセンスサーバ100では、判定部43により、アプリケーションサーバ(1)200,(2)200から受信したライセンス関連情報31Dに設定されたクライアント(A),(B),(C),(D)のデータ照合結果が、結果情報61Dの照合結果情報として記録される。このとき、ライセンスサーバ100では、ライセンス関連情報31Dを受信したアプリケーションサーバ(1)200,(2)200に設定されたクライアント(A),(B),(C),(D)に対応するライセンス管理情報51Dの照合記録情報が更新される。
【0208】
ライセンスサーバ100では、このように記録された結果情報61Dに基づき、定期処理制御部44による定期処理が行われる。ライセンスサーバ100では、アプリケーションサーバ(3)200が有するライセンス関連情報31Dとライセンス管理情報51Dとのデータ照合が行われていないことから、クライアント(E)に対応するライセンス管理情報51Dの照合記録情報が一定期間内に更新されていなくても、該当データの削除を行わない。
【0209】
<変形例>
また、上記ライセンス管理システム1では、アプリケーションサーバ200との通信不可状態の経過時間に応じて、ライセンスサーバ100の定期処理により、照合記録情報が更新されていないクライアント300に対応するライセンス管理情報51D(該当データ)を削除するようにしてもよい。
【0210】
図19は、本実施形態の変形例に係るライセンス管理の動作例を示す図である。
本変形例に係るライセンスサーバ100は、定期処理制御部44により、システム内のアプリケーションサーバ200のうち、通信不可状態であるアプリケーションサーバ200の回復状態(原因が解消された状態)を確認する。その結果、ライセンスサーバ100は、予め設定しておいた期間内に、アプリケーションサーバ200の通信不可状態の回復が確認されなければ、ライセンス管理情報51Dの更新を行う。
【0211】
定期処理制御部44は、結果情報61Dの通信結果情報に基づき、ライセンス関連情報31Dが受信されていないアプリケーションサーバ(3)200(通信不可状態のアプリケーションサーバ)を特定する。定期処理制御部44は、特定したアプリケーションサーバ(3)200に対し、通信部41を介して、所定の情報取得コマンドを発行・送信し、ライセンス関連情報31Dの取得を一定期間試みる。定期処理制御部44は、その間、アプリケーションサーバ(3)200からライセンス関連情報31Dが取得できなければ、ライセンス管理情報51Dの照合記録情報が、一定期間内に更新されているか否かを確認し、照合記録情報が更新されていないクライアント(E)に対応するライセンス管理情報51D(該当データ)の削除する。これにより、アプリケーションサーバ(3)200からデータ照合されていない接続ライセンスが開放される。
【0212】
<まとめ>
以上のように、本実施形態に係るライセンス管理システム1によれば、クライアント300に割り当てる接続ライセンスの管理処理が、アプリケーションサーバ200とライセンスサーバ100との間(サーバ間)で連携して実行される。また、ライセンス管理システム1によれば、ライセンスサーバ100が、アプリケーションサーバ200との通信やデータ照合などの処理結果を記録する機能を有し、アプリケーションサーバ200との通信状態に応じて、接続ライセンスの開放を行う。
【0213】
これによって、本実施形態に係るライセンス管理システム1では、第1の実施形態と同様の効果を奏するとともに、アプリケーションサーバ200の故障やサーバ間の通信障害が発生しても、ライセンスサーバ100において、接続ライセンスの管理を適切に行うことができる。
【0214】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る「ライセンス管理機能」は、図を用いて説明を行った各処理手順を、動作環境(プラットフォーム)にあったプログラミング言語でコード化したプログラムが、システム1を構成する各機器(アプリケーション管理装置やライセンス管理装置など)の処理装置(例えば「CPU」)により実行されることで実現される。
【0215】
例えば、ライセンスサーバ100の場合、上記プログラムは、コンピュータが読み取り可能な記録媒体103aに格納することができる。これにより、例えば、上記プログラムは、ドライブ装置103を介して、ライセンスサーバ100にインストールすることができる。また、ライセンスサーバ100は、インタフェース装置107を備えていることから、電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【0216】
なお、アプリケーションサーバ200も、同様のハードウェア構成であることから、上述した方法により、上記プログラムをインストールすることができる。
【0217】
また、上記実施形態では、ライセンスサーバ100が、アプリケーションサーバ200からライセンス関連情報31Dを受信すると、受信したライセンス関連情報31Dとライセンス管理情報51Dとのデータ照合を行い、ライセンス管理情報51Dにエントリ(登録)されたクライアント300に対応する照合記録情報を更新する処理例を示したが、この限りでない。例えば、ライセンスサーバ100は、定期処理において、データ照合、照合結果に基づく照合記録情報の更新、及び照合記録情報の更新有無確認などを行うようにしてもよい。この場合、ライセンスサーバ100では、定期処理前に、アプリケーションサーバ200から、複数回に渡りライセンス関連情報31Dを取得しても、最新のライセンス関連情報31Dに基づき、ライセンス管理情報51Dとのデータ照合を行うことになる。
【0218】
また、上記実施形態では、アプリケーションサーバ200が、接続要求したクライアント300が接続ライセンス割り当て済みのクライアント300か否かを判断する処理例(クライアント単位で接続ライセンスを管理する動作例)について説明を行ったが、この限りでない。例えば、クライアント300を利用する利用者のアカウント単位で接続ライセンスを管理するようにしてもよい。
【0219】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0220】
1 ライセンス管理システム
21,41 通信部
22,42 情報管理部
23,43 判定部
24,44 定期処理制御部
31 ライセンス関連情報保持部(D:ライセンス関連情報(キャッシュ情報))
51 ライセンス管理情報保持部(D:ライセンス管理情報)
61 結果情報保持部(D:結果情報)
100 ライセンスサーバ(ライセンス管理装置:情報処理装置)
101 入力装置
102 表示装置
103 ドライブ装置(a:記録媒体)
104 RAM(揮発性の半導体メモリ)
105 ROM(不揮発性の半導体メモリ)
106 CPU(中央処理装置)
107 インタフェース装置(NIC:Network I/F Card)
108 HDD(不揮発性の記憶装置)
200 アプリケーションサーバ(機能提供装置:情報処理装置)
300 クライアント(画像処理装置及び/又は情報処理装置)
B バス
N データ伝送路(ネットワーク)
【先行技術文献】
【特許文献】
【0221】
【特許文献1】特開2006−146740号公報

【特許請求の範囲】
【請求項1】
接続される情報処理装置に対して機能提供を行う複数の機能提供装置と、前記情報処理装置から前記機能提供装置の機能利用を可能とする接続ライセンスを管理するライセンス管理装置とが、所定のデータ伝送路で接続されるライセンス管理システムであって、
前記機能提供装置が、
前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手段と、
接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段と、を有し、
前記ライセンス管理装置が、
接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かを判定する接続ライセンス判定手段と、
判定結果を前記機能提供装置へと送信する判定結果送信手段と、を有し、
前記機能提供装置は、
前記接続装置判定手段による判定結果又は前記判定結果送信手段により送信された判定結果に基づき、接続要求した情報処理装置の接続許可を制御することを特徴とするライセンス管理システム。
【請求項2】
前記機能提供装置が、
接続ライセンス割り当て済みの情報処理装置を識別する機器識別情報と、前記情報処理装置の接続日時を示す接続記録情報とが対応づけて設定されたライセンス関連情報を、所定の記憶領域に保持するライセンス関連情報保持手段を有し、
前記接続装置判定手段は、
前記ライセンス関連情報保持手段に保持されるライセンス関連情報を参照し、接続要求した情報処理装置の機器識別情報の設定有無に基づき、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定することを特徴とする請求項1に記載のライセンス管理システム。
【請求項3】
前記ライセンス管理装置が、
前記接続ライセンスを識別するライセンス識別情報と前記機器識別情報とが対応づけて設定されたライセンス管理情報を、所定の記憶領域に保持するライセンス管理情報保持手段を有し、
前記接続ライセンス判定手段は、
前記ライセンス管理情報保持手段に保持されるライセンス管理情報を参照し、前記機能提供装置から、前記判定要求送信手段により送信された機器識別情報の設定有無に基づき、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かを判定することを特徴とする請求項2に記載のライセンス管理システム。
【請求項4】
前記ライセンス管理装置は、
前記接続ライセンス判定手段が、接続要求した情報処理装置に前記接続ライセンスが割り当てられていると判定した場合、
前記判定結果送信手段が、前記判定結果を前記機能提供装置へと送信することを特徴とする請求項1ないし3のいずれか一項に記載のライセンス管理システム。
【請求項5】
前記ライセンス管理装置が、
前記情報処理装置に割り当てられていない余剰ライセンスの存在有無を確認する余剰ライセンス確認手段と、
前記余剰ライセンスの割り当て結果を前記機能提供装置へと送信する割り当て結果送信手段と、を有し、
前記ライセンス管理装置は、
前記接続ライセンス判定手段が、接続要求した情報処理装置に前記接続ライセンスが割り当てられていないと判定した場合、
前記余剰ライセンス確認手段が、前記ライセンス管理情報保持手段に保持されるライセンス管理情報を参照し、前記ライセンス識別情報に基づき、接続要求した情報処理装置に割り当てる前記余剰ライセンスの有無を確認し、
前記割り当て結果送信手段が、確認結果に基づく前記余剰ライセンスの割り当て結果を前記機能提供装置へと送信することを特徴とする請求項3又は4に記載のライセンス管理システム。
【請求項6】
前記ライセンス管理装置は、
前記余剰ライセンス判定手段が、前記余剰ライセンスの存在を確認した場合、
前記機能提供装置から、前記判定要求送信手段により送信された前記機器識別情報と前記余剰ライセンスのライセンス識別情報とを対応づけて、前記ライセンス管理情報に設定し、情報を更新することを特徴とする請求項5に記載のライセンス管理システム。
【請求項7】
前記機能提供装置は、
前記接続装置判定手段が、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置であると判定した場合、
前記ライセンス関連情報の接続記録情報を更新し、接続要求した情報処理装置に対して、接続許可を通知することを特徴とする請求項2ないし6のいずれか一項に記載のライセンス管理システム。
【請求項8】
前記機能提供装置は、
前記ライセンス管理装置から、前記判定結果送信手段により、接続要求した情報処理装置に前記接続ライセンスが割り当てられている旨の結果が送信された場合、又は、
前記ライセンス管理装置から、前記割り当て結果送信手段により、接続要求した情報処理装置に前記余剰ライセンスが割り当てられた旨の結果が送信された場合、
前記ライセンス関連情報に、接続要求した情報処理装置の機器識別情報及び接続記録情報を設定し、接続要求した情報処理装置に対して、接続許可を通知することを特徴とする請求項5ないし7のいずれか一項に記載のライセンス管理システム。
【請求項9】
前記機能提供装置は、
前記ライセンス管理装置から、前記判定結果送信手段により、接続要求した情報処理装置に前記接続ライセンスが割り当てられていない旨の結果が送信された場合、又は、
前記ライセンス管理装置から、前記割り当て結果送信手段により、接続要求した情報処理装置に前記余剰ライセンスが割り当てられなかった旨の結果が送信された場合、
接続要求した情報処理装置に対して、接続不許可を通知することを特徴とする請求項5ないし8のいずれか一項に記載のライセンス管理システム。
【請求項10】
前記機能提供装置が、
一定期間接続されていない情報処理装置の存在を確認する接続確認手段を有し、
前記接続確認手段は、
前記ライセンス関連情報保持手段に保持されるライセンス関連情報を参照し、前記接続記録情報に基づき、前記ライセンス関連情報に設定された情報処理装置のうち、一定期間接続されていない情報処理装置の存在を確認することを特徴とする請求項2ないし9のいずれか一項に記載のライセンス管理システム。
【請求項11】
前記機能提供装置が、
前記ライセンス管理装置に対して、前記ライセンス関連情報と前記ライセンス管理情報との照合要求を送信する照合要求送信手段を有し、
前記機能提供装置は、
前記接続確認手段が、一定期間接続されていない情報処理装置の存在を確認した場合、
前記ライセンス関連情報から、該当した情報処理装置の機器識別情報及び接続記録情報を削除し、情報を更新し、
前記照合要求手段が、更新後のライセンス関連情報を前記ライセンス管理装置へと送信することを特徴とする請求項10に記載のライセンス管理システム。
【請求項12】
前記ライセンス管理情報は、前記ライセンス識別情報及び前記機器識別情報に、前記ライセンス関連情報との照合日時を示す照合記録情報がと対応づけて設定されており、
前記ライセンス管理装置が、
前記ライセンス管理情報において、前記ライセンス関連情報に設定された情報処理装置の登録を確認する機器登録確認手段と、
前記照合記録情報の更新結果を前記機能提供装置へと送信する更新結果送信手段と、を有し、
前記ライセンス管理装置は、
前記機器登録確認手段が、前記ライセンス管理情報保持手段に保持されるライセンス管理情報を参照し、前記機能提供装置から、前記照合要求送信手段により送信されたライセンス関連情報の機器識別情報の設定有無に基づき、前記ライセンス関連情報に設定された情報処理装置の登録を確認し、
前記更新結果送信手段が、確認結果に基づく前記照合記録情報の更新結果を前記機能提供装置へと送信することを特徴とする請求項11に記載のライセンス管理システム。
【請求項13】
前記ライセンス管理装置は、
前記機器登録確認手段が、前記ライセンス管理情報において、前記ライセンス関連情報に設定された情報処理装置の登録を確認した場合、
前記ライセンス管理情報における該当した情報処理装置の照合記録情報に、照合した現在日時を設定し、情報を更新することを特徴とする請求項12に記載のライセンス管理システム。
【請求項14】
前記ライセンス管理装置は、
前記機器登録確認手段が、前記ライセンス管理情報において、前記ライセンス関連情報に設定された情報処理装置の登録を確認できなかった場合、
前記余剰ライセンス確認手段が、前記ライセンス管理情報保持手段に保持されるライセンス管理情報を参照し、前記ライセンス識別情報に基づき、登録確認できなかった情報処理装置に割り当てる前記余剰ライセンスの有無を確認し、
前記割り当て結果送信手段が、確認結果に基づく前記余剰ライセンスの割り当て結果を前記機能提供装置へと送信することを特徴とする請求項12又は13に記載のライセンス管理システム。
【請求項15】
前記機能提供装置は、
前記ライセンス管理装置から、前記更新結果送信手段により、前記ライセンス管理情報の照合記録情報が更新できなかった旨の結果が送信された場合、又は、
前記ライセンス管理装置から、前記割り当て結果送信手段により、前記余剰ライセンスが割り当てられなかった旨の結果が送信された場合、
前記ライセンス関連情報から、該当した情報処理装置の機器識別情報及び接続記録情報を削除し、情報を更新することを特徴とする請求項12ないし14のいずれか一項に記載のライセンス管理システム。
【請求項16】
前記ライセンス管理装置が、
前記ライセンス関連情報と前記ライセンス管理情報とが、一定期間照合されていない情報処理装置の存在を確認する照合確認手段を有し、
前記照合確認手段は、
前記ライセンス管理情報保持手段に保持されるライセンス管理情報を参照し、前記照合記録情報に基づき、前記ライセンス管理情報に設定された情報処理装置のうち、前記ライセンス関連情報と一定期間照合されていない情報処理装置の存在を確認することを特徴とする請求項3ないし15のいずれか一項に記載のライセンス管理システム。
【請求項17】
前記ライセンス管理装置は、
前記照合確認手段が、一定期間照合されていない情報処理装置の存在を確認した場合、
前記ライセンス管理情報から、該当した情報処理装置の機器識別情報及び照合記録情報を削除し、情報を更新することを特徴とする請求項16に記載のライセンス管理システム。
【請求項18】
前記ライセンス管理装置は、
当該システム内の全ての機能提供装置から、前記照合要求手段により送信されたライセンス関連情報を受信した場合、
前記ライセンス管理情報から、一定期間照合されていない情報処理装置の機器識別情報及び照合記録情報を削除し、情報を更新することを特徴とする請求項17に記載のライセンス管理システム。
【請求項19】
前記ライセンス管理装置は、
前記ライセンス関連情報を受信していない機能提供装置との通信状態を確認し、
所定期間内に、前記機能提供装置との通信状態が回復しない場合、
前記ライセンス管理情報から、一定期間照合されていない情報処理装置の機器識別情報及び照合記録情報を削除し、情報を更新することを特徴とする請求項17又は18に記載のライセンス管理システム。
【請求項20】
情報処理装置からの機能利用を可能とする接続ライセンスを管理するライセンス管理装置と、所定のデータ伝送路で接続され、前記情報処理装置に対して機能提供を行う機能提供装置であって、
前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手段と、
接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段と、を有し、
前記接続装置判定手段による判定結果、又は、
前記ライセンス管理装置から受信した、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かの判定結果に基づき、接続要求した情報処理装置の接続許可を制御することを特徴とする機能提供装置。
【請求項21】
接続される情報処理装置に対して機能提供を行う複数の機能提供装置と、前記情報処理装置から前記機能提供装置の機能利用を可能とする接続ライセンスを管理するライセンス管理装置とが、所定のデータ伝送路で接続されるライセンス管理システムにおけるライセンス管理方法であって、
前記機能提供装置が、
前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手順と、
前記接続装置判定手順で、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段と、を有し、
前記ライセンス管理装置が、
前記機能提供装置からの判定要求に従って、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かを判定する接続ライセンス判定手順と、
前記接続ライセンス判定手順による判定結果を前記機能提供装置へと送信する判定結果送信手順と、を有し、
前記機能提供装置は、
前記接続装置判定手順による判定結果、又は、
前記ライセンス管理装置から、前記判定結果送信手順により送信された判定結果に基づき、接続要求した情報処理装置の接続許可を制御することを特徴とするライセンス管理方法。
【請求項22】
情報処理装置からの機能利用を可能とする接続ライセンスを管理するライセンス管理装置と、所定のデータ伝送路で接続され、前記情報処理装置に対して機能提供を行う機能提供装置におけるライセンス管理プログラムであって、
コンピュータを、
前記情報処理装置から接続要求を受信すると、接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置か否かを判定する接続装置判定手段と、
接続要求した情報処理装置が接続ライセンス割り当て済みの情報処理装置でないと判定した場合、前記ライセンス管理装置に対して、接続ライセンス割り当て判定要求を送信する判定要求送信手段として機能させ、
前記接続装置判定手段による判定結果、又は、
前記ライセンス管理装置から受信した、接続要求した情報処理装置に前記接続ライセンスが割り当てられているか否かの判定結果に基づき、接続要求した情報処理装置の接続許可を制御するように実行させるライセンス管理プログラム。

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

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate


【公開番号】特開2012−98762(P2012−98762A)
【公開日】平成24年5月24日(2012.5.24)
【国際特許分類】
【出願番号】特願2010−243126(P2010−243126)
【出願日】平成22年10月29日(2010.10.29)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】