(57)【要約】【課題】仮想化技術等の冗長化技術をライセンスサーバに適用することを可能にすること。【解決手段】本実施例に係るライセンス管理システムは、ＩＤの貸出要求が受信された場合に、貸出要求の送信元に該当する装置を、ＩＤと該ＩＤを貸し出すべき装置の対応を記憶するＩＤ管理表２３１から検索し、貸出要求の送信元に該当する装置がみつかった場合に、その装置に対応付けられているＩＤを送信元へ応答するＩＤ貸出装置２００と、ＩＤ貸出装置２００に対してＩＤの貸出要求を送信し、応答されたＩＤと、ライセンスキーに含まれるＩＤが一致するか否かを確認することにより、ライセンスキーが、当該のライセンスサーバ向けに作成されたものであるか否かを検証するライセンスサーバと含む。【選択図】        図２
2008176749.tif 000002
【特許請求の範囲】
【請求項１】
他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出装置であって、
ＩＤと該ＩＤを貸し出すべき装置の対応を記憶する記憶手段と、
ＩＤの貸出要求が受信された場合に、前記貸出要求の送信元に該当する装置を前記記憶手段から検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出手段と
を備えたことを特徴とするＩＤ貸出装置。
【請求項２】
前記ＩＤ貸出手段がＩＤを応答した装置からＩＤの貸出継続要求を受信するＩＤ貸出継続確認手段をさらに備え、
前記ＩＤ貸出手段は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手段によって受信されてから所定の期間が経過していない場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されても該ＩＤを応答しないことを特徴とする請求項１に記載のＩＤ貸出装置。
【請求項３】
前記ＩＤ貸出継続確認手段は、ＩＤの貸出継続要求が受信された場合に、該貸出継続要求が、前記ＩＤ貸出手段が該ＩＤを最後に応答した装置から所定の期間内に送信されたものであれば、貸出継続を認める旨の応答をし、さもなければ、貸出継続を認めない旨の応答をすることを特徴とする請求項２に記載のＩＤ貸出装置。
【請求項４】
他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出プログラムであって、
ＩＤの貸出要求が受信された場合に、ＩＤと該ＩＤを貸し出すべき装置の対応が予め記憶された記憶手段から、前記貸出要求の送信元に該当する装置を検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出手順
をコンピュータに実行させることを特徴とするＩＤ貸出プログラム。
【請求項５】
他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出方法であって、
ＩＤの貸出要求が受信された場合に、ＩＤと該ＩＤを貸し出すべき装置の対応が予め記憶された記憶手段から、前記貸出要求の送信元に該当する装置を検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出工程
を含んだことを特徴とするＩＤ貸出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ライセンスキーに基づいてアプリケーションの実行を認めるライセンスの発行処理を実行するためのＩＤ貸出装置、ＩＤ貸出プログラムおよびＩＤ貸出方法に関し、特に、仮想化技術等の冗長化技術をライセンスサーバに適用することを可能にするＩＤ貸出装置、ＩＤ貸出プログラムおよびＩＤ貸出方法に関する。
【背景技術】
【０００２】
従来より、アプリケーションプログラムの同時使用数や使用期限等を制限するため、ライセンスサーバを用いたライセンス管理方法が利用されている（例えば、特許文献１や特許文献２を参照）。ライセンスサーバを用いたライセンス管理方法では、アプリケーションプログラムは、ライセンスサーバに対してライセンスの発行を要求し、ライセンスを得ることができなければ、自らの実行を停止させる。
【０００３】
ライセンスサーバは、アプリケーションプログラムを提供するソフトウェアベンダによって発行されたライセンスキーに基づいて、アプリケーションプログラムの同時使用数や使用期限等を制限する。ライセンスキーが不正使用されると、アプリケーションプログラムの不正使用を許すことになるため、ライセンスキーは、予め申請されたハードウェア固有のＩＤ（以下、「ハードウェアＩＤ」という）をもつライセンスサーバでしか使用できないように作成される。
【０００４】
ハードウェアＩＤとしては、具体的には、ＭＡＣアドレス、ｈｏｓｔｉｄ、ＷＷＮ（World Wide Name）等のように、製造業者によって唯一無二の値が付与されていることが保証されている番号が使用される。
【０００５】
【特許文献１】特開平１０−２４０５１８号公報
【特許文献２】特開２００５−５０２５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、近年、信頼性の向上の要請等から、サーバ装置の仮想化技術が広く利用されるようになりつつある。サーバ装置の仮想化技術は、ＯＳ（Operating System）やアプリケーションプログラム等を記憶する記憶装置をサーバ装置から切り離してネットワーク上に置いておき、サーバ装置が故障した場合に、その記憶装置を用いて他のサーバ装置をブートさせることにより、同一の稼動状態を再現する。
【０００７】
しかしながら、この仮想化技術を用いても、ハードウェアＩＤを他のサーバ装置に引き継ぐことはできない。このため、従来は、ライセンスサーバの信頼性を向上させるために仮想化技術を適用したくても、サーバ装置の切り替え時にハードウェアＩＤが変わってしまい、ライセンスキーが使用できなくなるため、適用することができなかった。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、仮想化技術等の冗長化技術をライセンスサーバに適用することを可能にするＩＤ貸出装置、ＩＤ貸出プログラムおよびＩＤ貸出方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、本発明の一つの態様では、他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出装置であって、ＩＤと該ＩＤを貸し出すべき装置の対応を記憶する記憶手段と、ＩＤの貸出要求が受信された場合に、前記貸出要求の送信元に該当する装置を前記記憶手段から検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出手段とを備えたことを特徴とする。
【００１０】
この発明の態様によれば、所定のＩＤをそのＩＤと予め対応付けられている装置に貸し出す手段が得られるので、ハードウェアＩＤの代わりにこの手段によって提供されるＩＤを用いてライセンスキーの検証をおこなうことができ、仮想化技術等の冗長化技術をライセンスサーバに適用することが可能になる。
【００１１】
また、本発明の他の態様では、上記の発明の態様において、前記ＩＤ貸出手段がＩＤを応答した装置からＩＤの貸出継続要求を受信するＩＤ貸出継続確認手段をさらに備え、前記ＩＤ貸出手段は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手段によって受信されてから所定の期間が経過していない場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されても該ＩＤを応答しないことを特徴とする。
【００１２】
また、本発明の他の態様では、上記の発明の態様において、前記ＩＤ貸出継続確認手段は、ＩＤの貸出継続要求が受信された場合に、該貸出継続要求が、前記ＩＤ貸出手段が該ＩＤを最後に応答した装置から所定の期間内に送信されたものであれば、貸出継続を認める旨の応答をし、さもなければ、貸出継続を認めない旨の応答をすることを特徴とする。
【００１３】
これらの発明の態様によれば、ＩＤの貸出先からＩＤ貸出装置に対してＩＤの貸出継続要求を送信することとし、この貸出継続要求が受信されてから所定の期間は、ＩＤ貸出装置がそのＩＤの貸し出しをおこなわないように構成したので、同一のＩＤが複数の装置に同時に貸し出されることがなくなり、同一のライセンスキーに基づくライセンスの発行が複数のライセンスサーバにて実行されることを回避することができる。
【００１４】
また、これらの発明の態様によれば、ＩＤの貸出先からＩＤ貸出装置に対してＩＤの貸出継続要求が所定の期間送信されなければ、ＩＤ貸出装置がそのＩＤを他の装置に貸し出すように構成したので、ＩＤの貸出先の装置に障害が発生した場合に、その装置の処理を引き継いだ他の装置にＩＤを貸し出すことができる。
【００１５】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１６】
本発明の一つの態様によれば、所定のＩＤをそのＩＤと予め対応付けられている装置に貸し出す手段が得られるので、ハードウェアＩＤの代わりにこの手段によって提供されるＩＤを用いてライセンスキーの検証をおこなうことができ、仮想化技術等の冗長化技術をライセンスサーバに適用することが可能になるという効果を奏する。
【００１７】
また、本発明の一つの態様によれば、ＩＤの貸出先からＩＤ貸出装置に対してＩＤの貸出継続要求を送信することとし、この貸出継続要求が受信されてから所定の期間は、ＩＤ貸出装置がそのＩＤの貸し出しをおこなわないように構成したので、同一のＩＤが複数の装置に同時に貸し出されることがなくなり、同一のライセンスキーに基づくライセンスの発行が複数のライセンスサーバにて実行されることを回避することができるという効果を奏する。
【００１８】
また、本発明の一つの態様によれば、ＩＤの貸出先からＩＤ貸出装置に対してＩＤの貸出継続要求が所定の期間送信されなければ、ＩＤ貸出装置がそのＩＤを他の装置に貸し出すように構成したので、ＩＤの貸出先の装置に障害が発生した場合に、その装置の処理を引き継いだ他の装置にＩＤを貸し出すことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１９】
以下に添付図面を参照して、本発明に係るＩＤ貸出装置、ＩＤ貸出プログラムおよびＩＤ貸出方法の好適な実施の形態を詳細に説明する。
【実施例】
【００２０】
まず、従来のライセンス管理システムについて説明する。図９は、従来のライセンス管理システムの概要を示す図である。同図に示した従来のライセンス管理システムは、ユーザ環境に設置されたライセンスサーバ１０および情報処理装置２０と、ソフトウェアベンダの環境に設置されたライセンス発行器３０とから構成されている。
【００２１】
ライセンスサーバ１０は、ソフトウェアベンダから提供されたライセンスファイル１２に含まれるライセンスキーに基づいてアプリケーションプログラムの同時使用数や使用期限等を制限する機能であるライセンス管理機能１１を備える。ライセンス管理機能１１は、ライセンスキーの不正利用を防止するため、ライセンスサーバ１０に固有のＩＤであるハードウェアＩＤ１３が、ライセンスキーに含まれるＩＤと一致しない場合は、機能を停止する。
【００２２】
情報処理装置２０は、ライセンス管理の対象のアプリケーションプログラムを稼動させる装置である。このライセンス管理の対象のアプリケーションプログラムは、アプリケーションプロセス２１として実行可能な状態に遷移する際に、ライセンス管理機能１１に対してライセンスの発行を要求し、ライセンスを得ることができなければ、自らの実行を停止させる。
【００２３】
ライセンス発行器３０は、ライセンスキーを含んだライセンスファイル１２を生成する装置である。ライセンスキーには、ライセンスファイル１２の使用を許可するライセンスサーバ１０のハードウェアＩＤ１３や、アプリケーションプログラムの同時使用数や使用期限等に関する情報が含まれる。
【００２４】
ここで、この従来のライセンス管理システムを動作させるための処理手順について説明する。ライセンスサーバ１０を機能させるための順次作業として、まず、ユーザによって、ライセンスサーバ１０のハードウェアＩＤを記載した申請書１４が作成される。この申請書１４には、アプリケーションプログラムの同時使用数や使用期限等の使用条件に関する要求も記載される（ステップＳ１１）。
【００２５】
そして、申請書１４は、ソフトウェアベンダへ送付され（ステップＳ１２）、ソフトウェアベンダは、申請書１４の記載内容をライセンス発行器３０に入力する（ステップＳ１３）。この結果として、ライセンス発行器３０から、ハードウェアＩＤ１３や使用条件等を暗号化したライセンスキーを含むライセンスファイル１２が出力される（ステップＳ１４）。
【００２６】
そして、ライセンスファイル１２は、ユーザへ送付され、ユーザは、送付されたライセンスファイル１２をライセンスサーバ１０に格納する（ステップＳ１５）。以上の手順により、ライセンスサーバ１０のライセンス管理機能１１が有効に機能できる状態となる。
【００２７】
こうして準備作業が完了した後、ライセンスサーバ１０のライセンス管理機能１１は、ライセンスファイル１２に含まれるライセンスキーを読み出し、暗号化を解除する（ステップＳ１６）。そして、ハードウェアＩＤ１３を取得し、これがライセンスキーに含まれるＩＤと一致する場合に、ライセンスの発行の受け付けを開始する（ステップＳ１７）。
【００２８】
なお、ここで、ハードウェアＩＤ１３とライセンスキーに含まれるＩＤが一致しない場合は、ライセンス管理機能１１は、ライセンスの発行の受け付けを開始することなく、機能を停止する。
【００２９】
そして、情報処理装置２０に格納されているライセンス管理の対象のアプリケーションプログラムは、アプリケーションプロセス２１として実行可能な状態に遷移する際に、ライセンス管理機能１１に対してライセンスの発行を要求する（ステップＳ１８）。
【００３０】
この要求を受け付けたライセンス管理機能１１は、ライセンスキーに含まれる使用条件に基づいてアプリケーションプログラムの実行の可否を判断し、実行可能と判断した場合はライセンスの発行をおこない、実行不可と判断した場合はライセンスの発行を拒否する（ステップＳ１９）。そして、アプリケーションプロセス２１は、ライセンスの発行を受けることができた場合は動作を継続し、さもなければ自らの実行を停止させる。
【００３１】
次に、図１０を参照しながら、従来のライセンス管理システムにおいてライセンスサーバを仮想サーバとした場合について説明する。同図に示した例において、ライセンスサーバ１０ａおよび１０ｂは、同様の構成を有する装置である。
【００３２】
ライセンスサーバ１０ａのＯＳ等を記憶する記憶装置４０は、ファイバチャネルネットワーク２上に存在し、記憶装置４０は、ＷＷＮに基づいてライセンスサーバ１０ａからのアクセスだけを許可するように設定されている。ライセンスサーバ１０ａは、記憶装置４０に記憶されている所定のプログラムを実行することにより、ライセンス管理機能１１を実現する。
【００３３】
そして、ライセンスサーバ１０ａと記憶装置４０の間にはアドレス変換ゲートウェイ装置（ＧＷ）５０が設けられ、アドレス変換ゲートウェイ装置５０は、何らかの理由でライセンスサーバ１０ａの処理をライセンスサーバ１０ｂへ引き継ぐ必要が生じた場合に、記憶装置４０から見て、ライセンスサーバ１０ｂのＷＷＮがライセンスサーバ１０ａのＷＷＮに見えるようにアドレス変換をおこなう。
【００３４】
このアドレス変換により、ライセンスサーバ１０ｂは、記憶装置４０に記憶されているＯＳ等を用いてブートすることが可能になり、ブート完了後は、ライセンスサーバ１０ａにおいて実現されていたソフトウェア環境と同一のソフトウェア環境が、ライセンスサーバ１０ｂにおいて実現される。すなわち、ライセンスサーバ１０ｂは、ライセンスサーバ１０ａと同一のＩＰアドレスを用いて通信をおこない、ライセンス管理機能１１を実現する。
【００３５】
このため、ライセンスサーバ１０ａおよび１０ｂとＬＡＮ（Local Area Network）３で接続された情報処理装置２０からは、サーバの切り替え前後に渡って、仮想サーバ１が継続して動作しているかのように見える。このように、仮想サーバ技術は、切り替え後のサーバが、切り替え前のサーバと同じサービスをクライアントに提供することを可能にする。
【００３６】
しかしながら、この仮想サーバ技術を用いると、従来のライセンス管理システムは適正に動作することができない。図１０の例において、ライセンスサーバ１０ａからライセンスサーバ１０ｂへの切り替えが発生した場合を考える。この場合、ライセンスサーバ１０ｂは、記憶装置４０に記憶されているＯＳを用いてブートする。
【００３７】
そして、ライセンスサーバ１０ｂのライセンス管理機能１１は、記憶装置４０に記憶されているライセンスファイルからライセンスキーを読み出し、ライセンスキーに含まれるＩＤをライセンスサーバ１０ｂに固有のＩＤであるハードウェアＩＤ１３ｂと比較する。ところが、ライセンスキーに含まれるＩＤは、ライセンスサーバ１０ａのライセンス管理機能１１を機能させるためのものであるため、ライセンスサーバ１０ａに固有のＩＤであるハートウェアＩＤ１３ａとなっている。
【００３８】
このため、ライセンスキーに含まれるＩＤは、ハードウェアＩＤ１３ｂと一致することはなく、ライセンスサーバ１０ｂのライセンス管理機能１１は、機能を停止させてしまう。このように、従来のライセンス管理システムでは、特定のハードウェアＩＤをもつライセンスサーバでしかライセンス管理機能が機能しないように構成されているため、仮想サーバ技術を用いてソフトウェア環境の引継ぎを可能にしても、ライセンス管理機能の引継ぎを実現することができなかった。
【００３９】
次に、本実施例に係るライセンス管理システムについて説明する。図１は、本実施例に係るライセンス管理システムの概要を示す図である。同図に示した例において、ライセンスサーバ１００ａおよび１００ｂは、同様の構成を有する装置である。
【００４０】
そして、ライセンスサーバ１００ａおよび１００ｂは、仮想サーバ１００を構成している。仮想サーバ１００を構成するため、図１０に示した例と同様に、ライセンスサーバ１００ａおよび１００ｂのＯＳ等を記憶する記憶装置４０は、ファイバチャネルネットワーク２上に存在し、ライセンスサーバ１００ａおよび１００ｂと記憶装置４０の間には、アドレス変換ゲートウェイ装置５０が設けられている。
【００４１】
また、ライセンスサーバ１００ａおよび１００ｂは、ＬＡＮ３を介してＩＤ貸出装置２００と接続される。ＩＤ貸出装置２００のＩＤ貸出機能２１０は、ＩＤ管理表２３１に基づいて、予め登録されたライセンスサーバに対して、そのライセンスサーバと対応付けされたＩＤの貸し出しをおこなう。また、同一のＩＤが、同時に異なるライセンスサーバに貸し出されることがないように管理する。
【００４２】
そして、ライセンスサーバ１００ａおよび１００ｂのライセンス管理機能１１０は、自装置に固有のハードウェアＩＤとライセンスキーに含まれるＩＤを照合してライセンスキーの不正使用を判定する代わりに、ＩＤ貸出装置２００から貸し出されたライセンスキーに含まれるＩＤを照合して不正使用を判定する。
【００４３】
このように、本実施例に係るライセンス管理システムは、予めライセンスサーバと対応付けされたＩＤを重複しないように貸し出す仕組みをライセンスサーバの外部に設け、その仕組みによって貸し出されたＩＤと、ライセンスキーに含まれるＩＤとが一致した場合にライセンス管理機能１１０が機能するように構成したので、ライセンスサーバを仮想サーバ化した場合であっても、切り替え後のライセンスサーバのライセンス管理機能１１０を正常に動作させることができる。
【００４４】
なお、図１の例において、ライセンスサーバ１００ｂは、ライセンスサーバ１００ａが動作している間、ライセンスサーバ１００ａ専用の代替機として待機している必要はなく、ライセンスサーバ１００ｂと同様の構成を有する他の装置の代替機を兼ねることもできる。
【００４５】
次に、図１に示したライセンス管理システムの構成の詳細について説明する。図２は、本実施例に係るライセンス管理システムの構成を示すブロック図である。なお、ライセンスサーバ１００ａおよび１００ｂは、同様の構成を有するため、ここでは、ライセンスサーバ１００ａの構成のみを図示している。また、情報処理装置２０およびアドレス変換ゲートウェイ装置５０の構成は周知であるため、これらの詳細な構成の図示は省略している。
【００４６】
同図に示すように、ライセンスサーバ１００ａは、ライセンス管理機能１１０を実現する制御部１２０を有し、制御部１２０は、ライセンス検証部１２１と、ＩＤ貸出要求部１２２と、ライセンス管理部１２３と、ＩＤ貸出継続要求部１２４とを含む。
【００４７】
ライセンス検証部１２１は、記憶装置４０に記憶されているライセンスファイル４１からライセンスキーを読み出し、そのライセンスキーの暗号化を解除して得られたＩＤが、当該のライセンスサーバ向けに発行された正規のものであるかを検証する処理部である。ライセンス検証部１２１は、得られたＩＤを検証するために、ＩＤ貸出装置２００に対してＩＤの貸し出しを要求するようにＩＤ貸出要求部１２２に依頼する。
【００４８】
ここで、ライセンスファイル４１は、ＭＡＣアドレス等のライセンスサーバ１００ａに固有のハードウェアＩＤの代わりに、ＩＤ貸出装置２００がライセンスサーバ１００ａに貸し出すことになっているＩＤを使用条件とともにソフトウェアベンダに申請して得られたものであり、申請したＩＤと使用条件が暗号化されたライセンスキーを含んでいる。
【００４９】
ＩＤ貸出要求部１２２は、ＩＤ貸出装置２００に対してＩＤの貸し出しを要求する処理部である。ＩＤ貸出装置２００は、ＩＤ貸出装置２００からＩＤが応答された場合は、そのＩＤをライセンス検証部１２１へ転送し、ＩＤの貸し出しが不能である旨が応答された場合は、その旨をライセンス検証部１２１へ応答する。
【００５０】
そして、ライセンス検証部１２１は、ＩＤ貸出要求部１２２からＩＤが転送された場合は、そのＩＤと、ライセンスキーから得られたＩＤとを比較する。そして、両者が一致した場合は、ライセンスキーから得られたＩＤが当該のライセンスサーバ向けに発行された正規のものであることを意味しているので、ライセンスキーから得られた使用条件をライセンス管理部１２３に転送して、ライセンス発行処理を開始するように指示する。
【００５１】
一方、ＩＤ貸出要求部１２２から転送されたＩＤと、ライセンスキーから得られたＩＤとが一致しない場合は、ライセンスキーから得られたＩＤが当該のライセンスサーバ向けに発行された正規のものではないことを意味しているので、ライセンス検証部１２１は、制御部１２０の機能を停止させる。
【００５２】
また、ＩＤの貸し出しが不能である旨が応答された場合は、ＩＤが既に他のライセンスサーバに貸し出されていることを意味しているので、そのライセンスサーバの処理を引き継ぐ必要が生じる場合に備えて、ＩＤ貸出装置２００に対してＩＤの貸し出しを要求するようにＩＤ貸出要求部１２２に再度依頼する。
【００５３】
ライセンス管理部１２３は、ライセンス管理対象のアプリケーションから送信されるライセンス発行要求等に対応する処理部である。ライセンス管理部１２３は、ライセンスの使用条件と使用状況を記憶装置４０のライセンス使用状況表４２に格納し、このライセンス使用状況表４２に基づいてライセンスの発行の可否を判断する。
【００５４】
図３は、ライセンス使用状況表４２の一例を示す図である。同図に示すように、ライセンス使用状況表４２は、使用期限、同時使用数、発行数、発行先リストといった項目を有する。使用期限および同時使用数は、ライセンス検証部１２１によってライセンスキーから取得された使用期限と同時使用数が設定される項目である。発行数は、現在発行中のライセンス数であり、発行先リストは、発行先の内訳である。
【００５５】
ライセンス管理部１２３は、ライセンス管理対象のアプリケーションからライセンス発行要求を受け付けると、ライセンス使用状況表４２を参照し、現在時刻が使用期限に設定されている期限を超過しておらず、かつ、発行数の値が同時使用数の値よりも小さいことを条件にして、ライセンスを発行し、発行数と発行先リストの値を更新する。
【００５６】
ＩＤ貸出継続要求部１２４は、ＩＤ貸出装置２００に対してＩＤの貸し出しの継続を要求する処理部である。ＩＤ貸出装置２００は同一のＩＤを複数のライセンスサーバに同時に貸し出さないように構成されているため、ＩＤ貸出装置２００からＩＤの貸し出しを受けたライセンスサーバが障害等によりダウンすると、他のライセンスサーバが処理を引き継ごうとしても、ＩＤ貸出装置２００からＩＤの貸し出しを受けることができなくなる恐れがある。
【００５７】
そこで、ＩＤ貸出継続要求部１２４は、当該のライセンスサーバがＩＤ貸出装置２００からＩＤの貸し出しを受けている間、定期的にＩＤ貸出装置２００に対してＩＤの貸し出しの継続要求を送信する。そして、ＩＤ貸出装置２００は、ＩＤを貸し出しているライセンスサーバから所定の期間を過ぎても継続要求が送信されない場合は、そのライセンスサーバが障害等により機能しない状態になっているとみなすことができるため、他のライセンスサーバに対してそのＩＤの貸し出しを認める。
【００５８】
また、ＩＤ貸出継続要求部１２４は、ＩＤ貸出装置２００に対してＩＤの貸し出しの継続要求を送信した結果、継続を認めない旨の応答があった場合は、他のライセンスサーバに対してＩＤの貸し出しが行われた可能性があるため、ライセンス管理部１２３に対して処理を中止するように指示するとともに、他のライセンスサーバの処理を引き継ぐ必要が生じる場合に備えて、ＩＤ貸出装置２００に対してＩＤの貸し出しを要求するようにＩＤ貸出要求部１２２に指示する。
【００５９】
この仕組みにより、ライセンスサーバがＩＤ貸出装置２００からＩＤの貸し出しを受けたままダウンした場合であっても、他のライセンスサーバが処理を引き継ぐことができる。また、何らかの理由により、同一のＩＤが複数のライセンスサーバに貸し出されてしまった場合であっても、その状態を自動的に解消することができる。
【００６０】
続いて、ＩＤ貸出装置２００の構成について説明する。ＩＤ貸出装置２００は、ＩＤ貸出部２２１とＩＤ貸出継続確認部２２２を含む制御部２２０と、ＩＤ管理表２３１を記憶する記憶部２３０を有する。
【００６１】
ＩＤ貸出部２２１は、ライセンスサーバ１００ａ等のライセンスサーバに対してＩＤの貸し出しをおこなう処理部である。具体的には、ＩＤ貸出部２２１は、ライセンスサーバからＩＤの貸出要求を受信すると、ＩＤ管理表２３１を参照して、要求元のＩＰアドレスが登録されており、かつ、そのＩＰアドレスに対応するＩＤが貸し出されていない場合に、そのＩＤを応答し、さもなければ、ＩＤの貸し出しができない旨を応答する。
【００６２】
ここで、ＩＤ管理表２３１の一例を図４に示す。同図に示すように、ＩＤ管理表２３１は、ＩＰアドレス、ＩＤ、タイムアウト時間、ハードウェアＩＤ、最終確認時間といった項目を有する。これらの項目のうち、ＩＰアドレス〜タイムアウト時間は、予め管理者等によって設定される項目であり、ハードウェアＩＤと最終確認時間は、ＩＤ貸出装置２００によって動的に値が更新される項目である。
【００６３】
ＩＰアドレスは、ＩＤの貸出対象のライセンスサーバのＩＰアドレスであり、ＩＤは、そのライセンスサーバに対して貸し出されるＩＤである。タイムアウト時間は、ＩＤの貸出先からの貸出継続要求のタイムアウトを判定する閾値である。例えば、この値が３分であった場合、ＩＤの貸出先からＩＤの貸出継続要求の送信が３分間なければ、ＩＤ貸出部２２１は、他のライセンスサーバにそのＩＤの貸し出しを認める。
【００６４】
ハードウェアＩＤは、ＩＤの貸出先のライセンスサーバに固有のＩＤであり、例えば、ＭＡＣアドレス等が設定される。ハードウェアＩＤは、ＩＤの貸し出しをおこなう際にＩＤ貸出部２２１によって設定される。なお、ハードウェアＩＤは、ライセンスサーバがＩＤの貸出要求をおこなう場合に、ＩＤ貸出装置２００に対して明示的に指定することとしてもよいし、やりとりされる電文のヘッダ等からＩＤ貸出装置２００が取得することとしてもよい。
【００６５】
最終確認時間は、ＩＤ貸出装置２００がそのＩＤの貸し出し、もしくは、貸し出しの継続を認めた時間である。最終確認時間は、タイムアウト時間との組合せでタイムアウトの判定に用いられる。
【００６６】
ＩＤ貸出部２２１は、ライセンスサーバからＩＤの貸出要求を受信すると、要求元のＩＰアドレスをキーにしてＩＤ管理表２３１を検索し、該当する行がなければ、貸出不能を応答する。そして、該当行があった場合は、現在時刻からタイムアウト時間を引いた時間と、最終確認時間とを比較してタイムアウトが生じているか否かを判定し、タイムアウトが生じていなければ、貸出不能を応答する。
【００６７】
一方、タイムアウトが生じていた場合は、その行のハードウェアＩＤの項目に要求元の固有のＩＤを設定し、最終確認時間の項目に現在時刻を設定した後、検索された行のＩＤの値を要求元へ応答する。
【００６８】
ＩＤ貸出継続確認部２２２は、ライセンスサーバ１００ａ等のライセンスサーバからのＩＤの貸出継続要求への対応をおこなう処理部である。具体的には、ＩＤ貸出継続確認部２２２は、ライセンスサーバからＩＤの貸出継続要求を受信すると、要求元のＩＰアドレスとハードウェアＩＤをキーにしてＩＤ管理表２３１を検索し、該当する行がなければ、継続不可を応答する。
【００６９】
そして、該当行があった場合は、現在時刻からタイムアウト時間を引いた時間と、最終確認時間とを比較してタイムアウトが生じているか否かを判定し、タイムアウトが生じていれば、継続不可を応答する。一方、タイムアウトが生じていなければ、最終確認時間の項目に現在時刻を設定し、要求元に継続可能である旨を応答する。
【００７０】
次に、図２に示したライセンスサーバ１００ａと、ＩＤ貸出装置２００の処理手順について説明する。図５は、図２に示したライセンスサーバ１００ａの処理手順を示すフローチャートである。
【００７１】
同図に示すように、ライセンスサーバ１００ａが起動すると、ＩＤ貸出要求部１２２が、ＩＤ貸出装置２００に対してＩＤの貸し出しを要求する（ステップＳ１０１）。ここで、ＩＤの貸し出しを認めない旨の応答があった場合は（ステップＳ１０２否定）、ＩＤ貸出要求部１２２は、ステップＳ１０１に戻って要求を再度実行する。
【００７２】
一方、ＩＤ貸出装置２００からＩＤが応答された場合は（ステップＳ１０２肯定）、ライセンス検証部１２１がライセンスファイル４１をリードし（ステップＳ１０３）、そこに含まれるライセンスキーの暗号化を解除する（ステップＳ１０４）。そして、ライセンスキーに含まれるＩＤと、ＩＤ貸出装置２００から応答されたＩＤを比較し（ステップＳ１０５）、一致しなければ（ステップＳ１０６否定）、処理を終了する。
【００７３】
ＩＤが一致した場合は（ステップＳ１０６肯定）、ライセンス管理部１２３が、ライセンス管理対象のアプリケーションプログラムからのライセンス発行要求等の待ち受けを開始する（ステップＳ１０７）。そして、ライセンス発行要求等を受信した場合は（ステップＳ１０８肯定）、その要求等に対応するための通常の処理を実行し（ステップＳ１０９）、ステップＳ１０７に戻って再び待ち受け状態になる。
【００７４】
また、最後にＩＤの貸出継続要求を送信してから所定の時間を経過した場合は（ステップＳ１１０肯定）、ＩＤ貸出継続要求部１２４が、ＩＤ貸出装置２００に対してＩＤの貸出継続要求を送信する（ステップＳ１１１）。そして、継続可の応答があった場合は（ステップＳ１１２肯定）、ライセンス管理部１２３にそのまま処理を継続させ、継続不可の応答があった場合は（ステップＳ１１２否定）、ライセンス管理部１２３に処理を中止させ、ステップＳ１０１から処理手順を再開させる。
【００７５】
図６は、図２に示したＩＤ貸出装置２００の処理手順を示すフローチャートである。同図に示すように、ＩＤ貸出装置２００は、起動すると、ライセンスサーバからの要求を待ち受ける状態となる（ステップＳ２０１）。
【００７６】
そして、ＩＤの貸出要求が受信された場合は（ステップＳ２０２肯定）、ＩＤ貸出部２２１が、要求元のＩＰアドレスをキーにしてＩＤ管理表２３１を検索し（ステップＳ２０３）、該当する行がなければ（ステップＳ２０４否定）、貸出不可を応答し（ステップＳ２０５）、ステップＳ２０１から処理手順を再開させる。
【００７７】
該当行があった場合は（ステップＳ２０４肯定）、ＩＤ貸出部２２１は、現在時刻からタイムアウト時間を引いた時間と、最終確認時間とを比較してタイムアウトが生じているか否かを判定し、タイムアウトが生じていなければ（ステップＳ２０６否定）、貸出不可を応答し（ステップＳ２０５）、ステップＳ２０１から処理手順を再開させる。
【００７８】
一方、タイムアウトが生じていた場合は（ステップＳ２０６肯定）、ＩＤ貸出部２２１は、その行のハードウェアＩＤの項目に要求元の固有のＩＤを設定し、最終確認時間の項目に現在時刻を設定した後（ステップＳ２０７）、検索された行のＩＤの値を要求元へ応答し（ステップＳ２０８）、ステップＳ２０１から処理手順を再開させる。
【００７９】
また、ＩＤの貸出継続要求が受信された場合は（ステップＳ２０２否定）、ＩＤ貸出継続確認部２２２が、要求元のＩＰアドレスとハードウェアＩＤをキーにしてＩＤ管理表２３１を検索し（ステップＳ２０９）、該当する行がなければ（ステップＳ２１０否定）、継続不可を応答し（ステップＳ２１１）、ステップＳ２０１から処理手順を再開させる。
【００８０】
該当行があった場合は（ステップＳ２１０肯定）、現在時刻からタイムアウト時間を引いた時間と、最終確認時間とを比較してタイムアウトが生じているか否かを判定し、タイムアウトが生じていれば（ステップＳ２１２肯定）、継続不可を応答し（ステップＳ２１１）、ステップＳ２０１から処理手順を再開させる。
【００８１】
一方、タイムアウトが生じていなければ（ステップＳ２１２否定）、最終確認時間の項目に現在時刻を設定し（ステップＳ２１３）、要求元に継続可能である旨を応答した後（ステップＳ２１４）、ステップＳ２０１から処理手順を再開させる。
【００８２】
なお、図２に示した本実施例に係るライセンスサーバ１００ａおよびＩＤ貸出装置２００の構成は、本発明の要旨を逸脱しない範囲で種々に変更することができる。例えば、上記の例では、ＩＤ管理表２３１が、ＩＤとライセンスサーバのＩＰアドレスとを対応付けて管理する例を示したが、ＩＤを、ライセンスサーバを識別するための他の識別子と対応付けて監視することとしてもよい。
【００８３】
例えば、図７に示すように、ＩＤとライセンスサーバのＭＡＣアドレスとを対応付けて管理することとしてもよい。この場合、ＭＡＣアドレスは、ＩＰアドレスと異なり、切替前後のライセンスサーバで値が異なるため、１つのＩＤに対して複数のＩＤが対応付けられている。
【００８４】
また、ＩＤ貸出装置２００を独立した装置とするのではなく、他の装置と一体化した構成とすることもできる。例えば、ＬＡＮにおいて装置間を接続するために用いられるハブやスイッチ等の機器にＩＤ貸出装置２００の機能をもたせることができる。
【００８５】
また、ＩＤ貸出装置２００とライセンスサーバ１００ａ等のライセンスサーバの間をＬＡＮ３で接続する代わりに他の通信手段を用いて接続することができる。例えば、ＩＰＭＢのようなサーバ管理用のネットワークを用いて、ＩＤ貸出装置２００とライセンスサーバを接続することもできる。
【００８６】
また、ライセンスサーバ１００ａの制御部１２０や、ＩＤ貸出装置２００の制御部２２０の機能をソフトウェアとして実装し、これをコンピュータで実行することにより、ライセンスサーバ１００ａやＩＤ貸出装置２００と同等の機能を実現することもできる。以下に、ＩＤ貸出装置２００の制御部２２０の機能をソフトウェアとして実装したＩＤ貸出プログラム１０７１を実行するコンピュータの一例を示す。なお、ライセンスサーバ１００ａの制御部１２０の機能をソフトウェアとして実装したライセンス管理プログラムも、同様の構成を有するコンピュータで実行することができる。
【００８７】
図８は、ＩＤ貸出プログラム１０７１を実行するコンピュータ１０００を示す機能ブロック図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ（Central Processing Unit）１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受をおこなうネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ（Random Access Memory）１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。
【００８８】
そして、ハードディスク装置１０７０には、図２に示した制御部２２０と同様の機能を有するＩＤ貸出プログラム１０７１と、図２に示したＩＤ管理表２３１に対応するＩＤ管理表１０７２とが記憶される。なお、ＩＤ管理表１０７２を、適宜分散させ、ネットワークを介して接続された他のコンピュータに記憶させておくこともできる。
【００８９】
そして、ＣＰＵ１０１０がＩＤ貸出プログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、ＩＤ貸出プログラム１０７１は、ＩＤ貸出プロセス１０６１として機能するようになる。そして、ＩＤ貸出プロセス１０６１は、ＩＤ管理表１０７２から読み出した情報等を適宜ＲＡＭ１０６０上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
【００９０】
なお、上記のＩＤ貸出プログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【００９１】
上述してきたように、本実施例では、ライセンスサーバ１００ａ等のライセンスサーバが、所定のＩＤをそのＩＤと予め対応付けられている装置に貸し出すＩＤ貸出装置２００に対してＩＤの貸し出しを要求し、ハードウェアＩＤの代わりにこの手段によって提供されるＩＤを用いてライセンスキーの検証をおこなうように構成したので、サーバの切り替えが発生しても切り替え後のライセンスサーバが同一のＩＤを用いてライセンスキーの検証を正常におこなうことができる。
【００９２】
なお、上記の実施例では、仮想化技術を用いてライセンスサーバを冗長化する場合を例にして本発明について説明したが、本発明は、クラスタ技術等の他の技術を用いてライセンスサーバを冗長化する場合においても有効に機能する。
【００９３】
（付記１）他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出装置であって、
ＩＤと該ＩＤを貸し出すべき装置の対応を記憶する記憶手段と、
ＩＤの貸出要求が受信された場合に、前記貸出要求の送信元に該当する装置を前記記憶手段から検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出手段と
を備えたことを特徴とするＩＤ貸出装置。
【００９４】
（付記２）前記ＩＤ貸出手段がＩＤを応答した装置からＩＤの貸出継続要求を受信するＩＤ貸出継続確認手段をさらに備え、
前記ＩＤ貸出手段は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手段によって受信されてから所定の期間が経過していない場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されても該ＩＤを応答しないことを特徴とする付記１に記載のＩＤ貸出装置。
【００９５】
（付記３）前記ＩＤ貸出手段は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手段によって受信されてから所定の期間が経過している場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されたならば、該装置に該ＩＤを応答することを特徴とする付記２に記載のＩＤ貸出装置。
【００９６】
（付記４）前記ＩＤ貸出継続確認手段は、ＩＤの貸出継続要求が受信された場合に、該貸出継続要求が、前記ＩＤ貸出手段が該ＩＤを最後に応答した装置から所定の期間内に送信されたものであれば、貸出継続を認める旨の応答をし、さもなければ、貸出継続を認めない旨の応答をすることを特徴とする付記２に記載のＩＤ貸出装置。
【００９７】
（付記５）他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出プログラムであって、
ＩＤの貸出要求が受信された場合に、ＩＤと該ＩＤを貸し出すべき装置の対応が予め記憶された記憶手段から、前記貸出要求の送信元に該当する装置を検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出手順
をコンピュータに実行させることを特徴とするＩＤ貸出プログラム。
【００９８】
（付記６）前記ＩＤ貸出手順がＩＤを応答した装置からＩＤの貸出継続要求を受信するＩＤ貸出継続確認手順をさらにコンピュータに実行させ、
前記ＩＤ貸出手順は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手順によって受信されてから所定の期間が経過していない場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されても該ＩＤを応答しないことを特徴とする付記５に記載のＩＤ貸出プログラム。
【００９９】
（付記７）前記ＩＤ貸出手順は、ＩＤを応答した装置からの前記貸出継続要求が前記ＩＤ貸出継続確認手順によって受信されてから所定の期間が経過している場合は、該ＩＤに対応付けて前記記憶手段に記憶されている装置からの前記貸出要求が受信されたならば、該装置に該ＩＤを応答することを特徴とする付記６に記載のＩＤ貸出プログラム。
【０１００】
（付記８）前記ＩＤ貸出継続確認手順は、ＩＤの貸出継続要求が受信された場合に、該貸出継続要求が、前記ＩＤ貸出手順が該ＩＤを最後に応答した装置から所定の期間内に送信されたものであれば、貸出継続を認める旨の応答をし、さもなければ、貸出継続を認めない旨の応答をすることを特徴とする付記６に記載のＩＤ貸出プログラム。
【０１０１】
（付記９）他の装置と異なるＩＤを必要とする装置に対してＩＤを貸し出すＩＤ貸出方法であって、
ＩＤの貸出要求が受信された場合に、ＩＤと該ＩＤを貸し出すべき装置の対応が予め記憶された記憶手段から、前記貸出要求の送信元に該当する装置を検索し、前記送信元に該当する装置がみつかった場合に、該装置に対応付けられているＩＤを前記送信元へ応答するＩＤ貸出工程
を含んだことを特徴とするＩＤ貸出方法。
【産業上の利用可能性】
【０１０２】
以上のように、本発明に係るＩＤ貸出装置、ＩＤ貸出プログラムおよびＩＤ貸出方法は、ライセンスキーに基づいてアプリケーションの実行を認めるライセンスの発行処理を実行するために有用であり、特に、仮想化技術等の冗長化技術をライセンスサーバに適用することが必要な場合に適している。
【図面の簡単な説明】
【０１０３】
【図１】本実施例に係るライセンス管理システムの概要を示す図である。
【図２】本実施例に係るライセンス管理システムの構成を示すブロック図である。
【図３】ライセンス使用状況表の一例を示す図である。
【図４】ＩＤ管理表の一例を示す図である。
【図５】ライセンスサーバの処理手順を示すフローチャートである。
【図６】ＩＤ貸出装置の処理手順を示すフローチャートである。
【図７】ＭＡＣアドレスでライセンスサーバを識別する場合のＩＤ管理表の一例を示す図である。
【図８】ＩＤ貸出プログラムを実行するコンピュータを示す機能ブロック図である。
【図９】従来のライセンス管理システムの概要を示す図である。
【図１０】従来のライセンス管理システムにおいてライセンスサーバを仮想サーバとした場合について説明するための図である。
【符号の説明】
【０１０４】
１  仮想サーバ
２  ファイバチャネルネットワーク
３  ＬＡＮ
１０、１０ａ、１０ｂ  ライセンスサーバ
１１  ライセンス管理機能
１２  ライセンスファイル
１３、１３ａ、１３ｂ  ハードウェアＩＤ
１４  申請書
２０  情報処理装置
２１  アプリケーションプロセス
３０  ライセンス発行器
４０  記憶装置
４１  ライセンスファイル
４２  ライセンス使用状況表
５０  アドレス変換ゲートウェイ装置
１００  仮想サーバ
１００ａ、１００ｂ  ライセンスサーバ
１１０  ライセンス管理機能
１２０  制御部
１２１  ライセンス検証部
１２２  ＩＤ貸出要求部
１２３  ライセンス管理部
１２４  ＩＤ貸出継続要求部
２００  ＩＤ貸出装置
２１０  ＩＤ貸出機能
２２０  制御部
２２１  ＩＤ貸出部
２２２  ＩＤ貸出継続確認部
２３０  記憶部
２３１  ＩＤ管理表
１０００  コンピュータ
１０１０  ＣＰＵ
１０２０  入力装置
１０３０  モニタ
１０４０  媒体読取り装置
１０５０  ネットワークインターフェース装置
１０６０  ＲＡＭ
１０６１  ＩＤ貸出プロセス
１０７０  ハードディスク装置
１０７１  ＩＤ貸出プログラム
１０７２  ＩＤ管理表
１０８０  バス
【図１】
2008176749.tif 000003
【図２】
2008176749.tif 000004
【図３】
2008176749.tif 000005
【図４】
2008176749.tif 000006
【図５】
2008176749.tif 000007
【図６】
2008176749.tif 000008
【図７】
2008176749.tif 000009
【図８】
2008176749.tif 000010
【図９】
2008176749.tif 000011
【図１０】
2008176749.tif 000012