(57)【特許請求の範囲】
【請求項１】
第１のライセンスファイル及びローカルライセンスマネージメントソフトウェアを含むクラウドコンピューティングネットワークにおけるバーチャルマシンによりアプリケーションソフトウェアを実行する段階であって、第１のライセンスファイルは、独特の識別子によって識別され、且ついずれのハードウェアにもロックされないものである段階と、
前記第１のライセンスファイル及び前記ローカルライセンスマネージメントソフトウェアを含む前記バーチャルマシンにより与えられるアプリケーションソフトウェアのフィーチャー及び容量の使用を前記ローカルライセンスマネージメントソフトウェアといずれのハードウェアにもロックされない前記第１のライセンスファイルとの組み合わせによりコントロールする段階と、
ライセンスが要求されるフィーチャーへアクセスするための要求を前記アプリケーションソフトウェアから装置が受け取る段階と、
そのフィーチャーへの暫定的アクセスを与えるべきかどうか決定するために前記第１のライセンスファイルを前記ローカルライセンスマネージメントソフトウェアにより調査する段階と、
前記ローカルライセンスマネージメントソフトウェアによりアドミニストレーションノードと通信する段階と、
を含み、前記通信段階は、少なくとも前記独特の識別子を含む要求を前記アドミニストレーションノードへ送信することを少なくとも含み、前記アドミニストレーションノードは、該アドミニストレーションノードにロックされ且つ前記独特の識別子によって前記バーチャルマシンの第１のライセンスファイルとペアにされる第２のライセンスファイルを含み、該第２のライセンスファイルは、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、更に、前記アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成された、方法。
【請求項２】
前記フィーチャーへのアクセスを許可すべきかどうか指示する情報を前記アドミニストレーションノードから受け取る段階を更に含む、請求項１に記載の方法。
【請求項３】
前記第１のライセンスファイルは、変更に対して保護される、請求項１又は２に記載の方法。
【請求項４】
前記アドミニストレーションノードとの通信は、周期的に又はオンデマンドで生じる、請求項１から３のいずれかに記載の方法。
【請求項５】
変更された第１のライセンスファイルを前記アドミニストレーションノードから受け取る段階と、
その変更された第１のライセンスファイルを前記バーチャルマシンにおいて展開する段階と、
を更に含む請求項１から４のいずれかに記載の方法。
【請求項６】
ライセンスが要求されるフィーチャーへアクセスするための要求を、アドミニストレーションノードにおいて、別のノードのクラウドコンピューティングネットワークにおけるバーチャルマシンのローカルライセンスマネージメントソフトウェアから受け取る段階であって、その要求は、バーチャルマシンにより実行されるアプリケーションにフィーチャーへの暫定的アクセスを許可すべきかどうか決定するために他のノードに使用されるいずれのハードウェアにもロックされない第１のライセンスファイルの独特の識別子を含むものである段階と、
そのフィーチャーへのアクセスを与えるべきかどうか決定するために、アドミニストレーションノードにロックされ且つ前記独特の識別子により前記バーチャルマシンの第１のライセンスファイルとペアにされる第２のライセンスファイルを調査する段階であって、前記第２のライセンスファイルは、決められたハードウェアノードにインストールされたときしか動作できないように構成される段階と、
前記要求に対する応答を与える段階と、
を備えた方法。
【請求項７】
ライセンス付与されたフィーチャーの使用のレコードが前記アドミニストレーションノードにおいて作られる、請求項６に記載の方法。
【請求項８】
所定のアクセス限界に到達した場合又は前記フィーチャーにアクセスする要求が異なるソースから受け取られた場合には前記フィーチャーへのアクセスを拒絶する、請求項６又は７に記載の方法。
【請求項９】
アプリケーションソフトウェアを実行するためのクラウドコンピューティングネットワークにおけるバーチャルマシンであって、独特の識別子により識別され且ついずれのハードウェアにもロックされない第１のライセンスファイルを含むバーチャルマシンと、
ライセンスが要求されるフィーチャーへアクセスするための要求を前記アプリケーションソフトウェアから受け取る第１の入力手段と、
そのフィーチャーへの暫定的アクセスを与えるべきかどうか決定するために前記第１のライセンスファイルを調査するように構成された第１のプロセッサと、
アドミニストレーションノードと通信するための第１の出力手段と、
を備え、前記通信は、少なくとも前記独特の識別子を含む要求を前記アドミニストレーションノードへ送信することを少なくとも含み、前記アドミニストレーションノードは、該アドミニストレーションノードにロックされ且つ前記独特の識別子によって前記バーチャルマシンの第１のライセンスファイルとペアにされる第２のライセンスファイルを含み、前記第２のライセンスファイルは、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、更に、前記アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成され、更に、
前記アドミニストレーションノードから応答を受け取るための第２の入力手段、
を備えた装置。
【請求項１０】
前記第２の入力手段は、前記フィーチャーへのアクセスを許可すべきかどうか指示する情報を前記アドミニストレーションノードから受け取る、請求項９に記載の装置。
【請求項１１】
ライセンスが要求されるフィーチャーへアクセスするための要求を、クラウドコンピューティングネットワークにおけるバーチャルマシンからリモート接続を経て受け取る第１の入力手段であって、その要求は、いずれのハードウェアにもロックされず且つ前記フィーチャーへの暫定的なアクセスを許可すべきかどうか決定するために使用されるリモートの第１ライセンスファイルの独特の識別子を含むものである第１の入力手段と、
前記フィーチャーへのアクセスを与えるべきかどうか決定するために、決められたハードウェアノードにロックされ且つ前記独特の識別子により前記リモートの第１ライセンスファイルとペアにされる第２のライセンスファイルを調査するように構成された第２のプロセッサであって、前記第２のライセンスファイルは、前記決められたハードウェアノードにインストールされたときしか動作できないように構成された第２のプロセッサと、
前記要求に対する応答を与えるための第１の出力手段と、
を備えた装置。
【請求項１２】
前記第２のプロセッサは、所定のアクセス限界に到達した場合又は前記フィーチャーにアクセスするための要求が異なるソースから受け取られた場合には前記フィーチャーへのアクセスを拒絶するように構成された、請求項１１に記載の装置。
【請求項１３】
クラウドコンピューティングネットワークにおける１つ以上のローカルマネージメントモジュールを備え、各ローカルマネージメントモジュールは、そのローカルマネージメントモジュールのバーチャルマシンにより与えられるアプリケーションソフトウェアのフィーチャー及び容量の使用をコントロールするためのものであり、
１つ以上の第１ライセンスファイルを更に備え、各第１ライセンスファイルは、前記クラウドコンピューティングネットワークにおける対応するバーチャルマシンに含まれた独特の識別子によって識別され且ついずれのハードウェアにもロックされておらず、
アドミニストレーションノードを更に備え、
各ローカルマネージメントモジュールは、ライセンスが要求されるフィーチャーへアクセスする要求を前記アプリケーションソフトウェアから受け取るための第１の入力手段と；前記フィーチャーへの暫定的アクセスを与えるべきかどうか決定するために前記第１ライセンスファイルを調査するように構成された第１のプロセッサと；前記アドミニストレーションノードと通信するための第１の出力手段であって、その通信は、少なくとも前記独特の識別子を含む要求を前記アドミニストレーションノードへ送信することを少なくとも含むものである第１の出力手段と；前記アドミニストレーションノードから応答を受け取るための第２の入力手段と；を備え、
前記アドミニストレーションノードは、アドミニストレーションノードにロックされ且つ前記独特の識別子により対応する第１のライセンスファイルと各々ペアにされる１つ以上の第２のライセンスファイルと；ライセンスが要求されるフィーチャーへアクセスする要求を前記ローカルマネージメントモジュールから受け取るための第１の入力手段と；フィーチャーへのアクセスを与えるべきかどうか決定するために第２ライセンスファイルを調査するように構成された第２のプロセッサであって、前記第２のライセンスファイルは、決められたハードウェアノードにインストールされたときしか動作できないように構成されるような第２のプロセッサと；前記要求に対する前記応答を与えるための第１の出力手段と；を備えた、システム。
【請求項１４】
プロセッサにより実行されるときに、第１のライセンスファイルと組み合わされて、クラウドコンピューティングネットワークにおける前記第１のライセンスファイル及びローカルライセンスマネージメントソフトウェアを備えるバーチャルマシンにより与えられるアプリケーションソフトウェアのフィーチャー及び容量の使用をコントロールするためのコンピュータプログラムにおいて、コンピュータを、
ライセンスが要求されるフィーチャーへアクセスする要求を、前記クラウドコンピューティングネットワークにおける前記第１のライセンスファイル及び前記ローカルライセンスマネージメントソフトウェアを備える前記バーチャルマシンにより実行されるアプリケーションソフトウェアから受け取るための手段と、
フィーチャーへの暫定的アクセスを与えるべきかどうか決定するために前記第１のライセンスファイルを調査する手段であって、前記第１のライセンスファイルは、独特の識別子により識別され且ついずれにハードウェアにもロックされないものである手段と、
アドミニストレーションノードと通信するための手段と、
して機能させるためのコンピュータプログラムであって、その通信は、少なくとも前記独特の識別子を含む要求を前記アドミニストレーションノードへ送信することを少なくとも含み、前記アドミニストレーションノードは、該アドミニストレーションノードにロックされ且つ前記独特の識別子により前記クラウドコンピューティングネットワークにおける前記バーチャルマシンの第１のライセンスファイルとペアにされる第２のライセンスファイルを含み、その第２のライセンスファイルは、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、前記アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成された、コンピュータプログラム。
【請求項１５】
コンピュータを、
ライセンスが要求されるフィーチャーへアクセスする要求を、前記第１のライセンスファイルを備える第１ノードのクラウドコンピューティングネットワークにおけるバーチャルマシンのローカルライセンスマネージメントソフトウェアから、そのバーチャルマシンにより実行されるアプリケーションソフトウェアにより、アドミニストレーションノードで受け取るための手段であって、その要求は、フィーチャーへの暫定的アクセスを前記アプリケーションソフトウェアに許可すべきかどうか決定するために前記第１ノードのバーチャルマシンのいずれのハードウェアにもロックされない第１のライセンスファイルの独特の識別子を含むものである手段と、
フィーチャーへのアクセスを与えるべきかどうか決定するために、前記アドミニストレーションノードにロックされ且つ前記独特の識別子により前記第１のライセンスファイルとペアにされる第２のライセンスファイルを調査する手段であって、前記２のライセンスファイルは、決められたハードウェアノードにインストールされたときしか動作できないように構成されるような手段と、
前記要求に対する応答を与えるための手段と、
して機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアライセンスのコントロールに関する。より特定すれば、本発明は、クラウドコンピューティングシステムのような柔軟なシステムにおけるソフトウェアライセンスのコントロールに関する。
【背景技術】
【０００２】
ソフトウェア会社が彼等のソフトウェアの使用を限定ベースで許諾することは一般的である。例えば、利用できるフィーチャー(features)の特定の組み合わせを制限するか、又は毎秒のトランザクション数に制限を課すことができる。多くの場合、売り手は、最終顧客が購入した以上のものを使用できないようにそのような制限を守らせようとする。これは、例えば、署名及び暗号化技術を経て変更からしばしば保護されるライセンスファイルを使用して達成することができる。
【０００３】
１つの既知の方法は、ライセンスファイルをインストールして特定のハードウェアサーバーから使用し、それにより、複数のパラレルシステムへのライセンスファイルのコピーを防止することを必要とする。これは、ライセンスファイルをサーバーのシリアルナンバーにリンクすることにより達成されるが、もちろん、他の方法も考えられる。ライセンスファイルのコピーを防止することで、特定ライセンスの単一インスタンスによりカバーされた以上のフィーチャー及びサービスへのアクセスを得るためにライセンスファイルのコピーが使用されることを防止する。
【０００４】
近年、バーチャルプラットホームにおいてソフトウェアモジュールを開発できる「バーチャル化(virtualization)」とも称される新規な技術が利用されている。この解決策の重要な利益の１つは、非常に柔軟性があって、顧客がアプリケーションをダウン時間なしに１つのサーバーから別のサーバーへ引き回しできると共に、プラットホームを潜在的に複数の当事者に利用できるようにすることでプラットホームの利用率をより高くできることである。１つの展開モデルは、実際に、コンピューティングリソースを第三者から「借りる」ことによって機能し、その結果、インフラへの投資の必要性を減少することでコスト節約を果たすことができる。このバーチャル化形態は、しばしば、「クラウドコンピューティング」とも称される。
【０００５】
バーチャル化及びクラウドコンピューティングの向かう傾向の副作用は、製品当たりに必要とされる容量の混合が時間と共に変化するので、サーバー間でのアプリケーションの自由移動が意図されることである。コンピューティングリソースの供給者及び顧客の両方からのそのような融通性の要望は、上述した種類の厳格なハードウェアロックライセンスコントロールの使用に反するものである。従って、クラウドコンピューティング及び他の形式のバーチャル化により約束された柔軟性の利点を取り入れるには、典型的に、そのようなハードウェアロックメカニズムをディスエイブルする必要がある。当然、そのようなコントロールメカニズムがないと、顧客は、適切なライセンス料金を支払わずに、コンピューティングインフラ及びソフトウェアを使用することができる。
【０００６】
データベースのような埋め込まれた第三者ソフトウェアでも同様の問題が発生し得る。これらの埋め込まれたソフトウェアコンポーネントは、別のアプリケーションの一部分として使用するために、多くの場合、ＣＰＵごとに又はサーバーごとにライセンス付与される。そのような課金スキームは、上述したバーチャル化及びクラウドコンピューティングモデルには充分に適合しない。
【０００７】
従って、クラウドコンピューティング及び他のバーチャル具現化の利用が増すと、上述した形式の慣習的ライセンスモデル及びコントロールメカニズムを具現化することが困難になる。
【０００８】
この問題に対して、多くのバーチャル展開は、単に、ハードウェアベースのライセンスコントロールなしにソフトウェアを実行できるだけである。別の解決策は、単に、バーチャル展開を全くサポートしないだけである。更に別の解決策は、ソフトウェア製品の使用に対して異なる方法で課金することであり、例えば、特定のソフトウェア製品の無制限の使用に対して顧客が高い料金を支払うようないわゆる「企業ライセンス」が提供される。これらの解決策は、上述した問題にある程度は対処するが、基礎的な問題に対処するものは皆無である。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、（例えば、クラウドコンピューティング具現化において見掛け上匿名のサーバーに）柔軟な仕方でコンピューティングシステムを設けることができる一方、そのようなシステムの要素（例えば、そのような匿名のサーバーで実行されるアプリケーション）に柔軟であるがコントロールされた仕方でライセンス付与できるようにする構成が要望され続けている。
【００１０】
本発明は、上述した問題の少なくとも幾つかに向けられる。
【課題を解決するための手段】
【００１１】
本発明によれば、ライセンスが要求されるフィーチャー（又はフィーチャーの組み合わせ）へアクセスするための要求を（例えば、ローカルマネージメントモジュール、典型的に、ソフトウェアモジュールで）受け取り（その要求は、アプリケーション、典型的に、そのフィーチャー又はフィーチャーの組み合わせへのアクセスを要求するアプリケーション、から受け取られ）；そのフィーチャーへの暫定的アクセスを与えるべきかどうか決定するために第１のライセンスファイル（典型的にローカルライセンスファイル）を調査し；そしてアドミニストレーションノードと通信する；ことを含み、このアドミニストレーションノードは、第２のライセンスファイルを含み、この第２のライセンスファイル（しばしば中央ライセンスファイル）は、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、更に、アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成されたものである、方法（例えば、ライセンスコントロール方法）が提供される。本発明の１つの実施形態では、第１の（ローカル）ライセンスファイルは、特定のハードウェアノードに制限されない。従って、ローカルライセンスファイルの位置は、自由に変更することができる。この方法は、更に、前記フィーチャーへのアクセスが許可されるかどうか指示する情報を前記アドミニストレーションノードから受け取ることも含む。それとは別に又はそれに加えて、この方法は、更に、前記フィーチャーへのアクセスが許可されないことを示す指示をアドミニストレーションノードから受け取ることも含む。
【００１２】
本発明のある形態において、第１のライセンスファイルは、変更に対して保護される。
【００１３】
本発明のある形態において、第１のライセンスファイルは、（擬似ハードウェア識別子のような）独特の識別子により識別される。
【００１４】
又、本発明によれば、ライセンスが要求されるフィーチャー（又はフィーチャーの組み合わせ）へアクセスするための要求（その要求は、そのフィーチャー又はフィーチャーの組み合わせへのアクセスを要求するアプリケーションのようなアプリケーションから受け取られる）を受け取る第１入力と；そのフィーチャーへの暫定的アクセスを与えるべきかどうか決定するために第１ライセンスファイル（典型的にローカルライセンスファイル）を調査するように構成された第１プロセッサと；アドミニストレーションノードと（例えば、周期的に）通信するための第１出力と；を備え、このアドミニストレーションノードは、第２のライセンスファイルを含み、この第２のライセンスファイル（しばしば中央ライセンスファイル）は、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、更に、アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成され；更に、前記アドミニストレーションノードから応答を受け取るための第２入力も備えた（ローカルマネージメントモジュールのような）装置も提供される。前記第２入力は、前記フィーチャーへのアクセスが許可されるかどうか指示する情報を前記アドミニストレーションノードから受け取る。それとは別に又はそれに加えて、前記フィーチャーへのアクセスが許可されないことを示す指示が第２のライセンスファイルから受け取られる。
【００１５】
本発明のある形態では、前記アドミニストレーションノードとの通信は、周期的に（例えば、１分に一度）生じる。しかしながら、これは、本発明の全ての態様にとって本質的なことではない。例えば、前記アドミニストレーションノードとの通信は、周期的ではなく、時々生じてもよく、例えば、そのような通信は、オンデマンドで生じてもよい。
【００１６】
本発明のある形態では、ライセンス付与されたフィーチャーの使用のレコードが前記アドミニストレーションノードにおいて（例えば、課金目的で）形成される。
【００１７】
所定のアクセス限界に到達した場合には前記フィーチャーへのアクセスが（例えば、前記アドミニストレーションノード／第２のライセンスファイルにより）拒絶される。それとは別に又はそれに加えて、同様の要求が異なるソースから受け取られた場合にも、前記フィーチャーのアクセスが（例えば、前記アドミニストレーションノード／第２のライセンスファイルにより）拒絶される。本発明の１つの実施形態において、前記フィーチャーへアクセスする要求が、所定数を越えるソースから、又は所定セットのソース以外のソースから受け取られた場合にも、前記フィーチャーへのアクセスが拒絶され、従って、前記第２のライセンスファイルを使用して、多数の第１のライセンスファイルの各々にフィーチャーへのアクセスが許可されるが、第１のライセンスファイルの数（及び／又はそれら第１のライセンスファイルのアイデンティティ）が制限される。
【００１８】
又、本発明によれば、ライセンスが要求されるフィーチャー（又はフィーチャーの組み合わせ）へアクセスするための要求を（多くの場合、ローカルマネージメントモジュール、典型的に、ソフトウェアモジュールから）アドミニストレーションノードで受け取り（その要求は、アプリケーション、典型的に、そのフィーチャー又はフィーチャーの組み合わせへのアクセスを要求するアプリケーション、から受け取られ）；そのフィーチャーへのアクセスを与えるべきかどうか決定するために第２のライセンスファイルを調査し、前記ライセンスファイルは、決められたハードウェアノード（決められたアドミニストレーションサーバーの一部分のような−第１のコントローラは、そのような制限をもたない）にインストールされたときしか動作できないように構成され；そして（典型的に前記第２のライセンスファイルのコンテンツに基づいて）前記要求に対する応答を与える；ことを含む方法（例えば、ライセンスコントロール方法）も提供される。前記要求は、フィーチャーへの暫定的アクセスを許可すべきかどうか決定するために使用される第１のライセンスファイルを識別する（例えば、擬似ハードウェア識別子のような独特の識別子を使用して）。
【００１９】
更に、本発明によれば、ライセンスが要求されるフィーチャー（又はフィーチャーの組み合わせ）へアクセスするための要求（その要求は、そのフィーチャー又はフィーチャーの組み合わせへのアクセスを要求するアプリケーションのようなアプリケーションから受け取られる）を受け取る（多くの場合、ローカルマネージメントモジュール、典型的に、ソフトウェアモジュールから）第１入力と；そのフィーチャーへのアクセスを与えるべきかどうか決定するために第２ライセンスファイルを調査するように構成された第２プロセッサであって、前記ライセンスファイルは、決められたハードウェアノード（決められたアドミニストレーションサーバーの一部分のような−第１のコントローラは、そのような制限をもたない）にインストールされたときしか動作できないように構成されたものである第２プロセッサと；典型的に前記第２のライセンスファイルの調査結果に基づいて）前記要求に対する応答を与える第１出力と；を備えた（アドミニストレーションノードのような）装置が提供される。本発明のある形態において、ライセンス付与されたフィーチャーの使用のレコードが前記アドミニストレーションノードにおいて（例えば、課金目的で）形成される。本発明のある形態では、所定のアクセス限界に到達した場合には前記フィーチャーへのアクセスが（例えば、前記アドミニストレーションノード／第２のライセンスファイルにより）拒絶される。それとは別に又はそれに加えて、同様の要求が異なるソースから受け取られた場合にも、前記フィーチャーのアクセスが（例えば、前記アドミニストレーションノード／第２のライセンスファイルにより）拒絶される。本発明の１つの実施形態において、前記フィーチャーへアクセスする要求が、所定数を越えるソースから、又は所定セットのソース以外のソースから受け取られた場合にも、前記フィーチャーへのアクセスが拒絶され、従って、前記第２のライセンスファイルを使用して、多数の第１のライセンスファイルの各々にフィーチャーへのアクセスが許可されるが、第１のライセンスファイルの数（及び／又はそれら第１のライセンスファイルのアイデンティティ）が制限される。
【００２０】
又、本発明によれば、１つ以上のローカルマネージメントモジュール及びアドミニストレーションノードを備えたシステムにおいて、各ローカルマネージメントモジュールは、ライセンスが要求されるフィーチャーへアクセスする要求を受け取るための第１入力と；フィーチャーへの暫定的アクセスを与えるべきかどうか決定するために第１ライセンスファイルを調査するように構成された第１プロセッサと；アドミニストレーションノードと通信するための第１出力と；前記アドミニストレーションノードから応答を受け取るための第２入力と；を備え、そしてアドミニストレーションノードは、ライセンスが要求されるフィーチャーへアクセスする要求を前記１つ以上のローカルマネージメントソフトウェアモジュールのうちの少なくとも１つから受け取るための第１入力と；フィーチャーへのアクセスを与えるべきかどうか決定するために第２ライセンスファイルを調査するように構成された第２プロセッサであって、前記ライセンスファイルは、決められたハードウェアノードにインストールされたときしか動作できないように構成されるものである第２プロセッサと；前記要求に対する前記応答を与えるための第１出力と；を備えたものであるシステムも提供される。更に、各ローカルマネージメントモジュールは、上述したフィーチャーを１つ以上含む。同様に、アドミニストレーションノードも、上述したフィーチャーを１つ以上含む。
【００２１】
更に、本発明によれば、ライセンスが要求されるフィーチャーへアクセスする第１の要求をローカルマネージメントモジュールで受け取り；フィーチャーへの暫定的アクセスを与えるべきかどうか決定するために第１のライセンスファイルを調査し；ライセンスが要求されるフィーチャーへアクセスする第２の要求をローカルマネージメントモジュールからアドミニストレーションノードへ送信する；ことを含み、アドミニストレーションノードは、第２のライセンスファイルを含み、その第２のライセンスファイルは、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成され、更に、フィーチャーへのアクセスを与えるべきかどうか決定するために第２のライセンスファイルを調査し；そして第２の要求に対する応答をローカルマネージメントモジュールに与える；ことを含む方法が提供される。
【００２２】
又、本発明によれば、ライセンスが要求されるフィーチャーへアクセスする要求を受け取るためのコード（又は何らかの他の手段）と；フィーチャーへの暫定的アクセスを与えるべきかどうか決定するために第１のライセンスファイルを調査するためのコード（又は何らかの他の手段）と；アドミニストレーションノードと通信するためのコード（又は何らかの他の手段）と；を備え、アドミニストレーションノードは、第２のライセンスファイルを含み、その第２のライセンスファイルは、前記アドミニストレーションノードにインストールされたときしか動作できないように構成され、アドミニストレーションノードは、前記第２のライセンスファイルを使用して、前記フィーチャーへのアクセスを許可すべきかどうか決定するように構成されたコンピュータプログラムが提供される。このコンピュータプログラムは、コンピュータに使用するために埋め込まれたコンピュータプログラムコードを保持するコンピュータ読み取り可能な媒体を備えたコンピュータプログラム製品である。
【００２３】
更に、本発明によれば、ライセンスが要求されるフィーチャーへアクセスする要求をアドミニストレーションノードで受け取るためのコード（又は何らかの他の手段）と；フィーチャーへのアクセスを与えるべきかどうか決定するために第２のライセンスファイルを調査するためのコード（又は何らかの他の手段）であって、前記ライセンスファイルは、決められたハードウェアノードにインストールされたときしか動作できないように構成されたものであるコード（又は何らかの他の手段）と；前記要求に対する応答を与えるためのコード（又は何らかの他の手段）と；を備えたコンピュータプログラムが提供される。このコンピュータプログラムは、コンピュータに使用するために埋め込まれたコンピュータプログラムコードを保持するコンピュータ読み取り可能な媒体を備えたコンピュータプログラム製品である。
【００２４】
以下、添付図面を参照して、本発明の規範的な実施形態を一例として以下に説明する。
【図面の簡単な説明】
【００２５】
【図１】本発明の１つの態様によるシステムのブロック図である。
【図２】本発明の１つの態様によるアルゴリズムを示すフローチャートである。
【図３】本発明の１つの態様によるシステムのブロック図である。
【図４】本発明の１つの態様によるアルゴリズムを示すフローチャートである。
【図５】本発明の１つの態様によるアルゴリズムを示すフローチャートである。
【図６】本発明の１つの態様によるシステムのブロック図である。
【図７】本発明の１つの態様によるシステムのブロック図である。
【発明を実施するための形態】
【００２６】
図１は、本発明の１つの態様による、参照番号１で一般的に示されたシステムのブロック図である。システム１は、バーチャルマシン２と、バーチャルマシン２の一部分を形成するライセンスファイル４と、クラウドのようなネットワーク６と、アドミニストレーションノード８と、アドミニストレーションノードの一部分を形成する中央ライセンスサーバー（ＣＬＳ）１０とを備えている。中央ライセンスサーバー１０は、バーチャルマシン２のライセンスファイル４とでペアを形成するライセンスファイル１２を備えている。
【００２７】
バーチャルマシン２は、ライセンスファイル４に記憶された情報を使用してソフトウェアをどのように動作すべきか決定するローカルライセンスマネージメントソフトウェアを含む。ライセンスファイル４は、例えば、暗号化方法を使用し、共有シークレットを経て暗号／解読を使用し、又はデジタル署名を使用して、変更に対して保護されたコンフィギュレーションファイルの形態をとる。
【００２８】
システム１は、前記問題に対処するための多段解決策を提供する。
【００２９】
第１の段は、ネットワーク６においてアプリケーションソフトウェアを実行するバーチャルマシン２の内部に展開されるライセンスファイル４により形成される。ローカルライセンスマネージメントソフトウェアは、ライセンスファイル４との組み合わせで、バーチャルマシン２によって提供されるアプリケーション（１つ又は複数）のフィーチャー及び容量の使用をコントロールする。ライセンスファイル４は、いずれかのハードウェアノードにロックされず、従って、バーチャルマシン２がどこで実行されるかに関わらず、そのバーチャルマシンによって使用することができる。
【００３０】
第２の段は、バーチャルマシン２（又は少なくともバーチャルマシン２で実行されるアプリケーション）をマネージするのに使用されるアドミニストレーションノード８に展開されるライセンスコントロール方法より成る。ライセンスファイル４とペアを形成するライセンスファイル１２は、ＣＬＳ１０に記憶される。重要なことに、ライセンスファイル１２は、当該ハードウェアノード（例えば、アドミニストレーションノード８）にロックされる。ライセンスファイル１２は、個々のアプリケーションによって直接使用されず、中央ライセンスサーバーにより使用される。
【００３１】
第３の段は、中央ライセンスサーバー１０のコントロールのもとで多段解決策の段１と段２との間、即ちライセンスファイル４とライセンスファイル１２との間のリモート接続を経てのチェックにより形成される。このチェックは、周期的であるが、本発明の全ての形態にとって本質的なものではない。例えば、このチェックは、連続的であってもよいし、又はオンデマンドで行われてもよい。
【００３２】
図２は、本発明の１つの態様による、参照番号２０により一般的に指示されたアルゴリズムを示すフローチャートである。このアルゴリズム２０は、ステップ２２でスタートし、バーチャルマシン２により提供されるアプリケーションソフトウェアは、特定のフィーチャー又はフィーチャーの組み合わせへのアクセスを要求するカスタムロジックを含む。ローカルライセンスファイル４を調査した後に、要求に対する応答の判断がローカルマネージメントソフトウェアにより行われる（アルゴリズム２０のステップ２４）。従って、ローカルライセンスファイル４のコンテンツは、バーチャルマシン２内のソフトウェアが何を実行できるかコントロールする。
【００３３】
アルゴリズム２０のステップ２６において、バーチャルマシン２のローカルマネージメントソフトウェアは、中央ライセンスサーバー１０へのリモート接続を使用して、中央ライセンスサーバー１０のライセンスファイル１２と周期的に（例えば、１分ごと、等に）通信する。この要求は、ライセンスファイル４を識別する独特の識別子を含み、そして任意であるが、付加的な情報、例えば、ライセンスの形式又は製品の形式を含んでもよい。
【００３４】
ステップ２６で受け取られたメッセージに応答して、中央ライセンスサーバー１０は、ローカルライセンスサーバー４からの要求で受け取られた独特の識別子を使用して、独特な識別子で識別されたライセンスが有効であるかどうか決定する（アルゴリズム２０のステップ２８）。もしそうであれば、中央ライセンスサーバー１０は、ライセンス要求を許可すべきかどうか決定する（例えば、要求の性質及び過去になされた要求に基づいて）。従って、バーチャルマシン２のライセンスファイル４及び中央ライセンスサーバー１０のライセンスファイル１２をリンクするために独特の識別子が使用される。中央ライセンスサーバーは、そのレコードを更新することが必要である（例えば、勘定の目的で）。
【００３５】
アルゴリズム２０は、次いで、ステップ３０へ進み、中央ライセンスサーバー１０は、ローカルライセンスマネージメントソフトウェアと通信する。例えば、中央ライセンスサーバーは、要求されたフィーチャーを使用できることを確認する。或いは又、中央ライセンスサーバーは、ライセンスが、要求されたフィーチャーの使用を許さないことを指示する（例えば、使用限度に到達したために）。ステップ３０は、任意である。例えば、中央ライセンスサーバー１０は、ローカルライセンスファイルを発生できると思う場合には、ライセンスファイル４に連絡しない（即ち、ライセンスファイル４により承認されたがライセンス条件に違反するアクションを防止するためにのみ連絡がなされる）。
【００３６】
システム１は、必要なときにライセンスファイル４を展開できるので柔軟性を与える。実際に、ライセンスファイル４は、必要に応じて移動することができる。同時に、ライセンスファイル１２がアドミニストレーションサーバー８に固定される。支払われたものよりライセンス付与されたフィーチャーにより多くアクセスする試みにおいてライセンスファイル４の複数のコピーがなされる場合には、ライセンスファイル１２は、ライセンスファイル４の付加的なインスタンスを検出するか、又は支払われたものより多くのフィーチャーアクセス要求がなされたことを検出し、そしてライセンスファイル４が許可した要求を拒絶するようにライセンスファイル４に命令する。
【００３７】
システム１において、単一のライセンスファイル４がネットワーク６内の単一バーチャルマシン２の一部分として設けられる。当然、ネットワーク内には多数のバーチャルマシンが設けられ、その各々は、中央ライセンスサーバー１０のライセンスファイル対と通信するライセンスファイルを有する。
【００３８】
図３は、本発明の１つの態様による、参照番号４０で一般的に示されたシステムのブロック図であり、１つのネットワークが単一の中央ライセンスサーバーと通信する複数のバーチャルマシンを有するだけではなく、複数のネットワークが設けられる。システム４０は、第１ネットワーク（又はクラウド）４２と、第２ネットワーク（又はクラウド）４４と、アドミニストレーションノード４６とを備えている。
【００３９】
第１のネットワーク４２は、第１のバーチャルマシン５０及び第２のバーチャルマシン５２を備えている。第１のバーチャルマシン５０は、第１のライセンスファイル５１を含む。第２のバーチャルマシン５２は、第２のライセンスファイル５３を含む。第２のネットワーク４４は、第３のバーチャルマシン５５を含む。第３のバーチャルマシン５５は、第３のライセンスファイル５６を含む。
【００４０】
アドミニストレーションノード４６は、中央ライセンスサーバー４８を含む。中央ライセンスサーバー４８は、第１のライセンスファイル６０、第２のライセンスファイル６１及び第３のライセンスファイル６２を含む。中央ライセンスサーバーの第１、第２及び第３のライセンスファイルは、上述したバーチャルマシンの第１ライセンスファイル５１、第２ライセンスファイル５３及び第３ライセンスファイル５６とペアにされる。
【００４１】
第１のバーチャルマシン５０の第１ライセンスファイル５１は、中央ライセンスサーバー４６の第１ライセンスファイル６０とペアにされる。第１のバーチャルマシンの第１ライセンスファイル５１は、フローチャート２０を参照して上述したように動作する。従って、第１のバーチャルマシン５０により与えられるアプリケーションソフトウェアは、ライセンスが要求される特定のフィーチャー又はフィーチャーの組み合わせへのアクセスを要求する。そのような要求に応答して、第１のバーチャルマシンの第１ライセンスファイル５１は、先ず、アクセスを許可すべきかどうかの判断行う（アルゴリズム２０のステップ２４）。第１ライセンスファイル５１は、中央ライセンスサーバー４８の第１ライセンスファイル６０と周期的に連絡をなす。中央ライセンスサーバー４８の第１ライセンスファイル６０は、必要に応じて、第１のバーチャルマシン５０の第１ライセンスファイル５１と通信し、例えば、第１のバーチャルマシン５０により実行されるアプリケーションからの全ての付加的なライセンスアクセス要求を拒絶する。
【００４２】
第２のバーチャルマシンの第２ライセンスファイル５３は、第１ライセンスファイル５１と同様に動作する。もちろん、ライセンスファイル５３は、中央ライセンスサーバー４８の第２ライセンスファイル６１と通信する。同様に、第３のバーチャルマシン５５の第３ライセンスファイル５６は、ライセンスファイル５１及び５３と同様に機能するが、中央ライセンスサーバー４８の第３ライセンスファイル６２と通信する。
【００４３】
図３に示すように、多数のバーチャルマシンを設けることができ、それらバーチャルマシンの各々は、中央ライセンスサーバー４８と通信するローカルライセンスファイルを有する。バーチャルマシンは、柔軟性のあるものであり、原理的には、どこに配置されてもよい。バーチャルマシンは、移動可能であるが、唯一の制約は、中央ライセンスサーバー４８と通信できる必要があることである。上述したように、２つ以上のネットワークを設けることができる。バーチャルマシンは、１つのネットワークから別のネットワークへ容易に移動することができる。
【００４４】
ネットワーク４２及び４４の特性は、本発明にとって重要ではない。例えば、ネットワーク４２は、ユーザの限定グループに利用できるクラウドのようなプライベートクラウドである。例えば、クラウド４２は、特定の会社の従業員に提供される内部クラウドである。例えば、ネットワーク４４は、誰でもアクセスできるパブリック（又は半パブリック）クラウドである。
【００４５】
従って、システム４０は、バーチャルマシン（及びそれらバーチャルマシンのライセンスファイル）を必要に応じて展開し且つ１つのネットワークから別のネットワークへ移動できるようにもすることで著しい柔軟性を発揮する。同時に、システム４０は、全てのライセンス要求が通信されねばならない中央ポイント（又はアンカー）を設けることでセキュリティを発揮する。中央ポイント（中央ライセンスサーバーのライセンスファイル）を使用して、ライセンス付与されたフィーチャーへのアクセスをコントロールすると共に、ユーザが当該ライセンスにより提供される以上のフィーチャーにアクセスできないように保証することができる。
【００４６】
本発明は、既存の解決策の上に構築することにより具現化できる。例えば、図４は、参照番号１００で一般的に示されたフローチャートであり、本発明を具現化するために既存の解決策をどのように変更できるか示している。
【００４７】
このアルゴリズム１００は、ステップ１０２でスタートし、バーチャルモジュールは、そのモジュールのハードウェアロックフィーチャーをディスエイブルすることによりそのライセンスコントロールを変化させるよう強制される。例えば、ある既知のバーチャルモジュールは、セットできるバーチャル化展開のための「オプション」フラグを有する。ハードウェアロックフィーチャーをディスエイブルすることで、バーチャルマシンをどこにでも展開することができる（本発明により）。
【００４８】
次いで、ステップ１０４において、バーチャルモジュールのライセンスファイルに擬似ハードウェア識別子が設けられる。この擬似ハードウェア識別子は、アルゴリズム２０について上述した独特の識別子である。
【００４９】
最終的に、ステップ１０６において、要求されたライセンスファイルが発生され、そしてバーチャルモジュールを展開すべきシステムの中央ライセンスサーバーに与えられる。中央ライセンスサーバーのライセンスファイルは、バーチャルモジュールに指定された擬似ハードウェア識別子を確認する。
【００５０】
アルゴリズム１００に示すように設定されると、バーチャルモジュールは、当該中央ライセンスサーバーと通信することができ、そして中央ライセンスサーバーは、バーチャルモジュールを識別することができる。それ故、バーチャルモジュールのライセンス付与された機能は、本発明の原理によれば、中央ライセンス当局のコントロールのもとでアンロックすることができる。
【００５１】
アルゴリズム１００は、本発明を具現化する唯一の方法ではないことに注意されたい。アルゴリズム１００の効果は、既存のライセンスコントロールメカニズムの多数のフィーチャーを再使用することである。
【００５２】
図５は、本発明の１つの態様による、参照番号１１０で一般的に示すアルゴリズムのフローチャートである。このアルゴリズム１１０は、既に展開されているバーチャルモジュールに付加的なフィーチャー又は容量を与えることができるようにする。例えば、アルゴリズム１００は、顧客が合意したライセンス更新構成を具現化するのに使用することができる。
【００５３】
アルゴリズム１１０は、ステップ１１２においてスタートし、アップグレードした機能（又はそうではなくて、ダウングレードした又は簡単に変更された機能）を要求するバーチャルモジュールの擬似ハードウェアアイデンティティが要求される。次いで、ステップ１１４において、新たなローカルライセンス（新たなライセンスファイル４のような）が発生され、そしてバーチャルモジュールへ送信される。最終的に、ステップ１１６において、新たに発生されたライセンスファイルがバーチャルマシンにおいて展開される。
【００５４】
以上に述べた本発明の実施形態では、中央ライセンスサーバーにおける対応するライセンスファイルと通信する１つ以上のライセンスファイルがバーチャルモジュールに設けられる。これは、本発明の全ての態様にとって本質的なものではない。例えば、バーチャルモジュールにおけるライセンスファイルの機能は、中央ライセンスサーバーへ移動することができる。そのような構成が図６に示されている。
【００５５】
図６は、本発明の１つの態様による、参照番号１４０で一般的に示されたシステムのブロック図である。このシステム１４０は、ネットワーク１４８（例えば、クラウド）及びアドミニストレーションノード１５０を備えている。
【００５６】
ネットワーク１４８は、第１のバーチャルマシン１４２、第２のバーチャルマシン１４４、及び第３のバーチャルマシン１４６を備えている。アドミニストレーションノード１５０は、中央ライセンスサーバー１５２を含む。中央ライセンスサーバー１５２は、第１ライセンスファイル１５４、第２ライセンスファイル１５５、及び第３ライセンスファイル１５６を含む。これらの第１ライセンスファイル１５４、第２ライセンスファイル１５５、及び第３ライセンスファイル１５６は、各々、第１のバーチャルマシン１４２、第２のバーチャルマシン１４４、及び第３のバーチャルマシン１４６のためのライセンス機能を果たす。システム１４０において、ライセンスファイル１５４、１５５及び１５６は、ハードウェア要素１５０にロックされる。
【００５７】
バーチャルマシン１４２のアプリケーションが、ライセンスが必要なサービスへのアクセスを希望するようなシナリオについて考える。システム１４０において、バーチャルマシン１４２は、アクセスを許可できるかどうか決定するためにライセンスファイル１５４と通信する。ライセンスファイル１５４により許可が与えられたときだけ、要求されたサービスがアンロックされる。
【００５８】
システム１４０において、バーチャルマシン１４２、１４４及び１４６は、フィーチャー及び容量をアクチベートするように自由に構成できるが、それらの構成は、実際には、ネットワーク１４８とアドミニストレーションノード１５０との間のインターフェイスを経て要求が送られた後に適当なライセンスファイル（即ち、ライセンスファイル１５４、１５５又は１５６）がそれを許した後でなければイネーブルされない。本発明の重要な要素は、そのままであり、即ちバーチャルマシンは、いずれかのハードウェアにロックされるのではなく、インターフェイスを経て、ハードウェア要素にロックされたライセンスファイルにリンクされる。
【００５９】
又、中央ライセンスサーバーが真に中央であることは、本発明の全ての態様にとって重要でないことにも注意されたい。本発明の概念は、各バーチャルマシンが、ハードウェア要素にロックされた個別のライセンスサーバーにリンクされる場合に適用できる。換言すれば、全てのライセンスサーバーを同じ位置に（即ち、中央サーバーの一部分として）合体することは重要でない。
【００６０】
上述した本発明の実施形態では、前記中央ライセンスサーバーの各ライセンスファイルは、バーチャルマシンの１つの（及び１つのみの）ライセンスファイルとリンクされる。これは、本発明の全ての態様にとって重要ではない。例えば、中央ライセンスサーバーのライセンスファイルは、複数のローカルライセンスファイルにサービスする。例えば、図７は、本発明の１つの態様による、参照番号１６０で一般的に示されたシステムのブロック図である。
【００６１】
システム１６０は、第１ネットワーク（又はクラウド）１６２、第２ネットワーク（又はクラウド）１６４、及びアドミニストレーションノード１６６を備えている。
【００６２】
第１ネットワーク１６２は、第１のバーチャルマシン１７０及び第２のバーチャルマシン１７２を備えている。第１のバーチャルマシン１７０は、第１のライセンスファイル１７１を含む。第２のバーチャルマシン１７２は、第２のライセンスファイル１７３を含む。第２ネットワーク１６４は、第３のバーチャルマシン１７５を備えている。第３のバーチャルマシン１７５は、第３のライセンスファイル１７６を含む。
【００６３】
アドミニストレーションノード１６６は、中央ライセンスサーバー１６８を含む。この中央ライセンスサーバー１６８は、ライセンスファイル１７８を含む。中央ライセンスサーバー１６８のライセンスファイル１７８は、上述したバーチャルマシンの第１のライセンスファイル１７１、第２のライセンスファイル１７３、及び第３のライセンスファイル１７６とペアにされる。
【００６４】
第１のバーチャルマシン１７０の第１のライセンスファイル１７１は、フローチャート２０を参照して上述したように動作する（それ故、図３を参照して上述したライセンスファイル５１、５３及び５６と同様である）。従って、第１のバーチャルマシン１７０により提供されるアプリケーションソフトウェアは、ライセンスが要求される特定のフィーチャー又はフィーチャーの組み合わせへのアクセスを要求する。そのような要求に応答して、第１のバーチャルマシンの第１のライセンスファイル１７１は、先ず、アクセスを許可すべきかどうかの判断を行う（アルゴリズム２０のステップ２４）。第１のライセンスファイル１７１は、中央ライセンスサーバー１６８におけるライセンスファイル１７８と周期的に連絡する。中央ライセンスサーバー１６８におけるライセンスファイル１７８は、必要に応じて、第１のバーチャルマシン１７０における第１のライセンスファイル１７１と通信し、例えば、第１のバーチャルマシン１７０により実行されるアプリケーションからの全ての付加的なライセンスアクセス要求を拒絶するようにライセンスファイル１７１に命令する。
【００６５】
第２のバーチャルマシンの第２のライセンスファイル１７３は、第１のライセンスファイル１７１と同様に動作し、又、中央ライセンスサーバー１６８のライセンスファイル１７８と通信する。同様に、第３のバーチャルマシン１７５の第３のライセンスファイル１７６は、ライセンスファイル１７１及び１７３と同様に機能し、そして中央ライセンスサーバー１６８のライセンスファイル１７８と通信する。
【００６６】
ライセンスファイル１７８は、最大数のローカルライセンスファイルと通信できるように構成される。従って、その最大値に到達すると、それ以上のアクセス要求は、中央ライセンスサーバーにより拒絶される。或いは又、ライセンスファイル１７８は、多数の所定ローカスライセンスファイル（ライセンスファイル１７１、１７３及び１７６のような）からの要求を許し、他のローカルライセンスファイルは許さないように構成される。更に別の態様では、ライセンスファイル１７８は、所定の機能的限界までのローカルライセンスファイルからの全ての要求を許す。例えば、ライセンスファイル１７８は、所与の期間内に定められた数のサービスアクセス要求を許し、そしてその限界を越える要求は拒絶する。
【００６７】
システム４０と同様に、システム１６０のバーチャルマシンも、柔軟性があり、原理的には、どこにでも配置できる。バーチャルマシンは、それが中央ライセンスサーバー１６８と通信できねばならないとの制約があるだけで、移動することができる。
【００６８】
以上に述べた本発明の実施形態は、例示にためのものであり、それに限定されない。当業者であれば、前記装置及び方法は、本発明の一般的な範囲から逸脱せずに多数の変更を合体できることが明らかであろう。そのような変更は、全て、特許請求の範囲内に包含されることが意図される。
【符号の説明】
【００６９】
１：システム
２：バーチャルマシン
４：ライセンスファイル
６：ネットワーク
８：アドミニストレーションノード
１０：中央ライセンスサーバー
１２：ライセンスファイル
４０：システム
４２：第１ネットワーク
４４：第２ネットワーク
４６：アドミニストレーションノード
４８：中央ライセンスサーバー
５１：第１のバーチャルマシン
５２：第２のバーチャルマシン
５３：第２のライセンスファイル
５５：第３のバーチャルマシン
５６：第３のライセンスファイル
６０：第１のライセンスファイル
６１：第２のライセンスファイル
６２：第３のライセンスファイル
１４０：システム
１４２：第１のバーチャルマシン
１４４：第２のバーチャルマシン
１４６：第３のバーチャルマシン
１４８：ネットワーク
１５０：アドミニストレーションノード
１５２：中央ライセンスサーバー
１５４：第１のライセンスファイル
１５５：第２のライセンスファイル
１５６：第３のライセンスファイル
１６０：システム
１６２：第１ネットワーク
１６４：第２ネットワーク
１６６：アドミニストレーションノード
１６８：中央ライセンスサーバー
１７０：第１のバーチャルマシン
１７１：第１のライセンスファイル
１７２：第２のバーチャルマシン
１７３：第２のライセンスファイル
１７５：第３のバーチャルマシン
１７６：第３のライセンスファイル
１７８：ライセンスファイル
【図１】
0005863128.tif 000002
【図２】
0005863128.tif 000003
【図３】
0005863128.tif 000004
【図４】
0005863128.tif 000005
【図５】
0005863128.tif 000006
【図６】
0005863128.tif 000007
【図７】
0005863128.tif 000008