IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エヌ・ティ・ティ・ソフトウェア株式会社の特許一覧

<>
  • 特許-管理装置、管理方法及びプログラム 図1
  • 特許-管理装置、管理方法及びプログラム 図2
  • 特許-管理装置、管理方法及びプログラム 図3
  • 特許-管理装置、管理方法及びプログラム 図4
  • 特許-管理装置、管理方法及びプログラム 図5
  • 特許-管理装置、管理方法及びプログラム 図6
  • 特許-管理装置、管理方法及びプログラム 図7
  • 特許-管理装置、管理方法及びプログラム 図8
  • 特許-管理装置、管理方法及びプログラム 図9
  • 特許-管理装置、管理方法及びプログラム 図10
  • 特許-管理装置、管理方法及びプログラム 図11
  • 特許-管理装置、管理方法及びプログラム 図12
  • 特許-管理装置、管理方法及びプログラム 図13
  • 特許-管理装置、管理方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-01
(45)【発行日】2024-11-12
(54)【発明の名称】管理装置、管理方法及びプログラム
(51)【国際特許分類】
   G06F 21/10 20130101AFI20241105BHJP
【FI】
G06F21/10 350
【請求項の数】 3
(21)【出願番号】P 2023223002
(22)【出願日】2023-12-28
(62)【分割の表示】P 2019150006の分割
【原出願日】2019-08-19
(65)【公開番号】P2024024032
(43)【公開日】2024-02-21
【審査請求日】2023-12-28
(73)【特許権者】
【識別番号】000102717
【氏名又は名称】NTTテクノクロス株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】倉林 健
(72)【発明者】
【氏名】小嶋 祐平
(72)【発明者】
【氏名】山田 翠
(72)【発明者】
【氏名】岡村 友香里
【審査官】上島 拓也
(56)【参考文献】
【文献】特開2019-079258(JP,A)
【文献】特開2019-109712(JP,A)
【文献】特開2018-084931(JP,A)
【文献】特開2008-234561(JP,A)
【文献】特開2013-109576(JP,A)
【文献】特開2009-080682(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
(57)【特許請求の範囲】
【請求項1】
複数の情報装置にインストールされているソフトウェアのライセンスを管理する管理装置であって、
前記情報装置から収集したインベントリ情報と、記憶部に記憶されているライセンス情報とに基づいて、前記情報装置にインストールされているソフトウェアにライセンス違反が生じているか否かを判定する第1の判定手段と、
前記情報装置にインストールされているソフトウェアにライセンス違反が生じていると判定された場合、前記ライセンス違反の種類を判定する第2の判定手段と、
前記第2の判定手段で判定された前記ライセンス違反の種類が不正利用であると判定された場合、前記ライセンス情報に基づいて、前記ソフトウェアに割り当て可能なライセンスがあるか否かを判定する第3の判定手段と、
前記ライセンス違反の種類に応じて、前記ソフトウェアにライセンス違反が生じていることを警告するためのアラート画面又は、前記ライセンスを前記ソフトウェアに割り当てることがどの程度適切であるかを表す指標値に応じた表示態様で前記ライセンスを表示することを提示内容とする提示画面のいずれかを所定の端末に表示させる表示手段と、を有し、
前記表示手段は、
前記ライセンス違反の種類が使用許諾違反であると判定された場合又は前記ライセンス違反の種類が前記不正利用であると判定され、かつ、前記ソフトウェアに割り当て可能なライセンスがないと判定された場合、前記アラート画面を前記端末に表示させ、
前記ライセンス違反の種類が前記不正利用であると判定され、かつ、前記ソフトウェアに割り当て可能なライセンスがあると判定された場合、前記提示画面を前記端末に表示させる、管理装置。
【請求項2】
複数の情報装置にインストールされているソフトウェアのライセンスを管理する管理装置が、
前記情報装置から収集したインベントリ情報と、記憶部に記憶されているライセンス情報とに基づいて、前記情報装置にインストールされているソフトウェアにライセンス違反が生じているか否かを判定する第1の判定手順と、
前記情報装置にインストールされているソフトウェアにライセンス違反が生じていると判定された場合、前記ライセンス違反の種類を判定する第2の判定手順と、
前記第2の判定手順で判定された前記ライセンス違反の種類が不正利用であると判定された場合、前記ライセンス情報に基づいて、前記ソフトウェアに割り当て可能なライセンスがあるか否かを判定する第3の判定手順と、
前記ライセンス違反の種類に応じて、前記ソフトウェアにライセンス違反が生じていることを警告するためのアラート画面又は、前記ライセンスを前記ソフトウェアに割り当てることがどの程度適切であるかを表す指標値に応じた表示態様で前記ライセンスを表示することを提示内容とする提示画面のいずれかを所定の端末に表示させる表示手順と、を実行し、
前記表示手順は、
前記ライセンス違反の種類が使用許諾違反であると判定された場合又は前記ライセンス違反の種類が前記不正利用であると判定され、かつ、前記ソフトウェアに割り当て可能なライセンスがないと判定された場合、前記アラート画面を前記端末に表示させ、
前記ライセンス違反の種類が前記不正利用であると判定され、かつ、前記ソフトウェアに割り当て可能なライセンスがあると判定された場合、前記提示画面を前記端末に表示させる、管理方法。
【請求項3】
コンピュータを、請求項1に記載の管理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置、管理方法及びプログラムに関する。
【背景技術】
【0002】
企業等では、ネットワーク内に大量の情報装置(例えば、PC(パーソナルコンピュータ)等の各種端末やサーバ装置等)が存在し、これらの情報装置にインストールされているソフトウェアの数も膨大である。このため、各企業等では、保有しているソフトウェア資産やライセンス等を効率的に管理するため、IT(Information Technology)資産管理システムを導入している場合が多い。
【0003】
IT資産管理システムでは、例えば、有償でライセンス管理必要なソフトウェアや、企業内での使用が制限される非商用ライセンスを採用しているソフトウェア等の使用状況を確認することで、ソフトウェアを適切に使用させる仕組みを提供している。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2001-005659号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、一般的に、ソフトウェアにはライセンス契約条項(又は「使用許諾条項」等とも呼ばれる。)が存在し、ソフトウェア利用者は、このライセンス契約条項の内容を全て理解すると共に同意した上でソフトウェアを利用することになっている。しかしながら、一般にライセンス契約条項は難解である場合が多く、ソフトウェア利用者は全ての内容を正しく理解しているとは限らない。そのため、ソフトウェア利用者が意図せずに、ライセンス契約条項に違反してしまっている場合が有り得る。
【0006】
また、各情報装置(端末やサーバ装置等)にインストールされているソフトウェアの中にライセンスが割り当てられていないソフトウェアが見つかった場合(つまり、不正利用のソフトウェアが見つかった場合)、このソフトウェアにライセンスを割り当てて不正利用を解消する必要がある。しかしながら、例えば、同一ソフトウェアであってもバージョンや購入形態等によってライセンスが異なっている場合があったり、大企業等ではライセンスの管理組織が複数存在する場合があったりする等、どのライセンスを割り当てるべきかの判断が困難なことがある。
【0007】
本発明の実施の形態は、上記の点に鑑みてなされたもので、ソフトウェアのライセンス管理を支援することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の実施の形態における管理装置は、複数の情報装置にインストールされているソフトウェアのライセンスを管理する管理装置であって、前記情報装置から収集したインベントリ情報と、記憶部に記憶されているライセンス情報とに基づいて、前記情報装置にインストールされているソフトウェアにライセンス違反が生じているか否かを判定する第1の判定手段と、前記情報装置にインストールされているソフトウェアにライセンス違反が生じていると判定された場合、前記ライセンス違反の種類を判定する第2の判定手段と、前記第2の判定手段で判定された前記ライセンス違反の種類が不正利用である場合、前記ソフトウェアに割り当て可能なライセンスがあるか否かの確認結果に基づいて、所定の端末に提示するための提示内容を作成する作成部と、を有する。
【発明の効果】
【0009】
ソフトウェアのライセンス管理を支援することができる。
【図面の簡単な説明】
【0010】
図1】本実施形態に係る資産管理システムの全体構成の一例を示す図である。
図2】本実施形態に係る管理装置の機能構成の一例を示す図である。
図3】ハードウェアインベントリ情報の一例を示す図である。
図4】ソフトウェアインベントリ情報の一例を示す図である。
図5】ハードウェア資産管理台帳情報の一例を示す図である。
図6】ソフトウェア資産管理台帳情報の一例を示す図である。
図7】ライセンス管理台帳情報の一例を示す図である。
図8】ライセンス割当情報の一例を示す図である。
図9】本実施形態に係るライセンス管理処理の一例を示すフローチャートである。
図10】アラート画面の一例を示す図である。
図11】割当ライセンス候補提示画面の一例を示す図である。
図12】ルールベースによるスコア算出に用いられるルールテーブルの一例を示す図である。
図13】協調フィルタリング(ユーザベース)によるスコア算出の一例を説明するための図である。
図14】協調フィルタリング(アイテムベース)によるスコア算出の一例を説明するための図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態(以降、「本実施形態」とも表す。)について、図面を参照しながら説明する。本実施形態では、IT資産としてソフトウェアのライセンス等を管理する資産管理システム1について説明する。なお、以下で説明する実施形態は一例に過ぎず、本発明が適用される実施形態は、以下の実施形態に限定されるわけではない。
【0012】
<全体構成>
まず、本実施形態に係る資産管理システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る資産管理システム1の全体構成の一例を示す図である。
【0013】
図1に示すように、本実施形態に係る資産管理システム1は、管理装置10と、収集装置20と、1以上の情報装置30と、管理者端末40とを有する。
【0014】
情報装置30は、各種端末(例えば、PCやスマートフォン、タブレット端末等)やサーバ装置等である。情報装置30には、例えば、各種ソフトウェアがインストールされている。情報装置30にインストールされるソフトウェアやこれらのソフトウェアのライセンスは、管理装置10によって管理される。また、情報装置30自身(又は、情報装置30に含まれる各種機器や各種装置等)は、管理装置10によってハードウェア資産として管理される。
【0015】
また、情報装置30には、当該情報装置30にインストールされているソフトウェアに関する情報を示すソフトウェアインベントリ情報と、当該情報装置30自身(又は、当該情報装置30に含まれる各種機器や各種装置等)に関する情報を示すハードウェアインベントリ情報とを収集装置20に送信する専用のソフトウェア(インベントリ収集用ソフトウェア)がインストールされている。なお、以降では、ソフトウェアインベントリ情報とハードウェアインベントリ情報とをまとめて「インベントリ情報」とも表す。
【0016】
ここで、インベントリとは保有資産を示す用語であり、IT資産管理等の分野で広く用いられている用語である。なお、インベントリ収集用ソフトウェア自身も、管理装置10によって管理されるソフトウェアに含まれていてもよい。
【0017】
ただし、収集装置20が情報装置30からソフトウェアインベントリ情報とハードウェアインベントリ情報とを取得することができる場合(すなわち、例えば、エージェントレス方式のインベントリ収集用ソフトウェアが収集装置20にインストールされている場合等)には、当該情報装置30にインベントリ収集用ソフトウェアがインストールされていなくてもよい。
【0018】
収集装置20は、情報装置30から送信されたソフトウェアインベントリ情報とハードウェアインベントリ情報とを収集するコンピュータ又はコンピュータシステムである。収集装置20は、情報装置30から収集したソフトウェアインベントリ情報とハードウェアインベントリ情報とを管理装置10に送信する。
【0019】
なお、収集装置20は、管理装置10と一体で構成されていてもよい。すなわち、収集装置20が備える機能(つまり、ソフトウェアインベントリ情報及びハードウェアインベントリ情報の収集機能)を管理装置10が有していてもよい。
【0020】
管理装置10は、IT資産(ソフトウェア資産やライセンス、ハードウェア資産等)を管理するコンピュータ又はコンピュータシステムである。管理装置10は、収集装置20が収集したソフトウェアインベントリ情報及びハードウェアインベントリ情報を用いて、ソフトウェアのライセンス管理を支援するための通知等を行ったり、ライセンスの割当支援を行ったりする。すなわち、管理装置10は、情報装置30でライセンス違反が発生していないかを判定し、ライセンス違反が発生している場合には警告等の通知を行ったり、ライセンスの割当支援を行ったりする。これにより、ソフトウェアのライセンス違反を解消し、例えば、企業等におけるコンプライアンス違反のリスクを低減させることが可能になると共に、管理者等によるライセンス割当作業の負担軽減を図ることが可能になる。
【0021】
ここで、本実施形態では、ライセンス違反には、使用許諾違反と不正利用との2つがあるものとする。使用許諾違反とは、ソフトウェアにライセンスは割り当てられているものの、当該ライセンスの契約条項(使用許諾条項)に違反している場合のことを意味する。使用許諾違反が発生している場合とは、例えば、同一ライセンスで利用可能な機器台数を超過している場合や非商用ライセンスで商用利用している場合等が挙げられる。一方で、不正利用とは、ソフトウェアにライセンスが割り当てられていないことを意味する。
【0022】
管理者端末40は、情報装置30の管理者(例えば、システム管理者)等が利用する各種端末(例えば、PCやスマートフォン、タブレット端末等)である。管理者端末40には、例えば、管理装置10から送信された通知等が表示される。なお、管理者端末40は、管理装置10と一体で構成されていてもよい。
【0023】
<機能構成>
次に、本実施形態に係る管理装置10の機能構成について、図2を参照しながら説明する。図2は、本実施形態に係る管理装置10の機能構成の一例を示す図である。
【0024】
図2に示すように、本実施形態に係る管理装置10は、取得部101と、ハードウェア特定部102と、ソフトウェア特定部103と、判定部104と、アラート通知部105と、スコア算出部106と、候補提示部107とを有する。これらの各機能部は、管理装置10にインストールされた1以上のプログラムが、例えばCPU(Central Processing Unit)等のプロセッサに実行させる処理により実現される。
【0025】
また、本実施形態に係る管理装置10は、記憶部108を有する。当該記憶部は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置を用いて実現可能である。なお、当該記憶部は、管理装置10と通信ネットワークを介して接続される記憶装置等を用いて実現されていてもよい。
【0026】
記憶部108には、ハードウェア資産管理台帳情報220と、ソフトウェア辞書情報230と、ソフトウェア資産管理台帳情報240と、ライセンス管理台帳情報250と、ライセンス割当情報260とが記憶されている。なお、これらの各情報は、1つの記憶装置を用いて実現された記憶部108に記憶されていてもよいし、複数の記憶装置を用いて実現された記憶部108に記憶されていてもよい。
【0027】
ハードウェア資産管理台帳情報220は、ハードウェア資産を管理するためのハードウェア資産管理台帳を示す情報である。ハードウェア資産管理台帳情報220の詳細については後述する。
【0028】
ソフトウェア辞書情報230は、ソフトウェアの名寄せに用いられるソフトウェア辞書を示す情報である。ソフトウェアの名寄せとは、ソフトウェアインベントリ情報に含まれるソフトウェア名を、ソフトウェアを一意に特定するソフトウェア名に変換することである(この変換は「ソフトウェア名の正規化」とも称される。)。
【0029】
一般に、ソフトウェアインベントリ情報に含まれるソフトウェア名は、ソフトウェアを一意に特定できる名称でない場合が多い。例えば、ソフトウェアインベントリ情報に含まれるソフトウェア名が記号で表現されていたり、省略した名称で表現されていたりする場合がある。また、ソフトウェアインベントリ情報に含まれるソフトウェア名には、半角と全角とが混在している場合もある。そこで、このようなソフトウェア名を、ソフトウェアを一意に特定するソフトウェア名に変換するために、ソフトウェア辞書情報230が用いられる。
【0030】
ソフトウェア辞書情報230には、例えば、ソフトウェアインベントリ情報に含まれるソフトウェア名と、正規化されたソフトウェア名とが対応付けられている。なお、ソフトウェア辞書情報230には、例えば、更に、当該ソフトウェアのライセンスの種別(例えば、当該ライセンスが有償又は無償のいずれであるかを示す情報等)が対応付けられていてもよい。
【0031】
ソフトウェア資産管理台帳情報240は、ソフトウェア資産を管理するためのソフトウェア資産管理台帳を示す情報である。ソフトウェア資産管理台帳情報240の詳細については後述する。
【0032】
ライセンス管理台帳情報250は、ライセンスを管理するためのライセンス管理台帳を示す情報である。ライセンス管理台帳情報250の詳細については後述する。
【0033】
ライセンス割当情報260は、ライセンスの割当状況を示す情報である。ライセンス割当情報260の詳細については後述する。
【0034】
取得部101は、収集装置20から送信されたインベントリ情報210を受信することで、これらのインベントリ情報210を取得する。ここで、インベントリ情報210は、ハードウェアインベントリ情報211と、ソフトウェアインベントリ情報212とで構成される。ハードウェアインベントリ情報211の詳細とソフトウェアインベントリ情報212との詳細については後述する。なお、1つのインベントリ情報210は、或る情報装置30のハードウェアインベントリ情報211と、当該情報装置30のソフトウェアインベントリ情報212とで構成されているものとする。
【0035】
ハードウェア特定部102は、記憶部108に記憶されているハードウェア資産管理台帳情報220を用いて、取得部101により取得されたハードウェアインベントリ情報211が示すハードウェア(つまり、情報装置30)を特定する。
【0036】
ソフトウェア特定部103は、記憶部108に記憶されているソフトウェア辞書情報230とソフトウェア資産管理台帳情報240とを用いて、取得部101により取得されたソフトウェアインベントリ情報212が示すソフトウェアを特定する。
【0037】
判定部104は、記憶部108に記憶されているライセンス管理台帳情報250とライセンス割当情報260とを用いて、ハードウェア特定部102により特定されたハードウェア(つまり、情報装置30)でライセンス違反が発生していないかを判定する。また、判定部104は、ライセンス違反が発生していると判定した場合に、このライセンス違反が使用許諾違反又は不正利用のいずれであるかを判定する。ここで、判定部104は、ソフトウェア特定部103により特定されたソフトウェアにライセンスが割り当てられているが、当該ライセンスの契約条項(使用許諾条項)に違反している場合は使用許諾違反であると判定する一方で、ソフトウェア特定部103により特定されたソフトウェアにライセンスが割り当てられていない場合は不正利用であると判定する。
【0038】
更に、判定部104は、ライセンス違反が不正利用であると判定した場合に、不正利用となっているソフトウェア(つまり、ライセンスが割り当てられていないソフトウェア)に割り当て可能なライセンスがあるか否かを判定する。
【0039】
アラート通知部105は、判定部104によりライセンス違反が使用許諾違反であると判定された場合や不正利用となっているソフトウェアに割り当て可能なライセンスがないと判定された場合に、所定の通知先(例えば、管理者端末40やライセンス違反が発生している情報装置30等)にアラートを通知する。
【0040】
スコア算出部106は、判定部104により不正利用となっているソフトウェアに割り当て可能なライセンス(つまり、ライセンスの保有数に空きがあるライセンス)があると判定された場合に、これらのライセンスのスコアの所定のスコア算出方法により算出する。ここで、スコアとは、当該ライセンスを当該ソフトウェアに割り当てることがどの程度適切であるかを表す指標値である。
【0041】
候補提示部107は、スコア算出部106により算出されたスコアを用いて、不正利用となっているソフトウェアに割り当て可能なライセンスの候補を所定の提示先(例えば、管理者端末40やライセンス違反が発生している情報装置30等)に提示する。このとき、候補提示部107は、例えば、スコアの昇順(又はスコアの降順)にライセンスの候補を提示する。これにより、ライセンスを割り当てる管理者等は、不正利用が発生しているソフトウェアに対して適切なライセンスを割り当てることが可能となる。
【0042】
<ハードウェアインベントリ情報211>
ここで、ハードウェアインベントリ情報211について、図3を参照しながら説明する。図3は、ハードウェアインベントリ情報211の一例を示す図である。なお、ハードウェアインベントリ情報211は、収集装置20により情報装置30毎に収集される。
【0043】
図3に示すように、ハードウェアインベントリ情報211には、「装置識別番号」と、「メーカー名」と、「型番」と、「シリアル番号」と、「コンピュータ名」と、「MAC(Media Access Control address)アドレス」とが含まれる。
【0044】
「装置識別番号」は、情報装置30にインストールされたインベントリ収集用ソフトウェアにより生成された番号であり、情報装置30を一意に特定するIDである。なお、「装置識別番号」は、「機器番号」や「端末識別番号」等の他の名称であってもよい。
【0045】
「メーカー名」は、情報装置30の製造元のメーカー名である。「型番」は、情報装置30の型番である。「シリアル番号」は、情報装置30のシリアル番号(例えば、製造固有番号等)である。「コンピュータ名」は、情報装置30に設定された名称である。「MACアドレス」は、情報装置30のMACアドレスである。
【0046】
なお、メーカー名、型番、シリアル番号、コンピュータ名、及びMACアドレスは、インベントリ収集用ソフトウェアによって収集される情報装置30の情報の一例であって、インベントリ収集用ソフトウェアによって収集される情報装置30の情報は、これらに限定されるものではない。
【0047】
<ソフトウェアインベントリ情報212>
次に、ソフトウェアインベントリ情報212について、図4を参照しながら説明する。図4は、ソフトウェアインベントリ情報212の一例を示す図である。なお、ソフトウェアインベントリ情報212は、収集装置20により情報装置30毎に収集される。
【0048】
図4に示すように、ソフトウェアインベントリ情報212には、1以上のレコードが含まれる。また、これら各レコードには、「ソフトウェア名」と、「メーカー名」と、「インストール日」とが含まれる。
【0049】
「ソフトウェア名」は、ソフトウェアの名称である。なお、ソフトウェアインベントリ情報200のソフトウェア名は、上述したように、ソフトウェアを一意に特定できる名称でない場合が多い。
【0050】
「メーカー名」は、ソフトウェアの製造メーカーの名称である。「インストール日」は、ソフトウェアを情報装置30にインストールした日付である。なお、「インストール日」は、ソフトウェアを情報装置30にインストールした日時であってもよい。
【0051】
なお、ソフトウェアインベントリ情報212には、例えば、「装置識別番号」が対応付けられており、この「装置識別番号」によりハードウェアインベントリ情報211とソフトウェアインベントリ情報212とが対応付けられる。また、ソフトウェア名、メーカー名、及びインストール日は、インベントリ収集用ソフトウェアによって収集されるソフトウェアの情報の一例であって、インベントリ収集用ソフトウェアによって収集されるソフトウェアの情報は、これらに限定されるものではない。
【0052】
<ハードウェア資産管理台帳情報220>
次に、ハードウェア資産管理台帳情報220について、図5を参照しながら説明する。図5は、ハードウェア資産管理台帳情報220の一例を示す図である。
【0053】
図5に示すように、ハードウェア資産管理台帳情報220には、1以上のレコードが含まれる。また、これら各レコードには、「ハードウェア管理ID」と、「装置識別番号」と、「メーカー名」と、「型番」と、「シリアル番号」と、「コンピュータ名」と、「MACアドレス」と、「管理部門」と、「管理者」と、「ユーザID」と、「状態」とが含まれる。
【0054】
「装置識別番号」、「メーカー名」、「型番」、「シリアル番号」、「コンピュータ名」、及び「MACアドレス」は、上述した通りである。
【0055】
「ハードウェア管理ID」は、情報装置30を一意に特定するIDである。「管理部門」は、情報装置30を管理する部門である。「管理者」は、情報装置30の管理者を一意に特定するIDである。「ユーザID」は、情報装置30を利用している利用者(ユーザ)を一意に特定するIDである。
【0056】
「状態」は、ハードウェアの状態である。ハードウェアの状態としては、例えば、「利用中」、「遊休中」、「廃棄済」等がある。「利用中」とは、情報装置30をユーザが利用している状態のことである。「遊休中」とは、情報装置30をユーザが利用していない状態のこと(つまり、情報装置30がユーザに対して割り当てられていない状態のこと)である。「廃棄済」とは、情報装置30が廃棄済みである状態のことである。
【0057】
なお、例えば、管理対象のハードウェアが追加や削除された場合、管理者によって管理者端末40を用いて、ハードウェア資産管理台帳情報220のレコードの追加や削除が行われる。
【0058】
<ソフトウェア資産管理台帳情報240>
次に、ソフトウェア資産管理台帳情報240について、図6を参照しながら説明する。図6は、ソフトウェア資産管理台帳情報240の一例を示す図である。
【0059】
図6に示すように、ソフトウェア資産管理台帳情報240には、1以上のレコードが含まれる。また、これら各レコードには、「ソフトウェア管理ID」と、「ソフトウェア名」と、「メーカー名」と、「バージョン」と、「有償/無償区分」と、「種別」とが含まれる。
【0060】
「ソフトウェア名」及び「メーカー名」は、上述した通りである。「ソフトウェア管理ID」は、同一種類のソフトウェアを一意に特定するIDである。「バージョン」は、ソフトウェアのバージョンである。なお、バージョンには、ソフトウェアのリビジョンが含まれていても良い。「有償/無償区分」は、ソフトウェアが有償であるか無償であるかを示す区分である。
【0061】
「種別」は、ソフトウェアの種別である。ソフトウェアの種別としては、例えば、「業務系」、「ユーティリティ」、「その他」等がある。「業務系」とは、各種業務を直接的又は間接的に支援する機能を提供するソフトウェアであり、例えば、ワープロソフトや表計算ソフト等の各種アプリケーションソフトウェアが挙げられる。「ユーティリティ」とは、補助的な機能を提供するソフトウェアであり、例えば、プリンタドライバや暗号化ソフトウェア等が挙げられる。「その他」とは、「業務系」及び「ユーティリティ」以外のソフトウェアであり、例えば、ソフトウェアの更新プログラムやセキュリティパッチ等が挙げられる。
【0062】
なお、例えば、管理対象のソフトウェアが追加や削除された場合、管理者によって管理者端末40を用いて、ソフトウェア資産管理台帳情報240のレコードの追加や削除が行われる。
【0063】
<ライセンス管理台帳情報250>
次に、ライセンス管理台帳情報250について、図7を参照しながら説明する。図7は、ライセンス管理台帳情報250の一例を示す図である。
【0064】
図7に示すように、ライセンス管理台帳情報250には、1以上のレコードが含まれる。また、これら各レコードには、「ライセンス管理ID」と、「ソフトウェア管理ID」と、「ライセンス種別」と、「付加ライセンス」と、「購入日」と、「管理部門」と、「管理者」と、「元ライセンス管理ID」と、「ライセンス保有数」と、「使用数合計」と、「その他条件」とが含まれる。
【0065】
「ライセンス管理ID」は、ソフトウェアのライセンスを一意に特定するIDである。「ソフトウェア管理ID」は、上述したように、同一種類のソフトウェアを一意に特定するIDである。
【0066】
「ライセンス種別」は、ライセンスの種別である。ライセンスの種別としては、例えば、「ユーザライセンス」、「デバイスライセンス」、「フリーウェア」等がある。「ユーザライセンス」とは、例えば、1つのライセンスで1ユーザによるソフトウェアの利用が許可されるライセンスである。「デバイスライセンス」とは、例えば、1つのライセンスで1台の情報装置30へのソフトウェアのインストールが許可されるライセンスである。「フリーウェア」とは、例えば、ライセンス契約が不要なライセンスのことである。なお、ライセンスの種別としては、これら以外にも、例えば、「プロセッサライセンス」等の種々のライセンスがある。
【0067】
「付加ライセンス」は、ライセンス契約に付帯する権利(契約)のことである。このような権利としては、例えば、「アップグレード権」や「ダウングレード権」等がある。アップグレード権とは、ライセンス契約したバージョンのソフトウェアよりも上位のバージョンのソフトウェアも利用可能な権利のことである。ダウングレード権とは、ライセンス契約したバージョンのソフトウェアよりも下位のバージョンのソフトウェアも利用可能な権利のことである。なお、付加ライセンスとしては、これら以外にも、例えば、「重複インストール権」等の種々の付加ライセンスがある。
【0068】
「購入日」は、ライセンスを購入した日である。「管理部門」は、ライセンスを管理する部門である。「管理者」は、ライセンスの管理者である。ここで、同一ソフトウェア(つまり、同一ソフトウェア管理ID)に対するライセンスであっても、管理部門等が異なる場合には異なるライセンスとして管理される(つまり、異なるライセンス管理IDで管理される。)。例えば、図6に示す例では、ライセンス管理ID「LC01」のレコードと、ライセンス管理ID「LC02」のレコードとは、同一ソフトウェア(つまり、ソフトウェア管理ID「SW01」)に対するライセンスであるが、異なるライセンスとして管理される。
【0069】
「元ライセンス管理ID」は、ライセンス契約に対してアップグレード権又はダウングレード権が付帯されている場合に、親となるライセンスのライセンス管理ID(すなわち、アップグレード前又はダウングレード前のソフトウェアのライセンス管理ID)のことである。
【0070】
「ライセンス保有数」は、ライセンスの保有数である。例えば、ライセンスの保有数が「10」で、かつ、ライセンス種別が「デバイスライセンス」である場合、10台分のライセンスを保有していることを示している。同様に、例えば、ライセンスの保有数が「10」で、かつ、ライセンス種別が「ユーザライセンス」である場合、10ユーザ分のライセンスを保有していることを示している。
【0071】
「使用数合計」は、ライセンス保有数のうち、実際に利用されているライセンス(すなわち、ソフトウェアに割り当てられているライセンス)のことである。「その他条件」は、ソフトウェアの利用に関する各種条件(つまり、ライセンス契約条項(使用許諾条項)に定められた条件等)のことである。このような条件としては、例えば、「1つのライセンスでソフトウェアを同時に利用可能な機器台数に関する条件」、「ソフトウェアを利用可能な期間に関する条件」、「非商用利用でのみソフトウェアを利用可能とする条件」等が挙げられる。
【0072】
なお、ライセンス管理台帳情報250の各レコードには、上記以外にも、ライセンスの名称を示す「ライセンス名」、ライセンスが永続ライセンスであるか非永続ライセンスであるかを示す「利用形態」等が含まれる。また、これ以外にも、例えば、ライセンスの利用形態が非永続である場合には、当該ライセンスの有効期限を示す「ライセンスの有効期限」等が含まれていてもよい。
【0073】
また、例えば、ライセンス契約が新たに締結された場合やライセンス契約が切れた場合等には、管理者によって管理者端末40を用いて、ライセンス管理台帳情報250のレコードの追加や削除が行われる。
【0074】
<ライセンス割当情報260>
次に、ライセンス割当情報260について、図8を参照しながら説明する。図8は、ライセンス割当情報260の一例を示す図である。
【0075】
図8に示すように、ライセンス割当情報260には、1以上のレコードが含まれる。また、これら各レコードには、「割当管理ID」と、「ハードウェア管理ID」と、「ライセンス管理ID」とが含まれる。
【0076】
「割当管理ID」は、ライセンス割当情報260の各レコードを一意に特定するIDである。「ハードウェア管理ID」は、上述したように、情報装置30を一意に特定するIDである。「ライセンス管理ID」は、上述したように、ソフトウェアのライセンスを一意に特定するIDである。
【0077】
これにより、ソフトウェアのライセンスが、どの情報装置30にインストールされているソフトウェアに割り当てられているのかが管理される。例えば、割当管理ID「AS01」のレコードは、ライセンス管理ID「LC01」のライセンス(つまり、ソフトウェア管理ID「SW01」のソフトウェアのライセンス)が、ハードウェア管理ID「HW01」の情報装置30にインストールされているソフトウェア(ソフトウェア管理ID「SW01」のソフトウェア)に割り当てられていることを示している。
【0078】
なお、例えば、ライセンスの割り当てが追加や削除された場合、ライセンス割当情報260のレコードの追加や削除が行われる。
【0079】
<ライセンス管理処理>
以降では、本実施形態に係る管理装置10によってソフトウェアのライセンスを管理する処理(ライセンス管理処理)について、図9を参照しながら説明する。図9は、本実施形態に係るライセンス管理処理の一例を示すフローチャートである。
【0080】
まず、取得部101は、収集装置20から送信されたインベントリ情報210を受信することで、これらのインベントリ情報210を取得する(ステップS101)。なお、上述したように、インベントリ情報210は、ハードウェアインベントリ情報211と、ソフトウェアインベントリ情報212とで構成される。
【0081】
次に、ハードウェア特定部102は、記憶部108に記憶されているハードウェア資産管理台帳情報220を用いて、上記のステップS101で取得されたハードウェアインベントリ情報211が示すハードウェア(つまり、情報装置30のハードウェア管理ID)を特定する(ステップS102)。より具体的には、ハードウェア特定部102は、ハードウェアインベントリ情報211に含まれるメーカー名や型番、シリアル番号、コンピュータ名、MACアドレス等により、記憶部108に記憶されているハードウェア資産管理台帳情報220のレコード(つまり、このレコードのハードウェア管理ID)を特定する。これにより、ハードウェアインベントリ情報211が示す情報装置30のハードウェア管理IDが特定される。
【0082】
次に、ソフトウェア特定部103は、記憶部108に記憶されているソフトウェア辞書情報230とソフトウェア資産管理台帳情報240とを用いて、上記のステップS101で取得されたソフトウェアインベントリ情報212が示す各ソフトウェア(つまり、これらのソフトウェア各々のソフトウェア管理ID)を特定する(ステップS103)。より具体的には、ソフトウェア特定部103は、まず、ソフトウェア辞書情報230を用いて、ソフトウェアインベントリ情報212に含まれる各ソフトウェア名の名寄せを行って正規化されたソフトウェア名を特定する。そして、ソフトウェア特定部103は、正規化されたソフトウェア名により、ソフトウェア資産管理台帳情報240のレコード(つまり、このレコードのソフトウェア管理ID)を特定する。これにより、ソフトウェアインベントリ情報212が示す各ソフトウェアのソフトウェア管理IDがそれぞれ特定される。
【0083】
次に、判定部104は、記憶部108に記憶されているライセンス管理台帳情報250とライセンス割当情報260とを用いて、上記のステップS102で特定された情報装置30でライセンス違反が発生していないかを判定する(ステップS104)。すなわち、判定部104は、上記のステップS102で特定されたハードウェア管理IDの情報装置30において、上記のステップS103で特定されたソフトウェア管理IDのソフトウェアで使用許諾違反又は不正利用のいずれかが発生していないかを判定する。
【0084】
ここで、使用許諾違反が発生していないかを判定する場合、判定部104は、例えば、まず、ライセンス割当情報260を参照して、当該ハードウェア管理IDに対応する割当管理IDを特定する。そして、判定部104は、ライセンス管理台帳情報250を参照して、当該割当管理IDに対応する「その他条件」を当該情報装置30が満たしているか否かを判定すればよい。この場合、「その他条件」の全てを当該情報装置30が満たしている場合は、使用許諾違反は発生していないと判定され、「その他条件」の少なくとも一部を当該情報装置30が満たしていない場合は、使用許諾違反が発生していると判定される。
【0085】
一方で、不正利用が発生していないかを判定する場合、判定部104は、例えば、まず、ライセンス割当情報260を参照して、当該ハードウェア管理IDに対応する割当管理IDを特定する。そして、判定部104は、ライセンス管理台帳情報250を参照して、当該割当管理IDに対応するソフトウェア管理IDの中に、上記のステップS103で特定されたソフトウェア管理IDが存在するか否かを判定すればよい。この場合、上記のステップS103で特定されたソフトウェア管理IDが存在する場合は、不正利用は発生していないと判定され、上記のステップS103で特定されたソフトウェア管理IDが存在しない場合は、不正利用が発生していると判定される。
【0086】
上記のステップS104でライセンス違反が発生していると判定された場合、判定部104は、当該ライセンス違反が使用許諾違反又は不正利用のいずれであるかを判定する(ステップS105)。なお、上記のステップS104で複数のライセンス違反が発生していると判定された場合は、これら複数のライセンス違反の各々に対して、ステップS105以降の処理が実行されればよい。
【0087】
上記のステップS105でライセンス違反として不正利用が発生していると判定された場合、判定部104は、不正利用が発生しているソフトウェア(つまり、ライセンスが割り当てられていないソフトウェア)に割り当て可能なライセンスがあるか否かを判定する(ステップS106)。より具体的には、判定部104は、ライセンス管理台帳情報250を参照して、不正利用が発生しているソフトウェアのソフトウェア管理IDを含み、かつ、ライセンスに空きがある(つまり、「ライセンス保有数>使用数合計」である)レコードが存在するか否かを判定する。このようなレコードが存在する場合は割り当て可能なライセンスがあると判定され、存在しない場合は割り当て可能なライセンスはないと判定される。以降では、不正利用が発生しているソフトウェアを「割当対象ソフトウェア」とも表し、この割当対象ソフトウェアに割り当て可能なライセンスを「割当ライセンス候補」とも表す。
【0088】
上記のステップS105でライセンス違反として使用許諾違反が発生していると判定された場合又は上記のステップS106で割り当て可能なライセンス(割当ライセンス候補)はないと判定された場合、アラート通知部105は、所定の通知先(例えば、管理者端末40やライセンス違反が発生している情報装置30等)に対してアラートを通知することで、アラート通知画面を表示させる(ステップS107)。
【0089】
ここで、管理者端末40や情報装置30に表示されるアラート通知画面の一例を図10に示す。図10に示すアラート通知画面1000には、例えば、アラートが発生した「発生日」やアラートが解消されたか否かを示す「ステータス」、アラートの内容を示す「メッセージ」、アラートが発生した情報装置30のコンピュータ名を示す「コンピュータ名」、当該情報装置30の管理部門名を示す「管理部門名」、当該情報装置30の管理者を示す「管理者名」、当該情報装置30の利用者名を示す「利用者名」等が含まれる。また、アラートのより詳細な内容を表示させるための「詳細」ボタンも含まれる。
【0090】
このようなアラート通知画面1000を参照することで、管理者端末40や情報装置30のユーザ等は、当該情報装置30で発生したアラート(つまり、使用許諾違反が発生していることを示すアラートや不正利用が発生していることを示すアラート)を知ることができる。このため、このアラートを解消するために、使用許諾違反の状態を解消したり、ライセンスを割り当てたりすることができる。なお、アラート通知画面1000は、例えば、管理者端末40や情報装置30に搭載されたブラウザや所定のアプリケーションプログラム等により表示することが可能である。
【0091】
図9の説明に戻る。上記のステップS106で割り当て可能なライセンス(割当ライセンス候補)があると判定された場合、スコア算出部106は、所定のスコア算出方法により各割当ライセンス候補のスコアをそれぞれ算出する(ステップS108)。なお、スコア算出方法の詳細については後述する。
【0092】
次に、候補提示部107は、上記のステップS108で算出されたスコアと、不正利用となっているソフトウェア(割当対象ソフトウェア)に割り当て可能な割当ライセンス候補とを所定の提示先(例えば、管理者端末40やライセンス違反が発生している情報装置30等)に送信することで、割当ライセンス提示画面を表示させる。このとき、割当ライセンス提示画面では、例えば、スコアの昇順(又はスコアの降順)に割当ライセンス候補が表示される。なお、ライセンス提示画面に表示される割当ライセンス候補及びそのスコアの数は、全ての割当ライセンス候補及びそのスコアであってもよいし、一部の割当ライセンス候補及びそのスコア(例えば、スコアが上位N件である割当ライセンス候補及びそのスコア等)であってもよい。
【0093】
ここで、管理者端末40や情報装置30に表示される割当ライセンス提示画面の一例を図11に示す。図11に示す割当ライセンス候補提示画面2000には、例えば、割当ライセンス候補の名称を示す「ライセンス名」、当該割当ライセンス候補の管理部門名を示す「管理部門名」、当該割当ライセンス候補の利用形態を示す「利用形態」、当該割当ライセンス候補の使用数合計及びライセンス保有数を示す「使用数合計/ライセンス保有数」、当該割当ライセンス候補のライセンス種別を示す「ライセンス種別」、当該割当ライセンス候補のスコアを示す「スコア」等が含まれる。また、割当対象ソフトウェアに該当の割当ライセンス候補を割り当てるための「割当」ボタン2001が含まれる。
【0094】
このとき、各割当ライセンス候補は、例えば、スコアの昇順(又はスコアの降順)に表示される。例えば、スコアが高いほど当該割当ライセンス候補を割当対象ソフトウェアに割り当てることが適切である場合には、スコアの降順に割当ライセンス候補が表示される。一方で、スコアが低いほど当該割当ライセンス候補を割当対象ソフトウェアに割り当てることが適切である場合には、スコアの昇順に割当ライセンス候補が表示される。これにより、管理者端末40や情報装置30のユーザは、どの割当ライセンス候補を割当対象ソフトウェアに割り当てることが適切であるかを容易に知ることが可能となる。そして、ユーザによって「割当」ボタン2001が押下されることで、割当対象ソフトウェアに対して、当該「割当」ボタン2001に対応する割当ライセンス候補が割り当てられる。
【0095】
なお、本実施形態では、スコアとこのスコアの昇順又は降順にソートされた割当ライセンス候補とをユーザ(管理者端末40のユーザや情報装置30のユーザ等)に提示した上で、ユーザの操作によって割当対象ソフトウェアに対してライセンスを割り当てたが、これに限られず、管理装置10は、スコアに応じて自動的に割当対象ソフトウェアにライセンスを割り当ててもよい。例えば、管理装置10は、各割当ライセンス候補のうち、最もスコアが高い割当ライセンス候補(又は、最もスコアが低い割当ライセンス候補)を割当対象ソフトウェアに自動的に割り当ててもよい。また、このとき、例えば、管理装置10は、スコアの最大値が所定の閾値以上(又は、スコアの最小値が所定の閾値以下)である場合にのみ自動的に割り当てるようにし、それ以外の場合には割当ライセンス候補提示画面を表示させるようにしてもよい。
【0096】
<スコア算出方法>
以降では、図9のステップS109で各割当ライセンス候補のスコアを算出するためのスコア算出方法について説明する。
【0097】
・スコア算出方法その1:ルールベース
スコア算出方法その1として、ルールベースによって各割当ライセンス候補のスコアを算出する場合について説明する。この場合、スコア算出部106は、予めルールを定義したテーブル(ルールテーブル)を用いて、各割当ライセンス候補のスコアを算出する。例えば、ルールテーブルには項目と条件(ルール)とが含まれており、スコア算出部106は、項目毎に、割当ライセンス候補が条件を満たすか否かを判定することにより、スコアを算出する。ここで、ルールベースに用いられるルールテーブルの一例を図12に示す。図12に示すルールテーブルには、一例として、項目「ユーザ/管理部門」及びその条件、項目「使用数合計/ライセンス保有数」及びその条件、項目「ライセンス種別」及びその条件等が含まれている。スコア算出部106は、項目毎に、当該項目に対応する条件を割当ライセンス候補が満たすか否かを判定した上で、この条件に応じたスコアを付与することでスコアを算出する。
【0098】
例えば、図12に示すルールテーブルでは、項目「ユーザ/管理部門」に対応する条件は「利用者の所属組織/ハードウェアの管理部門と、ライセンスの管理部門とが一致するならばスコアaを付与」である。この場合、スコア算出部106は、割当対象ソフトウェアがインストールされている情報装置30のユーザの所属組織又は当該情報装置30の管理部門と、割当ライセンス候補の管理部門とが一致する場合、当該割当ライセンス候補のスコアにaを付与する。このようにして付与されたスコアの合計が、割当ライセンス候補のスコアとなる。
【0099】
なお、図12に示すルールテーブルの項目及び条件は一例であって、これらの項目及び条件以外にも種々の項目及び条件が考えられる。例えば、「ライセンスの利用形態が「永続」の場合はスコアaを付与し、「非永続」の場合はスコアaを付与(a>a)」、「仮想マシン上で割当対象ソフトウェアが動作している場合に、同一のホストハードウェアで動作しているソフトウェアに既に割り当てられているライセンスにはスコアaを付与」、「セカンドライセンスにはスコアaを付与」等が挙げられる。なお、スコアは0以上1以下となるように正規化されてもよい。
【0100】
・スコア算出方法その2:ユーザベース協調フィルタリング
スコア算出方法その2として、ユーザベース協調フィルタリングによって各割当ライセンス候補のスコアを算出する場合について説明する。この場合、スコア算出部106は、割当対象ソフトウェアがインストールされている情報装置30のユーザと似たライセンスを利用している他のユーザが利用しているライセンスのスコアが高くなるように、割当ライセンス候補のスコアを算出する。
【0101】
具体的には、例えば、図13に示すように、割当対象ソフトウェア(このソフトウェアを「ソフトウェアX」とする。)がインストールされている情報装置30のユーザを「U10」、他のユーザを「U1」~「U9」とする。このとき、スコア算出対象のライセンス(つまり、割当ライセンス候補)として「ソフトウェアXライセンス1」及び「ソフトウェアXライセンス2」があるものとする。
【0102】
また、図13中で、ユーザが利用しているライセンスには「1」が設定されているものとする。例えば、図13に示す例では、「U1」が利用しているライセンスは「ソフトウェアAライセンス1」、「ソフトウェアBライセンス1」及び「ソフトウェアXライセンス1」である。同様に、例えば、「U9」が利用しているライセンスは「ソフトウェアAライセンス3」、「ソフトウェアCライセンス2」及び「ソフトウェアXライセンス2」である。
【0103】
この場合、スコア算出部106は、ユーザ「U10」と、他のユーザ「U1」~「U9」の各々とで同一ライセンスを利用している数を類似度として算出した上で、「ソフトウェアXライセンス1」を利用しているユーザの類似度の最大値を当該「ソフトウェアXライセンス1」のスコアとすると共に、「ソフトウェアXライセンス2」を利用しているユーザの類似度の最大値を当該「ソフトウェアXライセンス2」のスコアとする。
【0104】
例えば、ユーザ「U10」とユーザ「U1」とは、同一ライセンス「ソフトウェアBライセンス1」を利用している。このため、ユーザ「U1」の類似度は「1」となる。また、例えば、ユーザ「U10」とユーザ「U4」とは、同一ライセンス「ソフトウェアAライセンス2」、「ソフトウェアBライセンス1」、「ソフトウェアCライセンス1」を利用している。このため、ユーザ「U4」の類似度は「3」となる。他のユーザの類似度についても同様に算出される。
【0105】
したがって、図13に示す例では、「ソフトウェアXライセンス1」のスコアは「3」、「ソフトウェアXライセンス2」のスコアは「2」となる。なお、これらのスコアは0以上1以下となるように正規化されてもよい。ただし、類似度の最大値ではなく、例えば、割当ライセンス候補を利用しているユーザの類似度の平均値を当該割当ライセンス候補のスコアとしてもよい。
【0106】
ユーザベース協調フィルタリングでスコアを算出する場合、ルールベースと異なり、事前にルールを定義する必要がなく、また、学習データ(つまり、ライセンス割当情報のレコード)が蓄積されるほど、高い精度でスコアを算出することが可能となる。
【0107】
なお、上記では割当対象ソフトウェアがインストールされている情報装置30のユーザと似たライセンスを利用している他のユーザが利用しているライセンスのスコアが高くなるように、割当ライセンス候補のスコアを算出したが、これに限られず、例えば、ライセンス種別が「デバイスライセンス」である場合は、割当対象ソフトウェアがインストールされている情報装置30と似たライセンスが適用されている他の情報装置30に適用されているライセンスのスコアを算出してもよい。
【0108】
・スコア算出方法その3:アイテムベース協調フィルタリング
スコア算出方法その3として、アイテムベース協調フィルタリングによって各割当ライセンス候補のスコアを算出する場合について説明する。この場合、スコア算出部106は、ライセンス毎に一緒に割り当てられやすいライセンスのスコアが高くなるように、割当ライセンス候補のスコアを算出する。
【0109】
具体的には、例えば、図14に示すように、ユーザを「U1」~「U9」、ライセンスを「L1」~「L9」として、ユーザが利用しているライセンスを「○」で表すとする。また、割当対象ソフトウェアがインストールされている情報装置30のユーザを「U9」とする。
【0110】
例えば、図14に示す例では、ユーザ「U1」は、ライセンス「L1」、「L4」、「L7」を利用している。同様に、ユーザ「U2」は、ライセンス「L2」、「L6」、「L8」を利用している。他のユーザについても同様である。
【0111】
このとき、スコア算出部106は、ライセンス同士の共起度を計算して、共起行列を算出する。例えば、ライセンス「L1」及び「L4」を共に利用しているユーザは、「U1」、「U3」、「U4」、「U7」、「U9」であるため、ライセンス「L1」及び「L4」の共起度は「5」になる。また、例えば、ライセンス「L1」及び「L6」を共に利用しているユーザは、「U8」であるため、ライセンス「L1」及び「L6」の共起度は「1」になる。このように各ライセンス同士の共起度を計算することで、図14に示すように、ライセンス同士の共起度をその要素とする共起行列が算出される。なお、図14に示す共起行列では、値が0の要素はブランク(空白)で表している。
【0112】
そして、単独のライセンスに対してスコアを算出する場合は、スコア算出部106は、他のライセンスとの共起度の合計をスコアとする。例えば、図14に示す例では、ライセンス「L2」のスコアは、「4」となる。
【0113】
また、割当対象ソフトウェアがインストールされている情報装置30のユーザ「U9」が利用しているライセンスと積を取ったスコアを算出する場合は、スコア算出部106は、当該ユーザが利用しているライセンスとの共起度の合計を、当該他のライセンスのスコアとする。例えば、図14に示す例では、ユーザ「U9」は、ライセンス「L1」と「L4」とを利用している。したがって、ライセンス「L1」との共起度と、ライセンス「L4」との共起度との合計を、該当のライセンスのスコアとする。具体的には、ライセンス「L6」のスコアは「1」、ライセンス「L7」のスコアは「6」、ライセンス「L8」のスコアは「2」、ライセンス「L9」のスコアは「1」となる。なお、ライセンス「L1」及び「L4」は、ユーザ「U9」が既に利用しているライセンスであるため、スコアが算出されなくてもよい。
【0114】
アイテムベース協調フィルタリングでスコアを算出する場合も、ルールベースと異なり、事前にルールを定義する必要がなく、また、学習データ(つまり、ライセンス割当情報のレコード)が蓄積されるほど、高い精度でスコアを算出することが可能となる。
【0115】
なお、上記では割当対象ソフトウェアがインストールされている情報装置30のユーザ間でこれらのユーザが利用しているライセンス同士の共起度を計算したが、これに限られず、例えば、ライセンス種別が「デバイスライセンス」である場合は、情報装置30間でこれらの情報装置30に適用されているライセンス同士の共起度を計算してもよい。
【0116】
・スコア算出方法その4:Word2Vecによる類似ライセンス抽出
スコア算出方法その4として、Word2Vecによって各割当ライセンス候補のスコアを算出する場合について説明する。この場合、スコア算出部106は、ライセンス毎に一緒に割り当てられやすいライセンスのスコアが高くなるように、割当ライセンス候補のスコアを算出する。
【0117】
具体的には、例えば、情報装置30毎に、この情報装置30に適用されているライセンス一覧を示す時系列データを準備した上で、スコア算出部106は、これらの時系列データを、Word2Vecにより、ライセンス数を次元数とするベクトル空間上のベクトルデータに変換する。そして、スコア算出部106は、例えば、割当対象ソフトウェアがインストールされている情報装置30に対応するベクトルデータと、割当ライセンス候補が適用されている情報装置30に対応するベクトルデータとの類似度(例えば、ベクトル空間内の距離)を算出し、これらの類似度の平均値をスコアとする。
【0118】
なお、上記のスコア算出方法その1~スコア算出方法その4は、状況等に応じて適宜組み合わせて利用されてもよい。例えば、学習データ(つまり、ライセンス割当情報のレコード)が少ない段階ではスコア算出方法その1を利用し、学習データが或る程度蓄積された後は、スコア算出方法その2~スコア算出方法その4を利用する等である。また、複数のスコア算出方法を組み合わせる場合は、例えば、各スコア算出でそれぞれ算出されたスコアの平均を算出してもよい。また、この平均を算出した場合は、例えば、各スコア算出方法でそれぞれ算出されたスコアも合わせてユーザ等に提示されてもよい。
【0119】
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更等が可能である。
【符号の説明】
【0120】
1 資産管理システム
10 管理装置
20 収集装置
30 情報装置
101 取得部
102 ハードウェア特定部
103 ソフトウェア特定部
104 判定部
105 アラート通知部
106 スコア算出部
107 候補提示部
108 記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14