(57)【特許請求の範囲】
【請求項１】
プロセッサおよびメモリを含むコンピュータで実行され、特定のソフトウェア・アプリケーションの使用に対するエンタイトルメントを与える可能性がある複数のライセンスのもとで、特定の時間フレームの間、当該アプリケーションのインスタンスにエンタイトルメント・スロットを帰属させる方法であって、前記ライセンスはそれぞれ、前記時間フレームの間に当該ライセンスに帰属させられてよいスロットの最大限の数を定義するエンタイトルメント値（Ｅ）を有し、任意の所与のインスタンスは、０以上の前記スロットを消費し得るものであり、前記方法は、前記コンピュータが、
記録されているライセンス帰属情報からライセンス使用シグネチャを判断するステップと、
ライセンスにまだ帰属させられていないインスタンスの通知を受信するステップと、
前記ライセンス使用シグネチャに応じて、新たな前記インスタンスを前記ライセンスのうちの１つに帰属させるステップと、
を含み、
ライセンス使用シグネチャを判断する前記ステップは、
前記ライセンスそれぞれに関して、任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）を、記録されているライセンス帰属情報から判断するステップと、
前記ライセンスそれぞれに関して、インスタンス毎に消費されたスロットの平均数（Ｓ）を、記録されているライセンス帰属情報から判断するステップと、
を含み、帰属させる前記ステップは、
任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）が最も低い何れかのライセンスであって、当該ライセンスに関して新たなインスタンスが当該ライセンスに従い課金対象となるであろう前記確率（Ｃ）に、当該ライセンスに関してインスタンス毎に消費されたスロットの前記平均数（Ｓ）を乗じ、現在の前記時間フレームの間に当該ライセンスに既に帰属させられたインスタンスの数を乗じると、当該ライセンスの前記エンタイトルメント値よりも小さい、前記ライセンスに、前記新たなインスタンスを帰属させるステップ
を含む方法。
【請求項２】
前記シグネチャは、典型的なライセンス使用パターンを表し、帰属させる前記ステップは、前記新たなインスタンスを前記ライセンスのうちの最も好都合なものに帰属させ、その一方で、前記ライセンスの条件に確実に準拠することを含む、請求項１に記載の方法。
【請求項３】
前記ライセンスそれぞれに関して、任意インスタンスが当該ライセンスに従い課金対象となるであろう前記確率（Ｃ）は、各時間フレーム内にスロットが帰属させられたインスタンスの数（ｄＮ）と、同じ前記時間フレーム内に当該ライセンスを用いたインスタンスの総数（ｄＬ）との比の、過去の記録内のすべての時間フレームにわたる平均として計算される、請求項１に記載の方法。
【請求項４】
インスタンス毎に消費されたスロットの前記平均数（Ｓ）は、過去の前記記録内に含まれている各時間フレームに消費されたスロットの数（ｄＣ）と、同じ当該時間フレーム内にスロットが帰属させられたインスタンスの数（ｄＮ）との比の、前記過去の記録内のすべての時間フレームにわたる平均として計算される、請求項３に記載の方法。
【請求項５】
個々の前記エンタイトルメント値（Ｅ）に所定の保護閾値（Ｐ）が乗じられ、その結果、前記エンタイトルメント値（Ｅ）は、各ライセンスによって定義されている厳密な前記最大限よりも小さくなる、請求項４に記載の方法。
【請求項６】
前記時間フレームは１日である、請求項１〜５に記載の方法。
【請求項７】
特定のインスタンスによって消費されるスロットの前記数は、前記インスタンスが実行されるプロセッサの数によって決まる、請求項１〜６に記載の方法。
【請求項８】
請求項１〜７のうちの何れか１項に記載の方法の前記ステップを、コンピュータに実行させる、コンピュータ・プログラム。
【請求項９】
請求項８に記載のコンピュータ・プログラムがエンコードされている、コンピュータ可読記録媒体。
【請求項１０】
請求項１〜７の何れか１項に記載の方法の前記ステップを実行する手段を含むシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライセンス管理の分野に関し、特に、ソフトウェア・ライセンスの帰属（ａｔｔｒｉｂｕｔｉｏｎ）に関する。
【背景技術】
【０００２】
ソフトウェアは、一般に著作権法によって保護され、ユーザが著作権を所有していないソフトウェアのあらゆる使用は、著作権所有者からのライセンスに依存する。そのようなライセンスは、一般に、ソフトウェアが使用されてよい方法、具体的には所与のシステム上で同時にソフトウェアを使用してよい同時ユーザの数、ソフトウェアがインストールされてよいマシンの数などに関して制限を加える。当然、一般に、ライセンスには支払いが必要であり、ソフトウェア使用の範囲及び性質によっては、継続的な支払いが必要となり得る場合もある。さらに、時間がたつにつれて使用が変化し、特定のライセンスではそのソフトウェア使用が十分にカバーされなくなった場合には、代わりのライセンス条件を得ることができることもある。一方には多数のユーザ及びマシン、他方には種々の異なる支払い又は使用料構造がある企業環境では、特定のライセンスと、特定の使用との関連付けが、次第に複雑になる可能性がある。そのような状況では、ソフトウェアの利用を監視することを役割とするライセンス管理ソフトウェアを提供することが既知である。
【０００３】
ライセンス管理の領域における最近の発明は、ソフトウェアのインストール又は使用と、対象のソフトウェアのいくつかの有効なライセンスのうちの最も適切なものとを関連付けるために、いくつかの異なる方法を適用している。これらの方法の目的は、過剰調達をする必要なく、諸条件に準拠した状態を保つために、ライセンスの使用を最適化することである。
【０００４】
特許文献１は、コンピュータ上のソフトウェア製品の利用を制御及び測定する方法及び対応する装置を開示している。同じ製品にいくつかのライセンスが利用可能である場合に、ライセンスを最大限に活用するために最良のライセンスを判断する方法が提案されている。上記の判断は、利用可能な最良のライセンスの選択に影響を与える所定のパラメータのセットに基づく。ライセンスは、製品の利用制約を示すパラメータの関連するリストとともに、カタログに記憶される。ライセンスは、所定のパラメータ最適化基準に従って順序付けられ、その結果、リクエストが受信されると、ライセンス・マネージャは、例えばリクエストされた使用に適していて最も高い利用制約を有する当該ライセンスなど、最良のライセンスを容易に発見できる。さらなる特徴は、ライセンスが、１つ以上の階層に従って順序付けられることであり、各階層が、所定の優先ルールに従って他の階層に対して順序付けられる。
【０００５】
この従来技術の方法は、２つのライセンスが類似の特徴を有する場合、単純な手法を適用して、ライセンス間に利用セッションを均等に分配しようと試みる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開第０８０５２８０（Ａ１）号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
これらの方法すべての欠点は、最良の選択をしようとする試みにより決定される、固定のルールに選択が基づくということである。現実のシナリオでは、ソフトウェアの使用がルールにおいて想定された論理とは大きく異なることもあり、この方法によって、準拠していない、又は最適化されていないライセンス使用につながる選択が行われることもある。
【課題を解決するための手段】
【０００８】
本発明によれば、添付の独立請求項１に記載の、複数のライセンスのもとでエンタイトルメント・スロット（ｅｎｔｉｔｌｅｍｅｎｔ  ｓｌｏｔ）を帰属させる（ａｔｔｒｉｂｕｔｅ）方法と、添付の請求項１０に記載のコンピュータ・プログラムと、添付の請求項１１に記載のコンピュータ可読媒体と、添付の請求項１２に記載のシステムとが提供される。好適な実施形態が、従属請求項において定義される。
【０００９】
図面及び詳細な説明を検討すれば、本発明のさらなる利点が当業者には明白となる。任意のさらなる利点が、本発明に包含されるものとする。
【００１０】
以下、本発明の実施形態について、添付の図面を参照して例として記載する。図面では、同じ参照符号は同様の構成要素を示す。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の好適な実施形態の方法ステップの概略図である。
【図２】本発明の第２の好適な実施形態の方法ステップの概略図である。
【図３】特定の実施形態の機能要素の概略ブロック図を示す。
【図４】特定の実施形態を実装するのに適したコンピュータ環境を示す。
【発明を実施するための形態】
【００１２】
上記に鑑み、アプリケーションが起動すると、その時点で最良のライセンスをアプリケーションに割り当てられるように、１つのソフトウェアのインスタンスの実行など、所与の動作のインスタンスに対して、最良の適用可能なライセンスを動的に選択する方法を提供することが望まれる。アプリケーションの存続期間の間に、最良のライセンスが変化すること、又は使用されているライセンスが適用可能でなくなることがあり得る。以下が一部の例である：
−アプリケーションが起動したときに使用中であったライセンスが、特定の時間に解放されたため、それが最良の利用可能なライセンスとなる。
−もとのライセンスが何らかの形で変更されたため、使用できなくなる。例えば追加の制約の追加によって、アプリケーションが実行されているオペレーティング・システムに適用可能でなくなったなど。
−ハードウェア構成又は組織的階層において何かが変化し、例えば：
ａ．アプリケーションをホストしているＯＳ（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ：オペレーティング・システム）が、１つの部門から別の部門へ移動されることにより、もとのライセンスが適用可能でなくなるか、又は別のライセンスが最良の利用可能なライセンスになる。
ｂ．アプリケーションが実行されているＯＳをホストしているＨＷ（ｈａｒｄｗａｒｅ：ハードウェア）がアップグレードされる（アプリケーションを停止せずに）ことにより、ライセンスが適用可能でなくなる。
【００１３】
これらは、ライセンス・プロパティ、ハードウェア（すなわちリソース）・プロパティ、組織のプロパティ（すなわちグループ・プロパティ）、又はこれらエンティティの何れかの間の関係のプロパティに対する変更の単純な例である。これらの変更は、別のライセンスが最良のライセンスになることを意味し得る。
【００１４】
本発明の実施形態は、以下、例として完全なライセンス解釈システムの文脈で記載されるが、当然のことながら本発明は、より単純な環境若しくは異なる環境にも、又は完全なスタンド・アロン・ソリューションとしても同様に実装され得る。
【００１５】
組織は、一般に、企業の地理的又は組織的区分を表す階層に分割される。ライセンスは、こうした階層の種々のレベルにて取得又は割り当て可能である。このため、ソフトウェア・インスタンスに割り当てる最良のライセンスを決定するとき、こうした階層が考慮に入れられることが好ましい。
【００１６】
ライセンス解釈システムは、例として以下の入力を受け取り得る：
階層に基づくライセンシー組織の抽象化：１つの階層を地理的階層（大陸、地域、州、都市）、別の階層を組織的階層（開発ラボ、コード開発チーム、Ｊａｖａ開発部門）とすることができるであろう。グループ階層のセット（各グループは上で列挙した見本のエンティティのうちの１つ）が定義される。各階層は、それ自体の識別子を有し、これにより、各階層の一部であるグループを区別できる。階層内のグループは、同じ階層内に親を有することができ、任意の時点で他の階層の最大１つのグループに（子として）関係付けられることができる。階層識別子は、階層のランキングをもたらす。１つの階層内のグループは、より高いランクの階層のグループのみに（子として）関連付け可能である。
【００１７】
もう１つの階層は、仮想化レイヤを含む。各ノードが、当該の階層のルートであり、その子は、共有プール、論理パーティション（ＬＰＡＲ：Ｌｏｇｉｃａｌ  Ｐａｒｔｉｔｉｏｎ）、ＶＭ、オペレーティング・システム、及びコンテナ（ＩＢＭ（ＩＢＭ社の登録商標）ＷｅｂＳｐｈｅｒｅ（ＩＢＭ社の登録商標）により提供される）とすることができるであろう。そのような階層の各メンバは、リソースである。リソースは、その親リソースに関係付けられ（ルートはノードである）、さらに各グループ階層の最大で１つのグループに関係付けられることができる。リソースは、任意の時点に、１つの親を有し、各階層の１つのグループに関係付けられることができるが、これは、２つの異なる時点では、２つの異なるリソース親を有すること、又は同じ階層内の関係付けられた複数のグループを有することができるということを意味する。
【００１８】
リソース間、グループ間、又はリソースとグループとの間のあらゆる関係は、有効時間間隔を用いてタグ付けされるが、これは例えば、部門ライセンス・マネージャがある期間、開発ラボの一部であったが、別の期間に例えば調査ラボに移動されたこと、又はオペレーティング・システムが、ある期間マシンＡ上でホストされ、続いて、例えばアップグレードのためにマシンＢに移動されたことなどを意味する。
【００１９】
各リソース又はグループは、特定のプロパティと関連付けられてもよい。プロパティは、例えば、ノードのプロセッサの数、オペレーティング・システムのメモリの量、部門内の従業員の数など、各エンティティについての有用なデータを読み出すライセンシング・システムの能力によって決まる。こうしたプロパティが収集されるのは、ライセンスが使用された量を算定するために価格モデルがこれを必要とする可能性があるためである（例えば、特定のライセンスは、ソフトウェア利用を算定するために仮想化階層の各レベルの容量情報を必要とする）。
【００２０】
アルゴリズムのもう１つの入力は、ライセンス・システムに認識されるユーザのセットである。これらのユーザは、ソフトウェアをインストール又は実行しているユーザであり、企業の従業員のサブセットのみにライセンス消費を限定するためにも使用可能である。各ユーザは、追加のプロパティを用いてタグ付け可能であり、このプロパティは、ライセンシング・システムが読み出すことができライセンス算定のために何らかの価格モデルに有用となり得る、ユーザの任意の属性を記述する。
【００２１】
さらに別の入力は、ライセンスのセットであり、それぞれのライセンスが、ライセンシング・システムによってサポートされている１つの価格モデルに関連付けられている。各ライセンスは、複数のディストリビューション（ｄｉｓｔｒｉｂｕｔｉｏｎ）、すなわち、ライセンスの使用を許可されている別々の対象にそれぞれ関連付けられる、ライセンス・エンタイトルメントの区分に分割される可能性もあり得るであろう。各ディストリビューションは、このディストリビューションの使用を許可されているターゲットのセット（グループ又はリソース）を有し、これらターゲットそれぞれに関して、１つ以上の関連付け有効間隔が提供され、この時間間隔においてのみ、ターゲットがライセンスの使用を許可されていることを意味する。さらに、各ディストリビューションが、すべてのユーザ又はそのサブセットと関連付けられ、したがって、それを使用することができるユーザが限定されてもよい。この場合もやはり、これらの関連付けはそれぞれ、関連付けの有効性を詳しく示す１つ以上の時間間隔により補われる。
【００２２】
ライセンス条件の変形は無数に想定され得る。例えば：
−開発ラボの任意の従業員が使用できるライセンス（ターゲットは、開発ラボを表すグループである一方、ユーザの制限はない）
−イタリアの任意の従業員が使用できるライセンス（ターゲットは、地理的位置のイタリアを表すグループである。ユーザの制限はない）
−特定のハードウェア・システム上（特定のＰＣ上など）でのみ使用可能なライセンス。ターゲットは、特定のハードウェアを表すリソースである一方、ユーザ制限はない
−指名されているユーザによってのみ使用可能なライセンス。ターゲットは企業全体であるが、ライセンスを１つのユーザにのみ関連付けるユーザ制限がある。
【００２３】
各ライセンス及びディストリビューションは、関連するプロパティを有し、これは、ライセンス及びディストリビューションを定義するときにユーザによって入力され、ライセンス利用及び準拠を算定するためにライセンスに関連する価格モデルが必要とする値である。これらの例は、アプリケーションが実行されているプロセッサの数、又はティア・ライセンスなどのライセンスに関する複数の数などであり、ティア・ライセンスでは、それぞれの数が異なるハードウェア・ティアに関する。
【００２４】
利用とライセンスとの優良な関連付けを確保するために、ライセンシング・システムは非消費ライセンスの概念をサポートする。ライセンス（又は価格モデル）は、ユーザが、ソフトウェア利用の量とは無関係にライセンスに同じ金額を支払わなければならない場合に、消費されないものとしてフラグを立てられることが可能である。例えば、特定の開発グループで使用される所定の製品に関するサイト・ライセンスが、非消費ライセンスのよい例となり得るであろう。ラボは、ライセンスを取得するときにその代金を支払い、一度支払えば、追加の料金を支払う必要なく、ライセンスの超過使用のリスクもなく、希望するだけ頻繁にその製品を使用することができる。そのようなライセンスが製品に利用可能であれば、超過使用のリスクも、追加料金を支払う（ペイ・パー・ユース・ライセンスなど）必要もなく使用を関連付けることができるため、好適なライセンスと見なされなければならない。
【００２５】
この実施形態のライセンス解釈システムは、以下のステップ１〜６を実行する。
【００２６】
１．ソフトウェア利用をもたらしたリソースから開始して、リソース及びグループ階層をナビゲートし、各時間間隔においてそのリソースから到達可能であり、消費セッション、すなわち利用スロットを関連付ける必要があり得るソフトウェアのインスタンスを生成する製品に関連する、ライセンス・ディストリビューションのセットを抽出する。
【００２７】
リソース階層が、最初に巡回されるものである。各リソースの親が、そのリソース自体の後に巡回される。複数の親の場合、時間順にそれらを巡回することができる（しかしこれは、アルゴリズムの正確さのために厳密に必要とされるものではない）。リソースを巡回する間、アルゴリズムは、各リソースから到達可能なグループのリストを収集する。リソース階層の巡回を完了した後、アルゴリズムは、グループ階層に移動するが、これはより低いランク（すなわち最高のｉｄ）の階層から始められる。巡回の間、到達可能時間間隔が常に維持される。
【００２８】
２．ユーザ制限に基づき各ライセンスの有効時間を選択する。ライセンス（又はディストリビューション）にユーザ制限がなければ、常に消費セッションに関連付け可能である。その他の場合、ライセンス（又はディストリビューション）は、消費セッションがライセンス（又はディストリビューション）に関連付けられていない期間に関連付けはできない。２つのステップは独立しているため、このステップはステップ１より前にも実行可能である。
【００２９】
３．消費セッションに関連付け可能なすべてのライセンス（又はディストリビューション）に関して、セッションが本当に割り当て可能か、及びどの時間間隔かを価格モデルに問い合わせる。一部の価格モデルは、関連付けられる消費セッションに関してさらなる制約を課す。例えば、指定されている第２の製品もマシン上にインストールされている場合のみライセンス（又はディストリビューション）に消費セッションが関連付けられることを許可し、その他の場合はライセンスを使用できない価格モデルなどである。その結果、関連付けは、参照されている製品もさらにマシンにインストールされている時間間隔の間のみ可能である。
【００３０】
４．アルゴリズムが、関係のある時間間隔を備え消費セッションに関連付け可能なライセンスのリストを得ると、アルゴリズムは、非消費ライセンスを優先させる。
【００３１】
５．有効なライセンスが発見されなければ、ターゲット制約に基づき、アルゴリズムは、「デフォルト」としてマークされていて、時間間隔を備えすべての階層のルートから到達可能なライセンス（又はディストリビューション）を、到達可能性に関して検索する。消費セッションをもたらす製品に関連付けられた最も近いライセンス（又はディストリビューション）が、その関連付けに有効な第１のライセンスと見なされる。
【００３２】
６．３つ以上のライセンス（又はディストリビューション）が、所与の時間間隔に関して得られる（その２つが同じリソース又はグループに関連付けられているため）と、アルゴリズムは、利用ライセンスよりもインストール・ライセンス（又はディストリビューション）を優先させる。
【００３３】
当然のことながら、当業者が想到し得る、ライセンス条件を自動的に解釈、選択、適用する他の方法が、添付の特許請求の範囲において定義されている本発明に等しく対応する。
【００３４】
ここまで記載したライセンス管理システムは、各ライセンスの予想される消費を考慮せずに、利用セッションをライセンス間に均等に分配しようとする。
【００３５】
しかし、本発明は、ライセンス管理システムが、ソフトウェア・インベントリ及び使用情報を含むデータベースを既に有するということの認識に基づく。データは、数ヶ月、又は数年も遡ることもある。最近の過去のデータは、典型的な使用パターンのよい指標であり、任意の特定の日のソフトウェア使用は、過去１週間、２週間、又はその他任意の適度に最近の期間に観測されたパターンにマッチする可能性が高いと想定できる。ライセンス管理システムは、最も「好都合な」ライセンスの使用を最適化して、どのライセンスも非準拠状態にならないことを保証するために、組織の様々な部門において典型的に使用されるソフトウェア・インスタンスの数と、それが任意の特定の１つのソフトウェアに適用可能なライセンスのライセンス使用に関して生じる結果とについての知識を用いて、各使用に対し最も適切なライセンスを選んで、ライセンス間に現在の使用を最適な形で分配することができる。
【００３６】
したがって、２つのインストール若しくは利用ライセンス（若しくはディストリビューション）がある場合、又は実際にその他任意の文脈で２つのライセンスから選ぶ必要がある場合、アルゴリズムは、使用する最良のライセンスがどれであるかを知るために、過去の利用データを使用する。論理は、システムが時間をかけて蓄積したデータから得られた統計指標に基づく。したがって、特定の１つのソフトウェアに対する権利を与える可能性がある複数のソフトウェア・ライセンスに基づくエンタイトルメント・スロットを、前記１つのソフトウェアのインスタンスに特定の時間フレームの間、帰属させる方法が提供される。前記ライセンスはそれぞれ、前記時間フレームの間に当該ライセンスに帰属させられてよいスロットの最大限の数を定義するエンタイトルメント値（Ｅ（Ｅｎｔｉｔｌｅｍｅｎｔ：エンタイトルメント））を有し、前記方法は、
記録されているライセンス帰属情報（ｌｉｃｅｎｓｅ  ａｔｔｒｉｂｕｔｉｏｎ  ｉｎｆｏｒｍａｔｉｏｎ）からライセンス使用シグネチャ（ｌｉｃｅｎｓｅ  ｕｓｅ  ｓｉｇｎａｔｕｒｅ）を判断するステップと、
まだライセンスに帰属させられていないインスタンスの通知を受信するステップと、
前記ライセンス使用シグネチャに応じて、新たなインスタンスを前記ライセンスのうちの１つに帰属させるステップと、
を含む。
【００３７】
好適には、モデルが、典型的なライセンス使用パターンを表し、帰属させる前記ステップは、前記新たなインスタンスを前記ライセンスのうちの最も好都合なものに帰属させ、その一方で、ライセンスの条件に確実に準拠することを含む。
【００３８】
時間フレームは、対象のライセンスにおいて定義されている、１以上の時間、日、週など、又はその他任意の期間であればよい。必要に応じ、時間フレームは、ライセンスにおいて定義されている期間の一部としてもよい。スロットは、時間フレーム間に必要に応じて分配されるとよく、使用されない時間フレームは、同じライセンス期間内の後の時間フレームに渡される。時間フレームは、同じソフトウェアに適用可能な様々なライセンスの期間の最小公分母として選ばれてもよい。
【００３９】
以下の例では、機能上の観点から、同じソフトウェアを対象にするいくつかのライセンスが存在すると想定される。これらのライセンスそれぞれが、所与の日に消費されてよいいくつかの使用スロットＥ（エンタイトルメント）を定義し、各使用スロットが、単一プロセッサ上でソフトウェアを一度実行すること、すなわち１つのソフトウェア・インスタンスに対応する。同じソフトウェアがマルチプロセッサシステム上で一度実行される場合、消費されるスロットの数に、そのシステム内のプロセッサの数が乗じられてもよい。すなわち、特定のインスタンスによって消費されるスロットの数は、インスタンスが実行されるプロセッサの数によって決まってもよい。一部のライセンスでは、スロットが消費される必要があるのは、所与の日の最初の実行に関してのみであることもあり、同じライセンスに帰属する続く任意の実行は、単に同じスロットに入る。当然、これにならった広範囲の変形及び置換が考えられてもよい。
【００４０】
以下の値が考慮され得る。
【００４１】
ｄＣ＝所与のライセンスに関して、過去使用データから判断される、特定の日に消費されたスロットの総数。
【００４２】
ｄＮ＝所与のライセンスに関して、特定の日にそのライセンスに帰属させられた課金ソフトウェア・インスタンスの数。課金ソフトウェア・インスタンスは、少なくとも１つのスロットの消費につながるインスタンスである。
【００４３】
ｄＬ＝所与のライセンスに関して、特定の日にそのライセンスに帰属させられたソフトウェア・インスタンスの数。この値は、スロットの消費につながるか否かにかかわらず、帰属させられたすべてのインスタンスを考慮に入れる。
【００４４】
当然のことながら、所与のライセンスに関して、ｄＮは、常にｄＬより小さいか、等しい。
【００４５】
0005643307.tif 000002
【００４６】
ｄａｙ ｄ−１及びｄａｙ ｄ−２に関して先行する表に例として示された過去の情報から、値ＣとＳが計算される。
【００４７】
Ｓ＝ＡＶＧ（ｄＣ／ｄＮ）：ライセンスの消費量と、消費インスタンスの数との比の平均である。この値は、非ゼロの寄与度を伴うｓｗ（ｓｏｆｔｗａｒｅ：ソフトウェア）インスタンスの平均消費を表す。
【００４８】
Ｃ＝ＡＶＧ（ｄＮ／ｄＬ）：ライセンスに関連付けられたソフトウェア・インスタンスが、ライセンス消費に非ゼロの影響を有する確率の平均である。
【００４９】
0005643307.tif 000003
【００５０】
ここで、ｄａｙ  ｄ、すなわち「今日」を見るが、これは、本発明によるライセンス帰属最適化が実装される、部分的に終わっている日である。
【００５１】
Ｒ（ｎ）＝Ｅ−Ｎ×Ｃ×Ｓは、ｎのインスタンスがライセンスに割り当てられた後の平均の残余容量である。
【００５２】
0005643307.tif 000004
【００５３】
上に示したように、これまでのところ、各ライセンスの４つのスロットが、各ライセンスに帰属している。さらなる消費インスタンスが検出されると、上記に記載したように計算された過去の値を参照することによって、それをどのライセンスに帰属させるべきかが判断される。具体的には、システムは、２つ以上のライセンスの中から選ぶことを要求されると、より小さいＣ及び０より大きいＲを有するライセンスに、インスタンスを割り当てる。
【００５４】
本例では、ライセンス１は、Ｃ＝３／８、Ｒ＝１であり、ライセンス２は、Ｃ＝１，Ｒ＝０であるから、次の消費インスタンスは、ライセンス１に帰属させられる。
【００５５】
実際、特定の実施形態によれば、利用可能なＲがあるまで（（５／２）＊３＝７インスタンス）ライセンス２が使用され、その後は、より高いＣを有していてもライセンス１が使用される。
【００５６】
したがって、ライセンス使用シグネチャを判断するステップは、
前記ライセンスそれぞれに関して、任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）を、記録されているライセンス帰属情報から判断するステップと、
前記ライセンスそれぞれに関して、インスタンス毎に消費されたスロットの平均数（Ｓ）を、記録されているライセンス帰属情報から判断するステップと、
を含むとよく、帰属させるステップは、
任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）が最も低い何れかのライセンスであって、当該ライセンスに関して新たなインスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）に、当該ライセンスに関してインスタンス毎に消費されたスロットの平均数（Ｓ）を乗じ、現在の時間フレームの間に当該ライセンスに既に帰属させられたインスタンスの数を乗じると、当該ライセンスのエンタイトルメント値よりも小さい、該ライセンスに、新たなインスタンスを帰属させるステップ
を含むとよい。
【００５７】
さらに、前記ライセンスそれぞれに関して、任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）は、各時間フレーム内にスロットが帰属させられるインスタンスの数（ｄＮ）と、同じ時間フレーム内に当該ライセンスを用いたインスタンスの総数（ｄＬ）との比の、前記過去の記録内のすべての時間フレームにわたる平均として計算されることが好ましい。
【００５８】
インスタンス毎に消費されたスロットの平均数（Ｓ）は、前記過去の記録内に含まれている各時間フレームに消費されたスロットの数（ｄＣ）と、同じ時間フレーム内にスロットが帰属させられたインスタンスの数（ｄＮ）との比の、前記過去の記録内のすべての時間フレームにわたる平均として計算されることが好ましい。
【００５９】
特定のライセンスに割り当てられるインスタンスの数がそのエンタイトルメントＥを超えると、そのシステムの使用は違法となる。この状況を防ぐ１つの方法として、ハード・リミットを課すことも考えられる。その結果、ライセンス帰属システムは、エンタイトルメントの限度に達したライセンスに、インスタンスを帰属させなくてよい。しかし、この結果として、いかなるライセンスを割り当てることも不可能になること、又はソフトウェアの実行が完全に防がれることもあり得る。高需要のライセンスのより洗練された処理をもたらす代替手段では、エンタイトルメントに保護閾値Ｐ（ｐｒｏｔｅｃｔｉｏｎ：保護）を適用することが要求され、Ｅ＝Ｅ＊Ｐ／１００が与えられる。このようにして、特定のライセンスに負荷をかけすぎることを避けるために、計算に安全マージンが組み込まれる。したがって、個々のエンタイトルメント値（Ｅ）に所定の保護閾値（Ｐ）が乗じられ、その結果、エンタイトルメント値（Ｅ）は、各ライセンスによって定義されている厳密な最大限よりも小さくなる。
【００６０】
なお、単純にするために、前述の例で選ばれた値は非常に小さく、何れの場合でも本発明に頼ることなく最も適切なライセンスを特定することは簡単な事柄であろう。当然のことながら、ライセンス及び利用インスタンスの数並びに複雑さが増すにつれて、本方法はますます有用になる。
【００６１】
このようにして、組織が実際にどのようにソフトウェアを使用するかの知識に基づき、ソフトウェア使用の最も適切なライセンスへの関連付けが改善され、その結果、最適でない選択をするリスクが減る。
【００６２】
さらに、ソフトウェア利用と、ライセンスとの関連付けは、複雑な組織及び仮想化階層の存在下で、利用が提供されてよいことを立証する一方で、大きく異なる価格モデルをサポートするよう十分一般的に方法を維持する。ライセンス関連付け論理は、既存のライセンスの利用を最大化し、そのそれぞれが、超過使用に至ること（エンタイトルメント・レベルより大きい利用）を避けるべきである。
【００６３】
図１は、本発明の第１の好適な実施形態の方法ステップの概略図である。本発明の方法は、非消費ライセンスを消費ライセンスよりも優先させ、結果としてライセンスの関連付けを最適化することによって、複雑な組織的構成及び仮想化階層の処理を可能にする。さらに、関連付けの処理において、ライセンス使用シグネチャ特有の制約を含めることを可能にし、したがって、異なる価格モデル及びその制約をサポートする。
【００６４】
この手法は、消費セッションをもたらす製品ではなく、消費製品の階層内の製品すべてに関連付けられたすべてのライセンスを考慮することによって、製品階層にも拡大可能である。
【００６５】
好適なライセンスを、消費リソースからのその距離と、階層の相対的順序との混合に従って順序付ける方法は、いくつかの可能性のうちの１つにすぎない。１つの代替手段として、すべての属性を、場合によって相対的な重みと結合して、各ライセンスの全体的な「優先値」を計算することが考えられる。
【００６６】
図１に示されているように、本方法は、新たな時間フレームの始まりの、ステップ１００にて開始し、ステップ１０５へ進み、そこで値Ｎが各ライセンスに関してゼロにセットされる。上記のように、Ｎは、所与の時間フレーム内にスロットが帰属させられるスロット消費インスタンスの数であり、したがって、新たな時間フレームの最初に、ゼロにセットされなければならない。次に、本方法はステップ１１０へ進み、記録されているライセンス帰属情報からライセンス使用シグネチャが判断される。本方法は、次に、まだライセンスに帰属させられていないインスタンスの通知を待ち、それがステップ１２０にて受信されると、本方法はステップ１３０へ進み、そこで、新たなインスタンスが、ステップ１１０にて生成されたライセンス使用シグネチャに応じてライセンスのうちの１つに帰属させられる。ステップ１５０にて、続いて本方法は、時間フレームの最後に達したか否かを判断する。時間フレームの最後に達した場合、本方法はステップ１０５に戻り、Ｎが０にリセットされ、その他の場合は、本方法はステップ１１０に戻り、そこで新たな利用状況を反映するようライセンス使用シグネチャが更新される。
【００６７】
図２は、本発明の第２の好適な実施形態の方法ステップの概略図である。図２の実施形態は、図１に関して前述したのと同じ基本的なステップ１０５、１１０、１２０、１３０、１５０を含み、ステップ１１０及び１３０内に、さらなる任意選択のサブステップが提供されている。具体的には、図２の実施形態によれば、ライセンス使用シグネチャを判断するステップ１１０は、ライセンス帰属情報をロードするサブステップ２１１にて開始する。本方法は続いて、記録されているライセンス帰属情報から、各ライセンスに関して、任意インスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）を判断するサブステップ２１３へ進む。本方法は次に、前記ライセンスそれぞれに関して、インスタンス毎に消費されたスロットの平均数（Ｓ）を、記録されているライセンス帰属情報から判断するステップ２１４へ進む。これら２つのステップは、当然、任意の順序で実行されても、並行して実行されてもよい。
【００６８】
その一方で、この第２の好適な実施形態によれば、帰属させるステップ１３０は、インスタンス属性を抽出するサブステップ２３１から開始する。インスタンス属性は、インスタンス化されているソフトウェア、ユーザ、ソフトウェアがインスタンス化されている環境を特定する情報、及び上記のように、インスタンス化されたソフトウェアを対象とする権利を提供する適したライセンスを特定するために必要なその他任意の情報を含むとよい。この情報に基づき、ステップ２３２にて、本方法は、インスタンス化されたソフトウェアを対象とする権利を提供する候補ライセンスの選択へ進み、その中から、新たなインスタンスを帰属させる最適なライセンスが選択されなければならない。ステップ２３３にて、本方法は、第１の候補ライセンスＬ＝１を選択する。ステップ２３４にて、現在選択されている候補ライセンスに関して、新たなインスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）に、当該ライセンスに関してインスタンス毎に消費されたスロットの平均数（Ｓ）を乗じ、現在の時間フレームの間に当該ライセンスに既に帰属させられたインスタンスの数を乗じると、当該ライセンスのエンタイトルメント値よりも小さくなるかどうかが判断される。小さければ、本方法はステップ２３５へ進み、そこで、現在選択されているライセンスに従い任意インスタンスが課金対象となるであろう確率（Ｃ）が、それまで検討された候補ライセンスのうちで最も小さいかどうかが判断される。最も小さければ、ステップ２３６にて、それまで検討された最有力候補としてライセンスが印を付けられ、それからステップ２３７へ進む。ステップ２３４又は２３５のテスト何れかが失敗した場合、本方法は直接ステップ２３７へ進む。何れの場合も、ステップ２３７にて、本方法は、現在検討されているライセンスが候補ライセンスの最後のものであるか否かを判断する。最後のものでなければ、Ｌの値がステップ２３８にて１インクリメントされ、その結果、上記のようにステップ２３４から次の候補ライセンスの検討へ進む。現在検討されているライセンスが最後の候補ライセンスであると判断されれば、本方法は、ステップ２３９へ進み、そこで、ライセンスが適していると印を付けられているか否かが判断される。ライセンスが上述のように印を付けられていれば、本方法はステップ２４１へ進み、そこで新たなインスタンスにより必要とされるスロットが、印を付けられたライセンスに帰属させられる。本方法は、続いて、ステップ２４２にてＮをインクリメントしてから、上記のようにステップ１５０に達する。どのライセンスも印を付けられていない場合、本方法はステップ２４０へ進み、そこでインスタンスが、無ライセンスとしてフラグを立てられる。これは、任意選択で、インスタンスの終了又はリソースの拒否につながってもよい。あるいは、通知が、例えば電子メールなどによって、ＩＴスタッフ、調達スタッフなど、インスタンス又はメソッドを実行している、組織の適切な職員に送られてもよい。さらに、例外又は緊急の権利をリクエストできるメカニズムが、自動的に作動してもよい。この応答は、例えばステップ２３１にて収集された属性から判断される、ソフトウェア自体の性質によって決まってもよく、例えば、インスタンスが重要な業務に関すると判断されれば、そのインスタンスは、無ライセンス又は緊急状態のもとで続行を許可されてもよい。次に、本方法は続行し、上記のステップ１５０に達する。
【００６９】
いくつかの等価な候補が特定された場合、均衡状態を解消するものとして他の基準が使用されてもよい。
【００７０】
図３は、特定の実施形態の機能要素の概略ブロック図を示す。図のように、ライセンス・アトリビュータ（ｌｉｃｅｎｓｅ  ａｔｔｒｉｂｕｔｏｒ）３５０が提供され、これは、直線３０１によって表されているインスタンス通知を受信する。この通知を受信すると、ライセンス・アトリビュータ３５０は、命令３５１をソフトウェア・ライセンスのリポジトリ３１０に発行し、インスタンス化されているソフトウェアに関連するライセンスの詳細を読み出す。読み出されたライセンスの詳細３１１は、ライセンス・パーサ３２０に出力され、ライセンス・パーサ３２０は、メッセージ３２１内でエンタイトルメント値Ｅを、以下に記載されているライセンス使用シグネチャ・ビルダの第２のモジュールに提供し、さらに、候補ライセンスの過去の情報を求めるリクエスト３２２を、記録されているライセンス帰属情報データベース３３０に提出する。この過去の使用情報が、メッセージ３３１内でライセンス使用シグネチャ・ビルダ３４０に渡される。ライセンス使用シグネチャ・ビルダの第１のモジュール３４１は、上記のように値Ｃ、Ｓ、及びＮを計算し、これらをライセンス使用シグネチャ・ビルダの第２のモジュール３４２に渡し、これが、各ライセンスに関して、上記のように計算Ｒ（ｎ）＝Ｅ−Ｎ×Ｃ×Ｓにより残余容量値Ｒを計算する。ライセンス使用シグネチャ・ビルダは、Ｒ値のセット３４３及びＣ値のセット３４４をライセンス・アトリビュータ３５０に出力する。したがって、この実施形態によれば、ライセンス使用シグネチャは、各候補ライセンスに関して、Ｒ値及びＣ値を含む。ライセンス・アトリビュータは、このシグネチャを受信すると、上記のように最良の候補ライセンスを選択して、記録されているライセンス帰属情報データベース３３０を、メッセージ３５２を用いて更新する。
【００７１】
当然のことながら、図３に関して記載された機能要素、並びにそれに対応して、図１及び２に関して記載された方法のステップ、並びにその他の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又はハードウェア要素とソフトウェア要素との両方を含む実施形態という形態で実装され得る。好適な実施形態では、本発明はソフトウェアにおいて実装され、これは、限定はされないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
【００７２】
上記の実施形態は、いくつかのインスタンスが既に時間フレーム内でライセンスに割り当てられており、別のインスタンスを割り当てなければならない状況の概略を説明した。以後、第１のステップとして、ライセンシング・システムがライセンスと利用インスタンスとの関連付けを算定し、続いて、関連付けられたインスタンスに基づきライセンス消費を計算する、別の状況を検討する。そのような状況のもとでは、すべてのインスタンスが既に関連付けられている限り、Ｒ値の算定はできない。これは、アルゴリズムが、例えば以前の計算期間においてライセンスに関してどれだけの容量が残ったかなど、過去の残余容量としてＲを計算するべきであるということを意味する。この変形では、過去のＲを算定した後、アルゴリズムは、消費インスタンスをライセンスに関連付けることに移る。各セッションに関して、アルゴリズムが、適したライセンスを発見する。ライセンスが、前の期間に関連付けられたものと同じであれば、それ以上の計算はなしに割り当てられる（前日にこの割り当てが準拠したライセンスをもたらせば、結果は今日も同じになる）。結果としてのライセンスが、前の日に使用されたものでなければ（例えば前の期間に消費セッションが生じなかった場合も）、この時点でＲを検討し、
Ｒ−（消費セッション）＊Ｃ＊Ｓ
を計算して、したがってＲを得る必要がある。最大のＲを伴うライセンスを使用する。別の消費セッションがこのライセンスに割り当てられなければならない場合、
Ｒ”＝Ｒ−（利用セッション）＊Ｃ＊Ｓ
などを、割り当てられなければならない新たなインスタンスそれぞれに関して計算する。「新たな」とは、それが前の期間内に割り当てられなかったことを意味する。
【００７３】
この実施形態では、保護閾値が特に重要である。それは、この第１の段階で、インスタンスは、算定を加速するために、過去のデータに基づき算定された統計パラメータに基づき割り当てられるためである。しかし、この期間の最後には、実質消費を計算して、正確な計算を行う必要がある。正確な計算を実行するとき、過去のデータに基づきインスタンスを割り当てるときに楽観的すぎたため、過去のデータに基づく算定はどのライセンスも超過使用にならなかったことを示したが、実際には、正確な計算を実行すると、割り当てによってライセンスの超過使用が生じることを、システムが発見することがあり得るであろう。このため、正確な計算の結果が予想よりも悪いと分かっても、超過使用を避けるマージンがあるよう、保護係数が望まれる。
【００７４】
さらなる実施形態によれば、システムは、より小さいＣ及び０より大きいＲを備えるライセンスを選択するのではなく、最大の残余容量を有する何れかのライセンスを選択してもよい。これは、Ｃに基づく割り当てには、何らかの副作用があることがあるためである（例えば、大きいＣ及び非常に小さいＳを備えるライセンスは、Ｃは小さいが非常に大きいＳを備えるライセンスよりも好ましいことがある）。
【００７５】
さらに別の実施形態によれば、システムは、より小さいＣ及び０より大きいＲを備えるライセンスを選択するのではなく、ＣとＳとの積がより小さい何れかのライセンスを選択してもよい。この手法は、アルゴリズムにさらなる強度を提供する。これは、インスタンスが何かを消費する確率が、消費が生じた場合の費用とともに考慮され、したがって、最悪の事態、すなわちインスタンスが消費することの確率を、この最悪の事態で支払うペナルティ、すなわち平均予想消費と併せて考慮するためである。上記の手法では、各ライセンスに関するライセンス使用シグネチャはさらに、上記のＳの値を含む。Ｃ及びＳの両方を考慮することによって、課金の確率及び課金対象となった場合に支払う「スロット価格」両方が考慮に入れられる。これら２つの値を乗算することで、ライセンスへの関連付けについて、統計的にどの程度の費用がかかるかを、結果として導き出すことになる。
【００７６】
さらに別の実施形態によれば、例えば同じＣの値を有する２つのライセンスなど、２つ以上の等しく適格なライセンスの中からシステムが選ぶ必要がある場合、システムは、均衡状態を解消するものとして上述した代替方法のうちの１つを使用してもよい。
【００７７】
さらに、本発明は、コンピュータ使用可能又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとり、コンピュータ又は任意の命令実行システムにより、又はそれに関連して使用されるプログラム・コードを提供することができる。本記載では、コンピュータ使用可能又はコンピュータ可読媒体は、命令実行システム、装置若しくはデバイスによって、又はそれに関連して使用されるプログラムを含むこと、記憶すること、伝達すること、伝播させること、又は搬送することができる任意の装置とすることができる。
【００７８】
図４は、特定の実施形態を実装するのに適したコンピュータ環境を示す。図４に示されているように、コンピュータ・システム４００は、プロセッサ４１０と、メイン・メモリ４２０と、大容量記憶インターフェイス４３０と、ディスプレイ・インターフェイス４４０と、ネットワーク・インターフェイス４５０とを含む。これらのシステム・コンポーネントは、システム・バス４０１を使用して相互接続されている。大容量記憶インターフェイス４３０は、大容量記憶デバイス（ハード・ディスク・ドライブ４５５）をコンピュータ・システム４００に接続するために使用される。リムーバブル記憶インターフェイス・ドライブ４６２の１つの特定のタイプは、フレキシブル・ディスク・ドライブであり、これは、フレキシブル・ディスク４９５に対するデータの記憶及びそこからのデータの読み取りを行うこともできるが、読み取り可能かつ任意選択で書き込み可能なＣＤ  ＲＯＭ（ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：コンパクト・ディスク読み取り専用メモリ）ドライブなど、多数の他のタイプのコンピュータ可読記憶媒体が想定され得る。同様に、ユーザ入力インターフェイス４４４が提供され、これは、マウス４６５及びキーボード４６４などのインターフェイス・デバイスからユーザ対話を受信する。さらに、プリンタ・インターフェイス４４６が提供され、これは、プリンタ４６６に信号を送信し、さらに任意選択でプリンタ４６６から信号を受信するとよい。
【００７９】
好適な実施形態によるメイン・メモリ４２０は、データ４２２、オペレーティング・システム４２４を含む。
【００８０】
コンピュータ・システム４００は、周知の仮想アドレス指定メカニズムを利用し、このメカニズムは、コンピュータ・システム４００のプログラムが、メイン・メモリ４２０及びＨＤＤ（ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ：ハード・ディスク・ドライブ）４５５などの複数のより小さな記憶エンティティへのアクセスの代わりに、単一の大きな記憶エンティティにのみアクセスできるかのように動くことを可能にする。したがって、データ４２２、オペレーティング・システム４２４は、メイン・メモリ４２０に存在するよう示されているが、当業者には当然のことながら、これらの項目は、必ずしも同時に、すべて完全にメイン・メモリ４２０に含まれるとは限らない。なお、さらに、「メモリ」という用語は、コンピュータ・システム４００の仮想メモリ全体を総称的に指すよう、本願明細書で使用される。
【００８１】
データ４２２は、コンピュータ・システム２００内の任意のプログラムの入力又は出力となる任意のデータを表す。オペレーティング・システム４２４は、ＯＳ／４００（ＩＢＭ社の登録商標）として業界で既知であるマルチタスク・オペレーティング・システムである。しかし、当業者には当然のことながら、本発明の意図及び範囲は、任意の１つのオペレーティング・システムに限定されない。
【００８２】
プロセッサ４１０は、１つ以上のマイクロプロセッサ若しくは集積回路又はその両方から構成されるとよい。プロセッサ４１０は、メイン・メモリ４２０に記憶されているプログラム命令を実行する。メイン・メモリ４２０は、プロセッサ４１０がアクセスしてよいプログラム及びデータを記憶する。コンピュータ・システム４００が起動すると、プロセッサ４１０は最初に、オペレーティング・システム４２４を構成するプログラム命令を実行する。オペレーティング・システム４２４は、コンピュータ・システム４００のリソースを管理する高度なプログラムである。これらのリソースの一部は、プロセッサ４１０、メイン・メモリ４２０、大容量記憶インターフェイス４３０、ディスプレイ・インターフェイス４４０、ネットワーク・インターフェイス４５０、及びシステム・バス４０１である。
【００８３】
コンピュータ・システム４００は、単一のプロセッサ及び単一のシステム・バスのみを含むよう示されているが、当業者には当然のことながら、本発明は、複数のプロセッサ若しくは複数のバス又はその両方を有するコンピュータ・システムを使用して実践されてもよい。さらに、好適な実施形態では、使用されるインターフェイスはそれぞれ、別個の、完全にプログラムされたマイクロプロセッサを含み、これらが、プロセッサ４１０から計算集中型の処理をオフロードするために使用される。なお、当業者には当然のことながら、本発明は、同様の機能を実行するためにＩ／Ｏアダプタを単に使用するコンピュータ・システムに等しく当てはまる。
【００８４】
ディスプレイ・インターフェイス４４０は、１つ以上のディスプレイ４６０をコンピュータ・システム４００に直接接続するよう使用される。これらのディスプレイ４６０は、非インテリジェント（すなわちダム）ターミナルであっても、又は完全にプログラム可能なワークステーションであってもよく、これらは、システム管理者及びユーザが、コンピュータ・システム４００と通信できるようにするために使用される。ただし、ディスプレイ・インターフェイス４４０は、１つ以上のディスプレイ４６０との通信をサポートするよう提供されるが、ユーザ及び他のプロセスとの必要な対話はすべてネットワーク・インターフェイス４５０を介して生じ得るため、コンピュータ・システム４００は、ディスプレイ４６０を必ずしも必要としないということに注意されたい。
【００８５】
ネットワーク・インターフェイス４５０は、他のコンピュータ・システム若しくはワークステーション又はその両方（例えば図４の４８５）を、ネットワーク４７０をわたってコンピュータ・システム４００に接続するために使用される。本発明は、ネットワーク接続４７０が現代のアナログ若しくはデジタル又はその両方の技術を使用して行われるか、又は将来の何らかのネットワーク構築メカニズムを介して行われるかにかかわらず、コンピュータ・システム４００が他のコンピュータ・システム若しくはワークステーション、又はその両方に接続される方法を問わず、等しく当てはまる。さらに、多数の異なるネットワーク・プロトコルを、ネットワークを実装するために使用可能である。これらプロトコルは、コンピュータがネットワーク４７０で通信できるようにする専用コンピュータ・プログラムである。ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ：伝送制御プロトコル／インターネット・プロトコル）は、例えばイーサネット・ネットワーク上の適したネットワーク・プロトコルの例である。図のように、ネットワーク４７０は、システム４００を２つのさらなるデバイス４７１及び４７２に接続する。これらは、上述のものに似た他のコンピュータ・システム、又はプリンタ、ルータなどの他のネットワーク対応デバイスであるとよい。本例では、ネットワーク・デバイス４７２は、ローカル・サーバであり、これは、モデム４８１を介して、ワールド・ワイド・ウェブなどのパブリック・ネットワーク４８０に接続されている。このパブリック・ネットワーク４８０によって、リモート・デバイス又はシステム４８５への接続が確立されるとよい。
【００８６】
現在のところ、本発明は、完全に機能的なコンピュータ・システムの文脈で記載されてきており、そうであり続けるが、当業者には当然のことながら、本発明は、様々な形態でプログラム製品として配布されることができ、本発明は、配布を実際に実行するために使用する信号保持媒体の特定のタイプにかかわらず、等しく当てはまるということに留意することが重要である。適した信号保持媒体の例には、フレキシブル・ディスク及びＣＤ  ＲＯＭ（例えば図４の４９５）などの記録可能なタイプの媒体、デジタル及びアナログ通信リンクなどの伝送タイプの媒体がある。
【００８７】
媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム、（若しくは装置若しくはデバイス）、又は伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体又は固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、剛体磁気ディスク、及び光ディスクが含まれる。光ディスクの現在の例には、コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、コンパクト・ディスク読み取り／書き込み（ＣＤ−Ｒ／Ｗ：ｃｏｍｐａｃｔ  ｄｉｓｋ−ｒｅａｄ／ｗｒｉｔｅ）、及びＤＶＤが含まれる。
【００８８】
プログラム・コードの記憶若しくは実行又はその両方に適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接的に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードを実際に実行する間に用いられるローカル・メモリ、大容量記憶装置、及び、実行中にコードが大容量記憶装置から読み出されなければならない回数を減らすために少なくとも一部のプログラム・コードの一時的な記憶装置となるキャッシュ・メモリを含むことができる。
【００８９】
入出力、すなわちＩ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイス（限定はされないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）は、直接、又は介在するＩ／Ｏコントローラを介して、システムに結合されることが可能である。
【００９０】
ネットワーク・アダプタもシステムに結合されて、データ処理システムが、他のデータ処理システム又はリモート・プリンタ又は記憶デバイスに、介在するプライベート又はパブリック・ネットワークを介して結合された状態となることを可能にしてもよい。モデム、ケーブル・モデム、及びイーサネット・カードが、現在利用可能なタイプのネットワーク・アダプタのごく一部である。
【００９１】
本発明は、ソフトウェア・ライセンスを帰属させるという文脈において記載されたが、当然のことながら、いくつかの異なるライセンス契約からの選択を必要とする任意のアクティビティの帰属を処理できる。
【００９２】
さらなる実施形態により、様々な異なる条件及び制限を提供するソフトウェア・ライセンスの選択肢が存在する環境に関して、過去の使用パターンに基づいて好適なライセンスを選択する方法が記載される。新たなインスタンスは、任意インスタンスがライセンスに従い課金対象となるであろう確率（Ｃ）が最も低い当該ライセンスであって、当該ライセンスに関し、新たなインスタンスが当該ライセンスに従い課金対象となるであろう確率（Ｃ）に、当該ライセンスに関して、インスタンス毎に消費されたスロットの平均数（Ｓ）を乗じ、現在の時間フレームの間に当該ライセンスに既に帰属させられたインスタンスの数を乗じると、当該ライセンスのエンタイトルメント値よりも小さい、該ライセンスに帰属させられることが好ましい。
【図１】
0005643307.tif 000005
【図２】
0005643307.tif 000006
【図３】
0005643307.tif 000007
【図４】
0005643307.tif 000008