(57)【特許請求の範囲】
【請求項１】
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶する記憶部と、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信する受信部と、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する決定部と、
前記決定部が決定したソフトウェアライセンスを管理対象装置に割り当てる割当部と、を有し、
前記決定部は、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とする情報処理装置。
【請求項２】
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶する記憶部と、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信する受信部と、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する決定部と、
前記決定部が決定したソフトウェアライセンスを管理対象装置に割り当てる割当部と、を有し、
前記記憶部は、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を記憶し、
前記決定部は、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記上限数が最も小さいソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とする情報処理装置。
【請求項３】
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶する記憶部と、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信する受信部と、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する決定部と、
前記決定部が決定したソフトウェアライセンスを管理対象装置に割り当てる割当部と、を有し、
前記記憶部は、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を記憶するとともに、前記複数の種類のソフトウェアライセンスを、当該ソフトウェアライセンスの価格とさらに関連付けて記憶し、
前記決定部は、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスと、前記上限数が最も小さいソフトウェアライセンスとが異なるときは、前記価格に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、
ことを特徴とする情報処理装置。
【請求項４】
前記決定部は、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが一つである場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、請求項１〜３の何れか一項に記載の情報処理装置。
【請求項５】
前記記憶部は、前記複数の種類のソフトウェアライセンスを、当該ソフトウェアライセンスが管理対象装置上で動作する全ての仮想マシンに割り当て可能であるか１つの仮想マシンのみに割り当て可能であるかを示す仮想マシン条件とさらに関連付けて記憶し、
前記決定部は、管理対象装置上の複数の仮想マシンで複数のソフトウェア製品が動作する場合、前記複数のソフトウェア製品に割り当て可能な、前記仮想マシン条件が全ての仮想マシンに割り当て可能であることを示す１つの第１ソフトウェアライセンスと、前記仮想マシン条件が１つの仮想マシンのみに割り当て可能であることを示す複数の第２ソフトウェアライセンスとを抽出し、前記第１ソフトウェアライセンス及び前記複数の第２ソフトウェアライセンスの内の何れか一方を、管理対象装置に割り当てるソフトウェアライセンスに決定する、請求項１〜４の何れか一項に記載の情報処理装置。
【請求項６】
前記決定部は、前記第１ソフトウェアライセンスの前記製品種別の数と、前記複数の第２ソフトウェアライセンスのそれぞれの前記製品種別の数の内の最小数とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、請求項５に記載の情報処理装置。
【請求項７】
前記記憶部は、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数をさらに記憶し、
前記決定部は、前記第１ソフトウェアライセンスの前記上限数と、前記複数の第２ソフトウェアライセンスのそれぞれの前記上限数の内の最小数とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、請求項５に記載の情報処理装置。
【請求項８】
前記記憶部は、前記複数の種類のソフトウェアライセンスを、当該ソフトウェアライセンスの価格とさらに関連付けて記憶し、
前記決定部は、前記第１ソフトウェアライセンスの価格と、前記複数の第２ソフトウェアライセンスのそれぞれの価格の合計とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、請求項５に記載の情報処理装置。
【請求項９】
前記決定部は、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスがない場合、既にソフトウェアライセンスが割り当てられた他の管理対象装置に割り当てるソフトウェアライセンスを決定しなおす、請求項１〜８の何れか一項に記載の情報処理装置。
【請求項１０】
記憶部を有する情報処理装置におけるライセンス割り当て方法であって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを含み、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とするライセンス割り当て方法。
【請求項１１】
記憶部を有する情報処理装置におけるライセンス割り当て方法であって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを含み、
前記記憶において、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を前記記憶部に記憶し、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記上限数が最も小さいソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とするライセンス割り当て方法。
【請求項１２】
記憶部を有する情報処理装置におけるライセンス割り当て方法であって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを含み、
前記記憶において、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を前記記憶部に記憶するとともに、前記複数の種類のソフトウェアライセンスを、当該ソフトウェアライセンスの価格とさらに関連付けて前記記憶部に記憶し、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスと、前記上限数が最も小さいソフトウェアライセンスとが異なるときは、前記価格に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、
ことを特徴とするライセンス割り当て方法。
【請求項１３】
記憶部を有する情報処理装置に実行させる制御プログラムであって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを前記情報処理装置に実行させ、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とする制御プログラム。
【請求項１４】
記憶部を有する情報処理装置に実行させる制御プログラムであって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを前記情報処理装置に実行させ、
前記記憶において、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を前記記憶部に記憶し、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記上限数が最も小さいソフトウェアライセンスを、管理対象装置に割り当てるソフトウェアライセンスに決定する、
ことを特徴とする制御プログラム。
【請求項１５】
記憶部を有する情報処理装置に実行させる制御プログラムであって、
複数の種類のソフトウェアライセンスを、所有するライセンス数、当該ソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及び当該ソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて前記記憶部に記憶し、
管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、
前記複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスが複数ある場合、前記ライセンス数、前記製品種別の数又は前記装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、
前記決定したソフトウェアライセンスを管理対象装置に割り当てる、ことを前記情報処理装置に実行させ、
前記記憶において、前記装置仕様条件として、管理対象装置に含まれる所定の部品の上限数を前記記憶部に記憶するとともに、前記複数の種類のソフトウェアライセンスを、当該ソフトウェアライセンスの価格とさらに関連付けて前記記憶部に記憶し、
前記決定において、管理対象装置で動作するソフトウェア製品が前記製品種別に含まれ、且つ管理対象装置の装置仕様が前記装置仕様条件を満たすソフトウェアライセンスの内、前記ライセンス数が必要数以上であるソフトウェアライセンスが複数ある場合、前記ライセンス数が前記必要数以上であるソフトウェアライセンスの内、前記製品種別の数が最も少ないソフトウェアライセンスと、前記上限数が最も小さいソフトウェアライセンスとが異なるときは、前記価格に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ライセンス割り当て方法及び制御プログラムに関し、特に、管理対象装置にソフトウェアライセンスを割り当てる情報処理装置、ライセンス割り当て方法及び制御プログラムに関する。
【背景技術】
【０００２】
一般に、ソフトウェアのライセンスには、そのライセンスにより使用可能となるソフトウェア製品の製品種別、そのライセンスを割り当て可能なパーソナルコンピュータ、サーバ装置等の管理対象装置の仕様に関する装置仕様条件等が定められている。したがって、特定の管理対象装置上で動作するソフトウェアのライセンスを所有していても、そのライセンスに定められている装置仕様条件等により、その管理対象装置にそのライセンスを割り当てることができない場合がある。
【０００３】
ソフトウェアライセンス数の過不足に関する使用状況またはソフトウェアライセンス数の追加購入情報を出力するソフトウェアライセンス管理装置が開示されている。このソフトウェアライセンス管理装置は、組織内のコンピュータに実際にインストールされているソフトウェアを含むインベントリ情報を自動収集する。そして、ソフトウェアライセンス管理装置は、組織全体が保有するソフトウェアライセンス数と、実際に使用しているソフトウェアライセンス数との差から、ソフトウェアライセンス数の過不足を算出する（特許文献１を参照）。
【０００４】
また、ソフトウェアライセンスをそのバージョンに対応させてグループ分けし、それぞれのグループにおけるソフトウェアライセンスの過不足数を算出するソフトウェアライセンス管理システムが開示されている。このソフトウェアライセンス管理システムは、ダウングレード権を含めてソフトウェアライセンスを管理する（特許文献２を参照）。
【０００５】
また、仮想マシンが構築されたサーバコンピュータを対象として、ソフトウェアのライセンス管理を行うライセンス管理装置が開示されている。このライセンス管理装置は、ソフトウェアのライセンス単位が、サーバコンピュータの物理情報に基づいている場合に、保有ライセンス数を越えてソフトウェアが使用されていないかどうかを判定する（特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２２２４２４号公報
【特許文献２】特開２００６−９２３１７号公報
【特許文献３】特開２０１２−２０８７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多数の管理対象装置を有するシステムにおいては、各管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが望まれている。
【０００８】
本発明の目的は、管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが可能な情報処理装置、ライセンス割り当て方法及び制御プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の一側面に係る情報処理装置は、複数の種類のソフトウェアライセンスを、所有するライセンス数、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及びそのソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶する記憶部と、管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信する受信部と、複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が製品種別に含まれ、且つ管理対象装置の装置仕様が装置仕様条件を満たすソフトウェアライセンスが複数ある場合、ライセンス数、製品種別の数又は装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する決定部と、決定部が決定したソフトウェアライセンスを管理対象装置に割り当てる割当部とを有する。
【００１０】
また、本発明の一側面に係るライセンス割り当て方法は、記憶部を有する情報処理装置におけるライセンス割り当て方法であって、複数の種類のソフトウェアライセンスを、所有するライセンス数、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及びそのソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶部に記憶し、管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が製品種別に含まれ、且つ管理対象装置の装置仕様が装置仕様条件を満たすソフトウェアライセンスが複数ある場合、ライセンス数、製品種別の数又は装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、決定したソフトウェアライセンスを管理対象装置に割り当てることを含む。
【００１１】
また、本発明の一側面に係る制御プログラムは、記憶部を有する情報処理装置に実行させる制御プログラムであって、複数の種類のソフトウェアライセンスを、所有するライセンス数、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別、及びそのソフトウェアライセンスを割り当て可能な装置仕様条件と関連付けて記憶部に記憶し、管理対象装置で動作するソフトウェア製品の情報、及び管理対象装置の装置仕様の情報を受信し、複数の種類のソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が製品種別に含まれ、且つ管理対象装置の装置仕様が装置仕様条件を満たすソフトウェアライセンスが複数ある場合、ライセンス数、製品種別の数又は装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定し、決定したソフトウェアライセンスを管理対象装置に割り当てることを情報処理装置に実行させる。
【発明の効果】
【００１２】
本発明によれば、情報処理装置は、所有するライセンス数、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別の数又は割り当て可能な装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する。これにより、管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが可能な情報処理装置、ライセンス割り当て方法及び制御プログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に従ったライセンス管理システム１を示す概略構成図である。
【図２】サーバ装置１００のハードウェア構成図である。
【図３Ａ】ライセンス規則テーブルのデータ構造の一例を示す図である。
【図３Ｂ】ライセンス所有数管理テーブルのデータ構造の一例を示す図である。
【図４】装置構成管理テーブルのデータ構造の例を示す図である。
【図５】ＣＰＵ１１０の概略構成の例を示す図である。
【図６】ライセンス割当シーケンスの例を示すシーケンス図である。
【図７】サーバ装置１００による割当処理の動作の例を示すフローチャートである。
【図８】割当管理テーブルのデータ構造の例を示す図である。
【図９】ライセンス数管理テーブルのデータ構造の例を示す図である。
【図１０】割当候補管理テーブルのデータ構造の例を示す図である。
【図１１】割当結果テーブルのデータ構造の例を示す図である。
【図１２】第１割当候補決定処理の動作の例を示すフローチャートである。
【図１３Ａ】割当候補管理テーブルの例を示す図である。
【図１３Ｂ】割当候補管理テーブルの例を示す図である。
【図１３Ｃ】割当候補管理テーブルの例を示す図である。
【図１３Ｄ】割当候補管理テーブルの例を示す図である。
【図１３Ｅ】割当候補管理テーブルの例を示す図である。
【図１４】第２割当候補決定処理の動作の例を示すフローチャートである。
【図１５】割当候補管理テーブルの例を示す図である。
【図１６】第１割当候補決定処理の動作の他の例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の一側面に係るサーバ装置、登録方法、制御プログラム及び通信システムについて図を参照しつつ説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【００１５】
図１は、実施形態に従ったライセンス管理システム１を示す概略構成図である。ライセンス管理システム１は、サーバ装置１００と、管理装置２００と、インベントリ収集装置３００と、複数の管理対象装置４００ａ〜４００ｃとを有する。サーバ装置１００、管理装置２００、インベントリ収集装置３００及び各管理対象装置４００ａ〜４００ｃは、それぞれイーサネット（登録商標）等の有線ＬＡＮにより、イントラネット、インターネット等のネットワーク５００を介して相互に接続される。以下では、複数の管理対象装置４００ａ〜４００ｃを総じて管理対象装置４００と称する場合がある。
【００１６】
サーバ装置１００は、情報処理装置の一例であり、各管理対象装置４００で動作するソフトウェア製品に対してソフトウェアライセンスを割り当てる。
【００１７】
管理装置２００は、管理者によって操作される装置であり、例えばパーソナルコンピュータである。管理装置２００は、管理者による操作に従って、インベントリ収集装置３００に対する各管理対象装置４００のインベントリ情報の取得指示、サーバ装置１００に対する各管理対象装置４００へのソフトウェアライセンスの割り当て指示等を行う。インベントリ情報には、各管理対象装置４００で動作するソフトウェア製品に関する情報及び各管理対象装置４００の装置仕様に関する情報が含まれる。
【００１８】
インベントリ収集装置３００は、各管理対象装置４００からインベントリ情報を取得する装置であり、例えばサーバである。
【００１９】
管理対象装置４００は、サーバ装置１００によって管理され、動作するソフトウェア製品に対してソフトウェアライセンスが割り当てられる装置であり、例えばパーソナルコンピュータ又はサーバである。
【００２０】
図２は、サーバ装置１００のハードウェア構成図である。図２に示すように、サーバ装置１００は、通信回路１０１と、入力装置１０２と、表示装置１０３と、記憶装置１０４と、ＣＰＵ（Central Processing Unit）１１０を有する。以下、サーバ装置１００の各部について詳細に説明する。
【００２１】
通信回路１０１は、イーサネット（登録商標）等の通信規格に従って、有線ＬＡＮ等の有線通信ネットワークを通じて信号の送受信を行うための有線通信インターフェース回路を有する。通信回路１０１は、ネットワーク５００を介してサーバ装置１００、管理装置２００、インベントリ収集装置３００及び管理対象装置４００と接続して各種の情報を送受信する。
【００２２】
入力装置１０２は、例えば、マウス、キーボード等の入力デバイス及び入力デバイスから信号を取得するインターフェース回路を有し、ユーザの操作に応じた信号をＣＰＵ１１０に対して出力する。
【００２３】
表示装置１０３は、液晶等から構成されるディスプレイ及びディスプレイに画像データ又は各種の情報を出力するインターフェース回路を有し、ＣＰＵ１１０と接続されて、ＣＰＵ１１０から出力された情報をディスプレイに表示する。なお、タッチパネルディスプレイを用いて、入力装置１０２と表示装置１０３を一体に構成してもよい。
【００２４】
記憶装置１０４は、記憶部の一例である。記憶装置１０４は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）等のメモリ装置、ハードディスク等の固定ディスク装置、又はフレキシブルディスク、光ディスク等の可搬用の記憶装置等を有する。また、記憶装置１０４には、サーバ装置１００の各種処理に用いられるコンピュータプログラム、データベース、テーブル等が記憶される。コンピュータプログラムは、コンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶装置１０４にインストールされてもよい。可搬型記録媒体は、例えばＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ−ＲＯＭ（Digital Versatile Disk Read Only Memory）等とすることができる。
【００２５】
また、記憶装置１０４には、各ソフトウェアライセンスに定められている規則を示すライセンス規則テーブルと、各ソフトウェアライセンスの所有数を管理するライセンス所有数管理テーブルが記憶される。また、記憶装置１０４には、各管理対象装置４００の装置構成を管理する装置構成管理テーブルが記憶される。さらに、記憶装置１０４には、各管理対象装置４００へのライセンスの割当処理に用いる割当管理テーブル、ライセンス数管理テーブル、割当候補管理テーブル及び割当結果テーブルが記憶される。各テーブルの詳細については後述する。
【００２６】
ＣＰＵ１１０は、通信回路１０１、入力装置１０２、表示装置１０３及び記憶装置１０４と接続され、これらの各部を制御する。ＣＰＵ１１０は、通信回路１０１を介したデータ送受信制御、入力装置１０２の入力制御、表示装置１０３の表示制御、記憶装置１０４の制御等を行う。さらに、ＣＰＵ１１０は、各管理対象装置４００で動作するソフトウェア製品に対してソフトウェアライセンスを割り当てる。
【００２７】
図３Ａは、ライセンス規則テーブルのデータ構造の一例を示す図である。ライセンス規則テーブルには、複数の種類のソフトウェアライセンス毎に、ソフトウェアライセンス名、ライセンス規則ＩＤ（Identification）、製品ＩＤ、装置仕様条件、仮想マシン条件、ソフトウェアライセンスの価格等が関連付けて記憶される。
【００２８】
ライセンス規則ＩＤは、そのソフトウェアライセンスに定められている規則毎に一意に定められた識別情報である。製品ＩＤは、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別毎に一意に定められた識別情報である。装置仕様条件は、そのソフトウェアライセンスを割り当て可能な管理対象装置の装置仕様に関する条件であり、装置仕様条件として、例えば、管理対象装置に含まれるＣＰＵ、通信回路等の所定の部品の上限数が記憶される。所定の部品は、物理的に分離されているものに限定されず、例えばＣＰＵのコアのように複数の部品が一体に形成されているものでもよい。
【００２９】
仮想マシン条件は、管理対象装置上の仮想マシンでソフトウェア製品が動作する場合に用いられる条件であり、そのソフトウェアライセンスが物理マシンに割り当てられるか仮想マシンに割り当てられるかを示す。なお、物理マシンに割り当てられるソフトウェアライセンスは、管理対象装置上で動作する全ての仮想マシンに割り当て可能であり、仮想マシンに割り当てられるソフトウェアライセンスは、１つの仮想マシンのみに割り当て可能である。
【００３０】
図３Ｂは、ライセンス所有数管理テーブルのデータ構造の一例を示す図である。ライセンス所有数管理テーブルには、複数の種類のソフトウェアライセンス毎に、ソフトウェアライセンス名、ライセンス規則ＩＤ、ライセンス所有数等が記憶される。
【００３１】
図４は、装置構成管理テーブルのデータ構造の一例を示す図である。装置構成管理テーブルには、管理対象装置毎に、装置名、装置ＩＤ、装置仕様情報、仮想マシン仕様情報、製品ＩＤ等が記憶される。
【００３２】
装置ＩＤは、管理対象装置毎に一意に定められた識別情報である。装置仕様情報として、例えば管理対象装置に含まれるＣＰＵ、通信回路等の所定の部品の数が記憶される。その管理対象装置上の仮想マシンでソフトウェア製品が動作する場合、仮想マシン仕様情報として、動作する仮想マシンの仮想マシン名及びその仮想マシンに一意に定められた識別情報である仮想マシンＩＤが記憶される。
【００３３】
図５は、ＣＰＵ１１０の概略構成の例を示す図である。図５に示すようにＣＰＵ１１０は、受信部１１１、決定部１１２及び割当部１１３を有する。これらの各部は、プロセッサ上で動作するソフトウェアにより実装される機能モジュールである。なお、これらの各部は、それぞれ独立した集積回路、マイクロプロセッサ、ファームウェア等で構成されてもよい。
【００３４】
図６は、ライセンス管理システム１におけるライセンス割当シーケンスの例を示すシーケンス図である。以下、図６に示したシーケンス図を参照しつつ、ライセンス管理システム１のライセンス割当シーケンスの例を説明する。なお、以下に説明する各動作は、サーバ装置１００において、予め記憶装置１０４に記憶されているプログラムに基づき主にＣＰＵ１１０によりサーバ装置１００の各要素と協働して実行される。同様に、各動作は、管理装置２００、インベントリ収集装置３００、各管理対象装置４００ａ〜４００ｃにおいて、各装置の記憶装置（不図示）に記憶されているプログラムに基づき主に各装置のＣＰＵ（不図示）により各装置の各要素と協働して実行される。
【００３５】
最初に、管理装置２００は、管理者による操作に従って、インベントリ収集装置３００が各管理対象装置４００のインベントリ情報を収集することを要求するためのインベントリ収集要求信号をインベントリ収集装置３００に送信する（ステップＳ１０１）。なお、管理装置２００は、所定の時間間隔毎にインベントリ収集要求信号を送信してもよい。
【００３６】
次に、インベントリ収集装置３００は、管理装置２００からインベントリ収集要求信号を受信すると、インベントリ情報を取得することを要求するためのインベントリ取得要求信号を各管理対象装置４００に送信する（ステップＳ１０２）。インベントリ取得要求信号には、管理対象装置４００の装置ＩＤが含まれる。なお、インベントリ収集装置３００は、インベントリ情報を取得すべき管理対象装置４００の装置ＩＤ及びアドレスを予め記憶しており、装置ＩＤ及びアドレスを記憶している全ての管理対象装置４００にインベントリ取得要求信号を送信する。
【００３７】
次に、管理対象装置４００は、インベントリ収集装置３００からインベントリ取得要求信号を受信すると、インベントリ信号をインベントリ収集装置３００に送信する（ステップＳ１０３）。インベントリ信号には、その管理対象装置４００の装置ＩＤ及びその管理対象装置４００に関するインベントリ情報が含まれる。インベントリ情報には、その管理対象装置４００で動作する全てのソフトウェア製品の製品ＩＤ、その管理対象装置４００の装置仕様情報及び仮想マシン仕様情報が含まれる。
【００３８】
次に、インベントリ収集装置３００は、各管理対象装置４００からインベントリ信号を受信すると、受信したインベントリ信号に含まれるインベントリ情報を装置ＩＤと関連付けて記憶する。インベントリ収集装置３００は、受信したインベントリ信号に含まれる装置ＩＤについて既にインベントリ情報を記憶している場合、既に記憶しているインベントリ情報を、受信したインベントリ信号に含まれるインベントリ情報に更新する。そして、インベントリ収集装置３００は、装置構成信号をサーバ装置１００に送信する（ステップＳ１０４）。装置構成信号には、取得した全ての管理対象装置４００のインベントリ情報がその装置ＩＤと関連付けて含まれる。
【００３９】
次に、サーバ装置１００の受信部１１１は、インベントリ収集装置３００から装置構成信号を受信すると、受信した装置構成信号に含まれる装置ＩＤ及びインベントリ情報を用いて装置構成管理テーブルを更新する（ステップＳ１０５）。サーバ装置１００は、装置構成管理テーブルにおいて、装置構成信号に含まれる装置ＩＤに対応する各情報を、その装置ＩＤと関連付けられたインベントリ情報を用いて更新する。
【００４０】
次に、管理装置２００は、各管理対象装置４００にソフトウェアライセンスを割り当てることを要求するための割当要求信号をサーバ装置１００に送信する（ステップＳ１０６）。管理装置２００は、ステップＳ１０１でインベントリ収集要求信号を送信してから所定時間経過後に割当要求信号を送信する。なお、管理装置２００は、インベントリ収集要求信号の送信タイミングとは非同期に割当要求信号を送信してもよい。その場合、管理装置２００は、例えば管理者による新たな操作に従って、割当要求信号を送信する。
【００４１】
次に、サーバ装置１００の受信部１１１が、通信回路１０１を介して管理装置２００から割当要求信号を受信すると、決定部１１２及び割当部１１３は、各管理対象装置４００にソフトウェアライセンスを割り当てる割当処理を実施する（ステップＳ１０７）。割当処理の詳細については後述する。
【００４２】
次に、サーバ装置１００の割当部１１３は、割当処理による割当結果を含む割当結果信号を通信回路１０１を介して管理装置２００に送信する（ステップＳ１０８）。
【００４３】
次に、管理装置２００は、サーバ装置１００から割当結果信号を受信すると、割り当て結果信号に含まれる割当結果を表示して管理者に通知する（ステップＳ１０９）。
【００４４】
図７は、サーバ装置１００による割当処理の動作の例を示すフローチャートである。図７に示す動作のフローは、図６に示すシーケンスのステップＳ１０７において実行される。
【００４５】
最初に、決定部１１２は、各管理対象装置４００で動作するソフトウェア製品にソフトウェアライセンスを割り当てるための割当管理テーブルを作成し、記憶装置１０４に記憶する（ステップＳ２０１）。
【００４６】
図８は、割当管理テーブルのデータ構造の一例を示す図である。割当管理テーブルには、ソフトウェアライセンスを割り当てるべき管理対象装置及びソフトウェア製品の組合せ毎に、割当ＩＤ、装置ＩＤ、仮想マシンＩＤ、製品ＩＤ等が記憶される。割当ＩＤは、ソフトウェアライセンスを割り当てるべき管理対象装置及びソフトウェア製品毎に一意に定められた識別情報である。装置ＩＤはその管理対象装置の装置ＩＤであり、仮想マシンＩＤはその管理対象装置上で動作する仮想マシンの仮想マシンＩＤであり、製品ＩＤはその管理対象装置上で動作するソフトウェア製品の製品ＩＤである。
【００４７】
決定部１１２は、装置構成管理テーブルを読み出し、各管理対象装置４００について、その装置ＩＤ、仮想マシンＩＤ及び製品ＩＤを抽出する。決定部１１２は、抽出した装置ＩＤ及び製品ＩＤの組合せ毎に割当ＩＤを割り当てて、抽出した装置ＩＤ、仮想マシンＩＤ及び製品ＩＤを関連付けて割当管理テーブルに記憶する。
【００４８】
次に、決定部１１２は、ライセンス規則テーブルに含まれるソフトウェアライセンス毎にライセンス数を管理するためのライセンス数管理テーブルを作成し、記憶装置１０４に記憶する（ステップＳ２０２）。
【００４９】
図９は、ライセンス数管理テーブルのデータ構造の一例を示す図である。ライセンス数管理テーブルには、ソフトウェアライセンス毎に、ライセンス規則ＩＤ、製品ＩＤ、所有ライセンス数、残りライセンス数等が記憶される。残りライセンス数は、現在残っているライセンス数を示し、残りライセンス数の初期値として、所有ライセンス数が記憶される。
【００５０】
決定部１１２は、ライセンス規則テーブルを読み出し、割当管理テーブルに含まれる各製品ＩＤに対応するライセンス規則ＩＤを抽出する。さらに、決定部１１２は、ライセンス所有数管理テーブルを読み出し、抽出したライセンス規則ＩＤに対応付けられた所有ライセンス数を抽出する。決定部１１２は、抽出したライセンス規則ＩＤ毎に、製品ＩＤ、所有ライセンス数及び残りライセンス数を関連付けてライセンス数管理テーブルに記憶する。
【００５１】
以下のステップＳ２０３〜Ｓ２１１の処理は、割当管理テーブルに記憶された割当ＩＤ毎に実施される。
【００５２】
決定部１１２は、割当管理テーブルに記憶された割当ＩＤに対応するソフトウェア製品に割り当てるソフトウェアライセンスの候補を示す割当候補管理テーブルを作成する（ステップＳ２０３）。
【００５３】
決定部１１２は、ライセンス規則テーブルに含まれるソフトウェアライセンスの内、管理対象装置で動作するソフトウェア製品が、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別に含まれるソフトウェアライセンスを抽出する。さらに、決定部１１２は、抽出したソフトウェアライセンスの内、管理対象装置の装置仕様が、そのソフトウェアライセンスを割り当て可能な装置仕様条件を満たすソフトウェアライセンスを抽出する。そして、決定部１１２は、抽出したソフトウェアライセンスを、対応するソフトウェア製品に割り当てるソフトウェアライセンスの候補として割当候補管理テーブルに記憶する。以下、ソフトウェア製品に割り当てるソフトウェアライセンスの候補を割当候補と称する。
【００５４】
図１０は、特定の割当ＩＤについての割当候補管理テーブルのデータ構造の一例を示す図である。割当候補管理テーブルには、割当候補毎に、ライセンス規則ＩＤ、使用ライセンス数、仮想マシンフラグ、適用可能製品ＩＤ、装置仕様条件、仮想マシン条件、価格等が記憶される。ライセンス規則ＩＤは、その割当ＩＤに対応するソフトウェア製品に割り当てることができるソフトウェアライセンスのライセンス規則ＩＤである。使用ライセンス数は、その割当ＩＤに対応する管理対象装置に対して必要となるソフトウェアライセンスの必要数である。仮想マシンフラグは、その割当ＩＤに対応するソフトウェア製品が仮想マシン上で動作しているか否かを示すフラグである。適用可能製品ＩＤは、そのライセンス規則ＩＤのソフトウェアライセンスを適用可能なソフトウェア製品の製品ＩＤである。装置仕様条件及び仮想マシン条件は、そのソフトウェアライセンスに対して定められた装置仕様条件及び仮想マシン条件である。価格は、そのソフトウェアライセンスの価格である。
【００５５】
決定部１１２は、割当管理テーブルにおいて特定の割当ＩＤに対応付けられた製品ＩＤに対応する全てのソフトウェアライセンスをライセンス規則テーブルから抽出する。さらに、決定部１１２は、抽出したソフトウェアライセンスの内、装置構成管理テーブルにおいて、割当管理テーブルに示される装置ＩＤに対応する装置仕様情報がライセンス規則テーブルに示される装置仕様条件を満たすソフトウェアライセンスを抽出する。
【００５６】
決定部１１２は、抽出したソフトウェアライセンスに対応するライセンス規則ＩＤを割当候補管理テーブルに書き込む。また、決定部１１２は、割当候補管理テーブルに使用ライセンス数を書き込む。例えば、管理対象装置が有するＣＰＵの数だけソフトウェアライセンスが必要な場合、決定部１１２は、その割当ＩＤに対応付けられた装置ＩＤに対応するＣＰＵ数を装置構成管理テーブルから読み出し、そのＣＰＵ数を使用ライセンス数とする。また、決定部１１２は、割当候補管理テーブルに仮想マシンフラグを書き込む。決定部１１２は、その割当ＩＤに対応付けられた装置ＩＤ及び製品ＩＤに対応する仮想マシン仕様条件を装置構成管理テーブルから読み出し、その割当ＩＤに対応するソフトウェア製品が仮想マシン上で動作しているか否かに応じて仮想マシンフラグを設定する。さらに、決定部１１２は、後述する第１割当候補決定処理又は第２割当候補決定処理において、各ライセンス規則ＩＤに対応付けられた製品ＩＤ、装置仕様条件、仮想マシン条件及び価格をライセンス規則テーブルから読み出し、割当候補管理テーブルに書き込む。
【００５７】
次に、決定部１１２は、作成した割当候補管理テーブルに割当候補が複数あるか否かを判定する（ステップＳ２０４）。
【００５８】
決定部１１２は、割当候補管理テーブルに割当候補が複数ない場合、処理をステップＳ２０８へ移行する。一方、決定部１１２は、割当候補管理テーブルに割当候補が複数ある場合、ライセンスを割り当てるソフトウェア製品が仮想マシン上で動作しているか否かを判定する（ステップＳ２０５）。決定部１１２は、割当候補管理テーブルにおけるその割当候補の仮想マシンフラグに基づいて、ライセンスを割り当てるソフトウェア製品が仮想マシン上で動作しているか否かを判定する。
【００５９】
決定部１１２は、ライセンスを割り当てるソフトウェア製品が仮想マシン上で動作していない場合、割当候補管理テーブルに含まれる複数の割当候補の中から最も優先度の高い割当候補を決定する第１割当候補決定処理を実行する（ステップＳ２０６）。決定部１１２は、第１割当候補決定処理において、仮想マシン条件が定められていない割当候補の中から最も優先度の高い割当候補を決定する。決定部１１２は、第１割当候補決定処理において、所有するライセンス数、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別の数又はそのソフトウェアライセンスを割り当て可能な装置仕様条件に基づいて割当候補を決定する。第１割当候補決定処理の詳細については後述する。
【００６０】
一方、決定部１１２は、ライセンスを割り当てるソフトウェア製品が仮想マシン上で動作している場合、仮想マシンに割り当て可能な割当候補も含めて最も優先度の高い割当候補を決定する第２割当候補決定処理を実行する（ステップＳ２０７）。決定部１１２は、第２割当候補決定処理において、物理マシンに割り当て可能な割当候補と、仮想マシンに割り当て可能な割当候補の中から最も優先度の高い割当候補を決定する。第２割当候補決定処理の詳細については後述する。
【００６１】
次に、決定部１１２は、管理対象装置に割り当てるソフトウェアライセンスを決定する（ステップＳ２０８）。決定部１１２は、ステップＳ２０４において割当候補管理テーブルに割当候補が一つしか含まれていなかった場合、その割当候補を、管理対象装置に割り当てるソフトウェアライセンスに決定する。一方、決定部１１２は、割当候補管理テーブルに複数の割当候補が含まれていた場合、第１割当候補決定処理又は第２割当候補決定処理で決定した最も優先度の高い割当候補を、管理対象装置に割り当てるソフトウェアライセンスに決定する。
【００６２】
次に、割当部１１３は、決定部１１２が決定したソフトウェアライセンスを管理対象装置に割り当て、割り当てたソフトウェアライセンスに対応するライセンス規則ＩＤを割当結果テーブルに書き込む（ステップＳ２０９）。
【００６３】
図１１は、割当結果テーブルのデータ構造の一例を示す図である。割当結果テーブルには、割当ＩＤ毎に、装置ＩＤ、製品ＩＤ、ライセンス規則ＩＤ等が記憶される。装置ＩＤは、ソフトウェアライセンスを割り当てた管理対象装置の装置ＩＤである。製品ＩＤは、ソフトウェアライセンスを割り当てたソフトウェア製品の製品ＩＤである。ライセンス規則ＩＤは、そのソフトウェアライセンスに対応するライセンス規則ＩＤである。
【００６４】
次に、割当部１１３は、ライセンス数管理テーブルにおいて、割り当てたソフトウェアライセンスの残りライセンス数から、割当候補管理テーブルにおける使用ライセンス数だけ減算する（ステップＳ２１０）。
【００６５】
次に、割当部１１３は、割当管理テーブルに含まれる全ての割当ＩＤについて、ソフトウェアライセンスの割り当てが完了したか否かを判定する（ステップＳ２１１）。割当部１１３は、まだソフトウェアライセンスの割り当てが完了していない割当ＩＤがある場合、処理をステップＳ２０３に戻し、ステップＳ２０３〜Ｓ２１１の処理を繰り返す。
【００６６】
一方、割当部１１３は、全ての割当ＩＤについて、ソフトウェアライセンスの割り当てが完了した場合、ライセンス所有数管理テーブルを更新し（ステップＳ２１２）、一連のステップを終了する。割当部１１３は、ライセンス数管理テーブルに記憶された各ソフトウェアライセンスの残りライセンス数をライセンス所有数管理テーブルにおいて対応するライセンス所有数に書き込む。なお、この処理の後、図６のステップＳ１０８では、割当結果テーブルに示される各情報が割当結果として管理装置２００に送信される。
【００６７】
図１２は、サーバ装置１００による第１割当候補決定処理の動作の例を示すフローチャートである。図１２に示す動作のフローは、図７に示すシーケンスのステップＳ２０６において実行される。
【００６８】
最初に、決定部１１２は、割当候補管理テーブルに、残りライセンス数が使用ライセンス数以上である割当候補が存在するか否かを判定する（ステップＳ３０１）。決定部１１２は、割当候補管理テーブルに含まれるライセンス規則ＩＤの内、ライセンス数管理テーブルで対応して記憶された残りライセンス数が、割当候補管理テーブルに記憶された使用ライセンス数以上となるライセンス規則ＩＤが存在するか否かを判定する。
【００６９】
決定部１１２は、残りライセンス数が使用ライセンス数以上である割当候補が存在する場合、残りライセンス数が使用ライセンス数以上である全ての割当候補を抽出する（ステップＳ３０２）。一方、決定部１１２は、残りライセンス数が使用ライセンス数以上である割当候補が存在しない場合、割当候補管理テーブルに含まれる全ての割当候補を抽出する（ステップＳ３０３）。
【００７０】
次に、決定部１１２は、ステップＳ３０２又はＳ３０３で抽出した割当候補が一つであるか否かを判定する（ステップＳ３０４）。
【００７１】
決定部１１２は、抽出した割当候補が一つである場合、即ち、残りライセンス数が使用ライセンス数以上である割当候補が一つである場合、その抽出した割当候補を最も優先度の高い割当候補に決定し（ステップＳ３０８）、一連のステップを終了する。
【００７２】
一方、決定部１１２は、抽出した割当候補が複数ある場合、その割当候補により使用可能となるソフトウェア製品の製品種別の数が最も少ない割当候補を抽出する（ステップＳ３０５）。決定部１１２は、割当候補管理テーブルに含まれる各ライセンス規則ＩＤに対応付けられた製品ＩＤをライセンス規則テーブルから読み出し、割当候補管理テーブルに書き込む。決定部１１２は、割当候補管理テーブルに含まれる割当候補の内、対応する適用可能製品ＩＤの数が最も少ない割当候補を抽出する。
【００７３】
次に、決定部１１２は、ステップＳ３０５で抽出した割当候補が一つであるか否かを判定する（ステップＳ３０６）。
【００７４】
決定部１１２は、ステップＳ３０５で抽出した割当候補が一つである場合、その抽出した割当候補を最も優先度の高い割当候補に決定し（ステップＳ３０８）、一連のステップを終了する。即ち、決定部１１２は、残りライセンス数が使用ライセンス数以上である割当候補が複数ある場合に、その割当候補により使用可能となるソフトウェア製品の製品種別の数が最も少ない割当候補を最も優先度の高い割当候補に決定する。これにより、使用可能となるソフトウェア製品の製品種別の数が多いソフトウェアライセンスを割り当てずに残しておくことが可能となり、残ったソフトウェアライセンスを他の管理対象装置へ割り当てることができる可能性を向上させることができる。したがって、管理対象装置全体へのソフトウェアライセンスの適用率を向上させることが可能となる。
【００７５】
一方、決定部１１２は、ステップＳ３０５で抽出した割当候補が複数ある場合、装置仕様条件で指定された所定の部品の上限数が最も小さい割当候補を抽出する（ステップＳ３０７）。決定部１１２は、割当候補管理テーブルに含まれる各ライセンス規則ＩＤに対応付けられた装置使用条件をライセンス規則テーブルから読み出し、割当候補管理テーブルに書き込む。決定部１１２は、割当候補管理テーブルに含まれる割当候補の内、装置仕様条件で指定された所定の部品の上限数が最も小さい割当候補を抽出する。これにより、装置仕様条件の緩いソフトウェアライセンスを割り当てずに残しておくことが可能となり、残ったソフトウェアライセンスを他の管理対象装置へ割り当てることができる可能性を向上させることができる。したがって、管理対象装置全体へのソフトウェアライセンスの適用率を向上させることが可能となる。
【００７６】
次に、決定部１１２は、抽出した割当候補を最も優先度の高い割当候補に決定し（ステップＳ３０８）、一連のステップを終了する。即ち、決定部１１２は、残りライセンス数が使用ライセンス数以上である割当候補が複数ある場合に、装置仕様条件で指定された所定の部品の上限数が最も小さい割当候補を最も優先度の高い割当候補に決定する。なお、ステップＳ３０７で抽出した割当候補が複数ある場合、決定部１１２は、抽出した割当候補の内、割当候補管理テーブルの最も先頭側（上側）に記録された割当候補を最も優先度の高い割当候補に決定する。
【００７７】
図１３Ａ〜図１３Ｅは、第１割当候補決定処理により、管理対象装置に割り当てるソフトウェアライセンスが決定される例について説明するための割当候補管理テーブルの例である。なお、図１３Ａ〜図１３Ｅでは、１つのＣＰＵに対して１つのライセンスが必要である例について説明する。
【００７８】
図１３Ａは、図８に示した割当管理テーブルの割当ＩＤ［Ａ００１］について作成された割当候補管理テーブルを示す。図８の割当管理テーブルでは、割当ＩＤ［Ａ００１］に、製品ＩＤ［Ｐ００１］及び装置ＩＤ［Ｄ００１］が対応付けられ、仮想マシンＩＤは設定されていない。図３Ａのライセンス規則テーブルでは、製品ＩＤ［Ｐ００１］にライセンス規則ＩＤ［Ｌ００１］、［Ｌ００２］が対応付けられている。また、ライセンス規則ＩＤ［Ｌ００１］、［Ｌ００２］のそれぞれに装置仕様条件［ＣＰＵ上限数無制限］が対応付けられ、仮想マシン条件［なし］が対応付けられている。図４の装置構成管理テーブルでは、装置ＩＤ［Ｄ００１］に装置仕様情報［ＣＰＵ数２］が対応付けられている。装置仕様情報［ＣＰＵ数２］は装置仕様条件［ＣＰＵ上限数無制限］を満たしているため、図１３Ａの割当候補管理テーブルには、ライセンス規則ＩＤ［Ｌ００１］、［Ｌ００２］が書き込まれる。また、割当候補管理テーブルには、使用ライセンス数として管理対象装置が有するＣＰＵ数［２］が書き込まれ、仮想マシンフラグとして［なし］が書き込まれる。
【００７９】
図１３Ａの割当候補管理テーブルでは、図９のライセンス数管理テーブルの残りライセンス数［２］が、割当候補管理テーブルの使用ライセンス数［２］以上である２つのライセンス規則ＩＤ［Ｌ００１］、［Ｌ００２］が存在する。そのため、割当候補管理テーブルには、図３Ａのライセンス規則テーブルに基づいて、各ライセンス規則ＩＤについて適用可能製品が書き込まれる。割当候補管理テーブルには、ライセンス規則ＩＤ［Ｌ００１］について適用可能製品［Ｐ００１］、［Ｐ００２］が書き込まれ、ライセンス規則ＩＤ［Ｌ００２］について適用可能製品［Ｐ００１］が書き込まれる。そして、対応する適用可能製品ＩＤの数が最も少ないライセンス規則ＩＤ［Ｌ００２］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００２］の残りライセンス数は［０］に更新される。
【００８０】
図１３Ｂは、図８に示した割当管理テーブルの割当ＩＤ［Ａ００２］について作成された割当候補管理テーブルを示す。図１３Ｂの割当候補管理テーブルには、図１３Ａの割当候補管理テーブルと同様にして、ライセンス規則ＩＤ［Ｌ００３］、［Ｌ００４］が書き込まれる。この割当候補管理テーブルでは、ライセンス規則ＩＤ［Ｌ００３］及び［Ｌ００４］に対応する適用可能製品ＩＤの数が同じであるため、図３Ａのライセンス規則テーブルに基づいて、各ライセンス規則ＩＤについて装置使用条件が書き込まれる。割当候補管理テーブルには、ライセンス規則ＩＤ［Ｌ００３］について装置使用条件［ＣＰＵ上限数無制限］が書き込まれ、ライセンス規則ＩＤ［Ｌ００４］について装置使用条件［ＣＰＵ上限数２］が書き込まれる。そして、ＣＰＵ上限数が最も小さいライセンス規則ＩＤ［Ｌ００４］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００４］の残りライセンス数は［０］に更新される。
【００８１】
図１３Ｃは、図８に示した割当管理テーブルの割当ＩＤ［Ａ００３］について作成された割当候補管理テーブルを示す。図１３Ｃの割当候補管理テーブルには、図１３Ａの割当候補管理テーブルと同様にして、ライセンス規則ＩＤ［Ｌ００１］のみが書き込まれる。この割当候補管理テーブルでは、ライセンス規則が一つのみであるため、ライセンス規則ＩＤ［Ｌ００１］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００１］の残りライセンス数は［０］に更新される。
【００８２】
上記したように、製品ＩＤ［Ｐ００２］に割り当て可能なライセンス規則ＩＤ［Ｌ００１］のソフトウェアライセンスは、割当ＩＤ［Ａ００１］に対して割り当てられなかったため、割当ＩＤ［Ａ００３］に対して割り当てることができる。このように、管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが可能となる。
【００８３】
図１３Ｄは、図８に示した割当管理テーブルの割当ＩＤ［Ａ００４］について作成された割当候補管理テーブルを示す。図１３Ｄの割当候補管理テーブルには、図１３Ａの割当候補管理テーブルと同様にして、ライセンス規則ＩＤ［Ｌ００３］のみが書き込まれる。この割当候補管理テーブルでは、ライセンス規則が一つのみであるため、ライセンス規則ＩＤ［Ｌ００３］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００３］の残りライセンス数は［０］に更新される。
【００８４】
上記したように、製品ＩＤ［Ｐ００３］に割り当て可能であり、且つ装置仕様条件が［ＣＰＵ上限数無制限］であるライセンス規則ＩＤ［Ｌ００３］のソフトウェアライセンスは、割当ＩＤ［Ａ００２］に対して割り当てられなかった。したがって、ＣＰＵ数が［４］である装置ＩＤ［Ｄ００２］の管理対象装置に対して、ライセンス規則ＩＤ［Ｌ００３］のソフトウェアライセンスを割り当てることができる。このように、管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが可能となる。
【００８５】
図１３Ｅは、図８に示した割当管理テーブルの割当ＩＤ［Ａ００５］について作成された割当候補管理テーブルを示す。図１３Ｅの割当候補管理テーブルには、図１３Ａの割当候補管理テーブルと同様にして、ライセンス規則ＩＤ［Ｌ００５］のみが書き込まれる。この割当候補管理テーブルでは、ライセンス規則が一つのみであるため、ライセンス規則ＩＤ［Ｌ００５］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００５］の残りライセンス数は［−４］に更新される。
【００８６】
このように、ソフトウェアライセンスの残り数を負の数にして管理することにより、管理者はソフトウェアライセンスの不足数を容易且つ確実に把握することが可能となる。
【００８７】
図１４は、サーバ装置１００による第２割当候補決定処理の動作の例を示すフローチャートである。図１４に示す動作のフローは、図７に示すシーケンスのステップＳ２０７において実行される。
【００８８】
最初に、決定部１１２は、割当候補管理テーブルに含まれる、物理マシンに割り当て可能な割当候補に対して図１２に示した第１割当候補決定処理を実行する（ステップＳ４０１）。決定部１１２は、割当候補管理テーブルに含まれる各ライセンス規則ＩＤに対応付けられた仮想マシン条件をライセンス規則テーブルから読み出し、割当候補管理テーブルに書き込む。決定部１１２は、割当候補管理テーブルから、仮想マシン条件が物理マシンに割り当てられることを示す割当候補を抽出し、抽出した割当候補に対して第１割当候補決定処理を実行する。
【００８９】
次に、決定部１１２は、第１割当候補決定処理のステップＳ４０１において、物理マシンに割り当て可能な割当候補の中に、残りライセンス数が使用ライセンス数以上である割当候補が存在したか否かを判定する（ステップＳ４０２）。
【００９０】
決定部１１２は、残りライセンス数が使用ライセンス数以上である割当候補が存在しなかった場合、割当候補管理テーブルから、対象のソフトウェア製品に適用することができる、仮想マシンに割り当て可能な割当候補の組合せを抽出する（ステップＳ４０３）。
【００９１】
次に、決定部１１２は、抽出した組合せの中に、残りライセンス数が必要数以上である組合せが存在するか否かを判定する（ステップＳ４０４）。決定部１１２は、各組合せに含まれる全ての割当候補を割り当てた場合に、ライセンス数管理テーブルに記憶された各割当候補の残りライセンス数が０以上となるか否かを判定する。決定部１１２は、全ての割当候補の残りライセンス数が０以上となる組合せが存在する場合、残りライセンス数が必要数以上である組合せが存在すると判定する。一方、決定部１１２は、全ての割当候補の残りライセンス数が０以上となる組合せが存在しない場合、残りライセンス数が必要数以上である組合せが存在しないと判定する。
【００９２】
決定部１１２は、残りライセンス数が必要数以上である組合せが存在しない場合、処理をステップＳ４１０へ移行する。一方、決定部１１２は、残りライセンス数が必要数以上である組合せが存在する場合、その組合せに含まれる各割当候補により使用可能となるソフトウェア製品の製品種別の数の内の最小数が最も小さい組合せを抽出する（ステップＳ４０５）。
【００９３】
次に、決定部１１２は、抽出した組合せに含まれる各割当候補を、最も優先度の高い割当候補に決定し（ステップＳ４０６）、一連のステップを終了する。
【００９４】
一方、決定部１１２は、ステップＳ４０２において残りライセンス数が使用ライセンス数以上である割当候補が存在した場合、ステップＳ４０１で決定された割当候補を割り当てることにより適用される全てのソフトウェア製品を装置構成管理テーブルから抽出する。そして、決定部１１２は、割当候補管理テーブルから、抽出した全てのソフトウェア製品をサポートすることができる、仮想マシンに割り当て可能な割当候補の組合せを抽出する（ステップＳ４０７）。
【００９５】
次に、決定部１１２は、抽出した組合せの中に、残りライセンス数が必要数以上である組合せが存在するか否かを判定する（ステップＳ４０８）。
【００９６】
決定部１１２は、残りライセンス数が必要数以上である組合せが存在しない場合、ステップＳ４０１で決定された物理マシンに割り当て可能な割当候補を、最も優先度の高い割当候補に決定し（ステップＳ４０９）、一連のステップを終了する。
【００９７】
一方、決定部１１２は、残りライセンス数が必要数以上である組合せが存在する場合、その組合せに含まれる各割当候補により使用可能となるソフトウェア製品の製品種別の数の内の最小数が最も小さい組合せを抽出する（ステップＳ４１０）。なお、決定部１１２は、ステップＳ４０４で残りライセンス数が必要数以上である組合せが存在しなかった場合、ステップＳ４０３で抽出した組合せから、上記の最小数が最も小さい組合せを抽出する。
【００９８】
次に、決定部１１２は、抽出した組合せに係る上記の最小数が、ステップＳ４０１で決定された物理マシンに割り当て可能な割当候補により使用可能となるソフトウェア製品の製品種別の数未満であるか否かを判定する（ステップＳ４１１）。
【００９９】
決定部１１２は、上記の最小数が、物理マシンに割り当て可能な割当候補に係る製品種別の数未満である場合、抽出した組合せに含まれる各割当候補を、最も優先度の高い割当候補に決定し（ステップＳ４０６）、一連のステップを終了する。
【０１００】
一方、決定部１１２は、上記の最小数が、物理マシンに割り当て可能な割当候補に係る製品種別の数以上である場合、その物理マシンに割り当て可能な割当候補を、最も優先度の高い割当候補に決定し（ステップＳ４０９）、一連のステップを終了する。
【０１０１】
このように、決定部１１２は、管理対象装置上の仮想マシンでソフトウェア製品が動作する場合、物理マシンに割り当て可能な１つの割当候補と仮想マシンに割り当て可能な複数の割当候補の内の何れか一方を、最も優先度の高い割当候補に決定する。なお、決定部１１２は、管理対象装置上の複数の仮想マシンで複数のソフトウェア製品が動作する場合のみ、第２割当候補決定処理を実行してもよい。
【０１０２】
また、上記のように、決定部１１２は、物理マシンに割り当て可能な１つの割当候補に係る製品種別の数と、仮想マシンに割り当て可能な各割当候補に係る製品種別の数の内の最小数とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する。
【０１０３】
なお、決定部１１２は、各割当候補について装置仕様条件で指定された所定の部品の上限数に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定してもよい。即ち、決定部１１２は、物理マシンに割り当て可能な１つの割当候補に係る上限数と、仮想マシンに割り当て可能な各割当候補に係る上限数の内の最小数とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定してもよい。
【０１０４】
その場合、決定部１１２は、ステップＳ４０５及びＳ４１０において、各組合せに含まれる各割当候補の装置仕様条件で指定された所定の部品の上限数の内の最小数が最も小さい組合せを抽出する。また、決定部１１２は、ステップＳ４１１において、抽出した組合せに係る上記の最小数が、ステップＳ４０１で決定された物理マシンに割り当て可能な割当候補の装置仕様条件で指定された所定の部品の上限数未満であるか否かを判定する。そして、決定部１１２は、上記の最小数が、物理マシンに割り当て可能な割当候補に係る上限数未満である場合、抽出した組合せに含まれる各割当候補を、最も優先度の高い割当候補に決定する。一方、決定部１１２は、上記の最小数が、物理マシンに割り当て可能な割当候補に係る上限数以上である場合、その物理マシンに割り当て可能な割当候補を、最も優先度の高い割当候補に決定する。
【０１０５】
また、決定部１１２は、物理マシンに割り当て可能な１つの割当候補の価格と、仮想マシンに割り当て可能な各割当候補の価格の合計とに基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定してもよい。
【０１０６】
その場合、決定部１１２は、ステップＳ４１１において、抽出した組合せに含まれる各割当候補の価格の合計が、ステップＳ４０１で決定された物理マシンに割り当て可能な割当候補の価格未満であるか否かを判定する。そして、決定部１１２は、抽出した組合せに含まれる各割当候補の価格の合計が、物理マシンに割り当て可能な割当候補の価格未満である場合、抽出した組合せに含まれる各割当候補を、最も優先度の高い割当候補に決定する。一方、決定部１１２は、抽出した組合せに含まれる各割当候補の価格の合計が、物理マシンに割り当て可能な割当候補の価格以上である場合、その物理マシンに割り当て可能な割当候補を、最も優先度の高い割当候補に決定する。
【０１０７】
図１５は、第２割当候補決定処理により、管理対象装置に割り当てるソフトウェアライセンスが決定される例について説明するための割当候補管理テーブルの例である。
【０１０８】
図１５は、図８に示した割当管理テーブルの割当ＩＤ［Ａ００６］について作成された割当候補管理テーブルを示す。図８の割当管理テーブルでは、割当ＩＤ［Ａ００６］に、製品ＩＤ［Ｐ００５］、装置ＩＤ［Ｄ００３］及び仮想マシンＩＤ［Ｖ００１］が対応付けられている。図３Ａのライセンス規則テーブルでは、製品ＩＤ［Ｐ００５］にライセンス規則ＩＤ［Ｌ００６］〜［Ｌ００９］が対応付けられている。また、ライセンス規則ＩＤ［Ｌ００６］、［Ｌ００７］のそれぞれに仮想マシン条件［物理］が対応付けられ、ライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］のそれぞれに仮想マシン条件［仮想］が対応付けられている。したがって、図１５の割当候補管理テーブルには、仮想マシン条件が［物理］又は［仮想］に設定されているライセンス規則ＩＤ［Ｌ００６］〜［Ｌ００９］が書き込まれ、仮想マシンフラグとして［あり］が書き込まれる。
【０１０９】
図１５の割当候補管理テーブルでは、最初に、仮想マシン条件が［物理］であるライセンス規則ＩＤ［Ｌ００６］、［Ｌ００７］のうち、ＣＰＵ上限数が最も小さいライセンス規則ＩＤ［Ｌ００７］の割当候補が選択される。次に、規則ＩＤ［Ｌ００７］の割当候補を割り当てることにより適用される全てのソフトウェア製品の製品ＩＤ［Ｐ００５］、［Ｐ００６］が装置構成管理テーブルから抽出される。次に、製品ＩＤ［Ｐ００５］、［Ｐ００６］に適用することができる、仮想マシン条件が［仮想］であるライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］の組合せが割当候補管理テーブルから抽出される。ライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］に対応する適用可能製品ＩＤの数の最小数は１であり、ライセンス規則ＩＤ［Ｌ００７］に対応する適用可能製品ＩＤの数は２である。したがって、仮想マシン条件が［仮想］であるライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］の割当候補の組合せが管理対象装置に割り当てるソフトウェアライセンスに決定される。これにより、図８に示した割当管理テーブルにおいて製品ＩＤ［Ｐ００５］、［Ｐ００６］にそれぞれ対応する割当ＩＤ［Ａ００６］、［Ａ００７］に対して、ライセンス規則ＩＤ［Ｌ００８］と［Ｌ００９］の両方の割当候補が割り当てられる。また、図９のライセンス数管理テーブルにおいて、ライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］の残りライセンス数はそれぞれ［０］に更新される。
【０１１０】
なお、上記の処理により、図８に示した割当管理テーブルの割当ＩＤ［Ａ００７］に係るソフトウェア製品に対して、ライセンス規則ＩＤ［Ｌ００９］の割当候補が割り当てられるため、割当ＩＤ［Ａ００７］に対する割当処理は省略される。
【０１１１】
なお、ライセンス規則ＩＤ［Ｌ００８］、［Ｌ００９］に対応するＣＰＵ上限数は無制限であり、ライセンス規則ＩＤ［Ｌ００７］に対応するＣＰＵ上限数は４である。したがって、ＣＰＵ上限数に基づいて、管理対象装置に割り当てるソフトウェアライセンスが決定される場合は、ライセンス規則ＩＤ［Ｌ００７］の割当候補が管理対象装置に割り当てるソフトウェアライセンスに決定される。
【０１１２】
この場合、図８に示した割当管理テーブルの割当ＩＤ［Ａ００７］に係るソフトウェア製品は、ライセンス規則ＩＤ［Ｌ００７］の割当候補によりサポートされるため、割当ＩＤ［Ａ００７］に対する割当処理は省略される。
【０１１３】
図１３Ａ〜図１３Ｅ、図１５について説明した処理により決定されたソフトウェアライセンスの割当結果として、図１１に示した割当結果テーブルが作成される。
【０１１４】
以上詳述したように、図６のシーケンス及び図７、１２、１４のフローチャートに従って動作することによって、サーバ装置１００は、ライセンス数、製品種別の数又は装置仕様条件に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する。これにより、サーバ装置１００は、管理対象装置に対してソフトウェアライセンスを効率よく割り当てることが可能となった。
【０１１５】
特に、所定の版数のソフトウェア製品のみをサポートするソフトウェアライセンスと、所定の版数及び過去の版数のソフトウェア製品をサポートできる（ダウングレードできる）ソフトウェアライセンスを所有している場合、最適な割り当てが可能となる。サーバ装置１００は、所定の版数のソフトウェア製品を使用する管理対象装置に、所定の版数のソフトウェア製品のみをサポートするソフトウェアライセンスを優先して割り当てる。これにより、サーバ装置１００は、その後、過去の版数のソフトウェア製品を使用する管理対象装置に対して、所定の版数及び過去の版数のソフトウェア製品をサポートできるソフトウェアライセンスを割り当てることができる。
【０１１６】
また、サーバ装置１００は、物理的な装置と仮想マシンを関連付けて管理することにより、管理対象装置上で仮想マシンが動作している場合でも、ソフトウェアライセンスを効率よく割り当てることが可能となった。特に、管理対象装置上で動作している仮想マシン数が頻繁に増減する場合でも、サーバ装置１００は、適宜、管理対象装置に対してソフトウェアライセンスを割り当てることが可能となった。
【０１１７】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、決定部１１２は、所定のタイミングで、既にソフトウェアライセンスが割り当てられた他の管理対象装置に割り当てるソフトウェアライセンスを決定しなおしてもよい。例えば、図１２のステップＳ３０１において、決定部１１２は、残りライセンス数が使用ライセンス数以上となるソフトウェアライセンスが存在しない場合に、他の管理対象装置に割り当てるソフトウェアライセンスを決定しなおしてもよい。これにより、サーバ装置１００は、ライセンスの割り当てを適切に見なおすことができる。
【０１１８】
また、図１２のステップＳ３０１〜Ｓ３０４の処理を省略し、決定部１１２は、所有するライセンス数を用いずに、割り当てるソフトウェアライセンスを決定してもよい。また、図１２のステップＳ３０５〜Ｓ３０６の処理を省略し、決定部１１２は、そのソフトウェアライセンスにより使用可能となるソフトウェア製品の製品種別の数を用いずに、割り当てるソフトウェアライセンスを決定してもよい。また、図１２のステップＳ３０６〜Ｓ３０７の処理を省略し、決定部１１２は、そのソフトウェアライセンスを割り当て可能な装置仕様条件を用いずに、割り当てるソフトウェアライセンスを決定してもよい。
【０１１９】
図１６は、第１割当候補決定処理の動作の他の例を示すフローチャートである。以下、図１６に示したフローチャートを参照しつつ、第１割当候補決定処理の動作の他の例を説明する。このフローチャートは、サーバ装置１００により、前述した図１２に示すフローチャートの代りに実行することが可能である。
【０１２０】
図１６に示すステップＳ５０１〜Ｓ５０４、Ｓ５１０の処理は、図１２に示すステップＳ３０１〜Ｓ３０４、Ｓ３０８の処理と同じであるため、説明を省略し、以下では、ステップＳ５０５〜Ｓ５０９の処理についてのみ説明する。
【０１２１】
決定部１１２は、ステップＳ５０４で抽出した割当候補が複数ある場合、その割当候補により使用可能となるソフトウェア製品の製品種別の数が最も少ない割当候補を抽出する（ステップＳ５０５）。
【０１２２】
次に、決定部１１２は、装置仕様条件で指定された所定の部品の上限数が最も小さい割当候補を抽出する（ステップＳ５０６）。
【０１２３】
次に、決定部１１２は、その割当候補により使用可能となるソフトウェア製品の製品種別の数が最も少ない割当候補と装置仕様条件で指定された所定の部品の上限数が最も小さい割当候補が同じであるか否かを判定する（ステップＳ５０７）。
【０１２４】
次に、決定部１１２は、製品種別の数が最も少ない割当候補と所定の部品の上限数が最も小さい割当候補が同じである場合、その割当候補を抽出する（ステップＳ５０８）。
【０１２５】
一方、決定部１１２は、製品種別の数が最も少ない割当候補と所定の部品の上限数が最も小さい割当候補が異なる場合、価格が最も安い割当候補を抽出する（ステップＳ５０９）。決定部１１２は、割当候補管理テーブルに含まれる各ライセンス規則ＩＤに対応付けられた価格をライセンス規則テーブルから読み出し、割当候補管理テーブルに書き込む。決定部１１２は、割当候補管理テーブルに含まれる割当候補の内、対応する価格が最も安い割当候補を抽出する。
【０１２６】
このように、決定部１１２は、製品種別の数が最も少ない割当候補と所定の部品の上限数が最も小さい割当候補が異なる場合、価格に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する。
【０１２７】
以上詳述したように、図１６のフローチャートに従って動作することによって、サーバ装置１００は、ソフトウェアライセンスの価格に基づいて、管理対象装置に割り当てるソフトウェアライセンスを決定する。これによって、サーバ装置１００は、必要となるソフトウェアライセンスのコストを低減することが可能となった。また、所有ライセンス数が不足している場合、最も価格の安いソフトウェアライセンスの所有ライセンス数が負の数となるため、管理者は、最も価格の安いソフトウェアライセンスを適切に選択して購入することができる。また、所有ライセンスが余る場合は、価格の高い所有ライセンスから順に余ることになるため、余った所有ライセンスのライセンス契約を解除することにより、全体のラインセンスコストを適切に低減することが可能となる。
【符号の説明】
【０１２８】
１００    サーバ装置
１０４    記憶装置
１１１    受信部
１１２    決定部
１１３    割当部
【図１】
0005881770.tif 000002
【図２】
0005881770.tif 000003
【図３Ａ】
0005881770.tif 000004
【図３Ｂ】
0005881770.tif 000005
【図４】
0005881770.tif 000006
【図５】
0005881770.tif 000007
【図６】
0005881770.tif 000008
【図７】
0005881770.tif 000009
【図８】
0005881770.tif 000010
【図９】
0005881770.tif 000011
【図１０】
0005881770.tif 000012
【図１１】
0005881770.tif 000013
【図１２】
0005881770.tif 000014
【図１３Ａ】
0005881770.tif 000015
【図１３Ｂ】
0005881770.tif 000016
【図１３Ｃ】
0005881770.tif 000017
【図１３Ｄ】
0005881770.tif 000018
【図１３Ｅ】
0005881770.tif 000019
【図１４】
0005881770.tif 000020
【図１５】
0005881770.tif 000021
【図１６】
0005881770.tif 000022