(57)【要約】  【課題】ソフトウェア辞書に誤りが含まれている可能性を検出できる。  【解決手段】辞書記憶部１４は、ソフトウェア辞書を記憶する。収集部１１は、複数の端末装置からインベントリ情報を収集する。生成部１２は、収集部１１が収集したインベントリ情報および辞書記憶部１４に記憶されているソフトウェア辞書に基づいて、複数の端末装置３，４に記憶されているソフトウェアのインストールライセンス結果を生成する。検出部１３は、生成部１２によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書の誤りの可能性を検出し、検出した検出結果を検出結果記憶部１７に記憶する。【選択図】図２
2016045627.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア辞書を記憶した辞書記憶部と、
複数の端末装置からインベントリ情報を収集する収集部と、
前記収集部が収集した前記インベントリ情報および前記辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、
前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、
を有することを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記生成部は、複数の前記端末装置に記憶されていたレジストリ情報と、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを示す情報とを含む前記インストールライセンス結果を生成する、
ことを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置であって、
前記生成部は、前記ソフトウェア辞書の実行ファイルの情報に基づいて、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを判定する、
ことを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記生成部は、前記ソフトウェア辞書において、前記レジストリ情報のソフトウェアに複数の実行ファイルが対応付けられている場合、前記レジストリ情報のソフトウェアはスイート製品であると判定する、
ことを特徴とする情報処理装置。
【請求項５】
請求項４に記載の情報処理装置であって、
前記検出部は、単体と判定したソフトウェアの実行ファイルの名称が、スイート製品に含まれているソフトウェアの実行ファイルの名称と同じである場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、
ことを特徴とする情報処理装置。
【請求項６】
請求項２に記載の情報処理装置であって、
前記インストールライセンス結果には、さらに前記レジストリ情報が複数の前記端末装置のレジストリに記憶されているか否かを示す情報と、前記レジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とが含まれる、
ことを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置であって、
前記検出部は、前記インストールライセンス結果において、前記レジストリ情報が前記端末装置に記憶されており、前記レジストリ情報のソフトウェアにライセンスがない場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、
ことを特徴とする情報処理装置。
【請求項８】
情報処理装置のソフトウェア辞書の誤登録検出方法であって、
複数の端末装置からインベントリ情報を収集する収集ステップと、
前記収集ステップにて収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成ステップと、
前記生成ステップによって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出ステップと、
を有することを特徴とする誤登録検出方法。
【請求項９】
情報処理装置のプログラムであって、
複数の端末装置からインベントリ情報を収集する収集部と、
前記収集部が収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、
前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、
して前記情報処理装置を機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、誤登録検出方法、およびプログラムに関するものである。
【背景技術】
【０００２】
ソフトウェアライセンスの管理システムにおいては、例えば、ＰＣ（Personal Computer）から収集したインベントリ情報から、ＰＣにインストールされているソフトウェアを検知するために、予めソフトウェアに関する情報をソフトウェア辞書に登録する必要がある。
【０００３】
なお、従来、インストールされているＥＸＥファイル情報から、対応するライセンスを１つに特定できない場合にも、正確なセカンダリライセンスを含むライセンス過不足情報を提供するライセンス管理システムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３０３１８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、ソフトウェア辞書が正確に登録されている場合は、正確なライセンス管理ができるものの、誤った情報を登録している場合や登録情報に不足があった場合、正確なライセンス管理ができない。
【０００６】
また、特許文献１では、ソフトウェア辞書に事前に管理したいソフトウェア情報を登録しておけばライセンス過不足情報を提供することができるものの、登録したソフトウェア情報の正確さの点については考慮されていない。
【０００７】
そこで本発明は、ソフトウェア辞書に誤りが含まれている可能性を検出できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。上記課題を解決すべく、本発明に係る情報処理装置は、ソフトウェア辞書を記憶した辞書記憶部と、複数の端末装置からインベントリ情報を収集する収集部と、前記収集部が収集した前記インベントリ情報および前記辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、を有することを特徴とする。
【０００９】
また、上記の情報処理装置においては、前記生成部は、複数の前記端末装置に記憶されていたレジストリ情報と、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを示す情報とを含む前記インストールライセンス結果を生成する、ことを特徴とするものであってもよい。
【００１０】
また、上記の情報処理装置においては、前記生成部は、前記ソフトウェア辞書の実行ファイルの情報に基づいて、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを判定する、ことを特徴とするものであってもよい。
【００１１】
また、上記の情報処理装置においては、前記生成部は、前記ソフトウェア辞書において、前記レジストリ情報のソフトウェアに複数の実行ファイルが対応付けられている場合、前記レジストリ情報のソフトウェアはスイート製品であると判定する、ことを特徴とするものであってもよい。
【００１２】
また、上記の情報処理装置においては、前記検出部は、単体と判定したソフトウェアの実行ファイルの名称が、スイート製品に含まれているソフトウェアの実行ファイルの名称と同じである場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、ことを特徴とするものであってもよい。
【００１３】
また、上記の情報処理装置においては、前記インストールライセンス結果には、さらに前記レジストリ情報が複数の前記端末装置のレジストリに記憶されているか否かを示す情報と、前記レジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とが含まれる、ことを特徴とするものであってもよい。
【００１４】
また、上記の情報処理装置においては、前記検出部は、前記インストールライセンス結果において、前記レジストリ情報が前記端末装置に記憶されており、前記レジストリ情報のソフトウェアにライセンスがない場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、ことを特徴とするものであってもよい。
【００１５】
また、本発明に係る情報処理装置のソフトウェア辞書の誤登録検出方法は、複数の端末装置からインベントリ情報を収集する収集ステップと、前記収集ステップにて収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成ステップと、前記生成ステップによって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出ステップと、を含むことを特徴とする。
【００１６】
また、本発明に係る情報処理装置のプログラムは、複数の端末装置からインベントリ情報を収集する収集部と、前記収集部が収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、して前記情報処理装置を機能させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ソフトウェア辞書に誤りが含まれている可能性を検出できる。上記した以外の課題、構成、および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係るライセンス管理システムの構成例を示した図である。
【図２】情報処理装置の機能ブロックの一例を示した図である。
【図３】ＤＲＥＧ情報記憶部のデータ構成例を示した図である。
【図４】ＤＥＸＥ情報記憶部のデータ構成例を示した図である。
【図５】ＩＲＥＧ情報記憶部のデータ構成例を示した図である。
【図６】ＩＥＸＥ情報記憶部のデータ構成例を示した図である。
【図７】インストールライセンス結果記憶部のデータ構成例を示した図である。
【図８】検出結果記憶部のデータ構成例を示した図である。
【図９】名寄せ名リスト記憶部のデータ構成例を示した図である。
【図１０】情報処理装置のソフトウェア辞書の誤りの可能性を検出する処理２の概略動作例を示したフローチャートである。
【図１１】情報処理装置の誤登録検出処理の動作例を示したフローチャートである。
【図１２】情報処理装置のハードウェア構成例を示した図である。
【発明を実施するための形態】
【００１９】
図１は、本発明の一実施形態に係るライセンス管理システムの構成例を示した図である。図１に示すように、ライセンス管理システムは、情報処理装置１と、端末装置２〜４と、ネットワーク５と、を有している。
【００２０】
情報処理装置１は、端末装置３，４にインストールされているソフトウェアのライセンスを管理している。情報処理装置１は、例えば、サーバやＰＣなどによって実現される。
【００２１】
端末装置２は、ソフトウェアのライセンス管理を行う管理者によって使用される端末装置である。端末装置２は、例えば、端末装置３，４にインストールされるソフトウェアのソフトウェア辞書（後述する）を管理者から受付け、受付けたソフトウェア辞書を情報処理装置１に送信する。情報処理装置１は、端末装置２から送信されたソフトウェア辞書を、記憶装置に記憶する。
【００２２】
端末装置２のディスプレイには、端末装置２，３にどのようなライセンスのソフトウェアがインストールされているかを示す情報等が表示される。端末装置２，３にどのようなライセンスのソフトウェアがインストールされているかを示す情報等は、情報処理装置１から送信される。
【００２３】
端末装置３，４は、例えば、会社の社員および従業員等によって使用されるＰＣなどである。端末装置３，４には、例えば、会社から支給されたソフトウェアがインストールされている。端末装置３，４にインストールされているソフトウェアのライセンスは、上記したように、情報処理装置１によって管理されている。
【００２４】
ネットワーク５は、例えば、ＬＡＮやインターネットなどのネットワークである。情報処理装置１および端末装置２〜４は、ネットワーク５を介して、互いに通信を行うことができる。
【００２５】
図１のライセンス管理システムの概略動作について説明する。情報処理装置１には、端末装置３，４のソフトウェアライセンスの状態を検出する処理（以下では、この処理を処理１と呼ぶことがある）と、管理者によって記憶されたソフトウェア辞書の誤りの可能性を検出する処理（以下では、この処理を処理２と呼ぶことがある）と、がある。情報処理装置１には、管理者によって、予めソフトウェア辞書が記憶されているとする。
【００２６】
まず、端末装置２，３のソフトウェアライセンスの状態を検出する処理１について説明する。情報処理装置１は、管理者から、端末装置２を介して、端末装置３，４にどのようなソフトウェアがインストールされているか、検出するように指示を受けると、端末装置３，４から、インベントリ情報（端末装置３，４のレジストリ情報およびＥＸＥ情報（実行ファイルの情報））を収集する。情報処理装置１は、収集したインベントリ情報と、管理者によって予め記憶されたソフトウェア辞書とによって、端末装置３，４にどのようなライセンスのソフトウェアがインストールされているか検出する。そして、情報処理装置１は、検出した結果を、端末装置２のディスプレイに表示する。これにより、管理者は、端末装置３，４に、どのようなライセンスのソフトウェアがインストールされているか、管理することができる。
【００２７】
次に、管理者によって記憶されたソフトウェア辞書の誤りの可能性を検出する処理２について説明する。ソフトウェア辞書は、以下でも説明するが、管理者によって端末装置２に入力され、情報処理装置１に記憶される。そのため、ソフトウェア辞書には、管理者の入力間違え等によって、誤りが含まれている場合がある。そこで、情報処理装置１は、管理者から、端末装置２を介して、ソフトウェア辞書の誤りを検出するように指示を受けると、ソフトウェア辞書に誤りが含まれている可能性を検出する。そして、管理者は、情報処理装置１によって、ソフトウェア辞書に誤りが含まれている可能性があると検出されると、情報処理装置１に記憶したソフトウェア辞書に誤りがないか調べることができる。
【００２８】
なお、ソフトウェア辞書に誤りが含まれている「可能性」とは、以下で説明するが、情報処理装置１によって、ソフトウェア辞書に誤りが含まれている可能性があると検出されても、ソフトウェア辞書に誤りがない場合もあるからである。
【００２９】
図１では、端末装置３，４は、２台しか示していないが、３台以上存在していてもよい。また、情報処理装置１は、端末装置２を介して、管理者の操作を受付けるとしたが、直接管理者からの操作を受付けてもよい。
【００３０】
上記では、情報処理装置１は、管理者からの指示を受けて、２つの処理１，２を行うとしたが、処理１，２のそれぞれを自動で周期的に行ってもよい。
【００３１】
図２は、情報処理装置１の機能ブロックの一例を示した図である。図２に示すように、情報処理装置１は、収集部１１と、生成部１２と、検出部１３と、辞書記憶部１４と、インベントリ情報記憶部１５と、インストールライセンス結果記憶部１６と、検出結果記憶部１７と、名寄せ名リスト記憶部１８と、受信部１９と、送信部２０と、を有している。
【００３２】
収集部１１は、端末装置３，４からインベントリ情報を収集する。すなわち、収集部１１は、端末装置３，４から、レジストリ情報とＥＸＥ情報とを収集する。収集部１１は、収集したインベントリ情報をインベントリ情報記憶部１５に記憶する。
【００３３】
生成部１２は、収集部１１が収集したインベントリ情報および辞書記憶部１４に記憶されているソフトウェア辞書に基づいて、端末装置３，４に記憶されているソフトウェアのインストールライセンス結果を生成する。インストールライセンス結果は、端末装置３，４にどのようなライセンスのソフトウェアがインストールされているのかを示す情報である。生成部１２は、生成したインストールライセンス結果を、インストールライセンス結果記憶部１６に記憶する。
【００３４】
また、生成部１２は、収集部１１が収集したインベントリ情報に基づいて、端末装置３，４のレジストリ情報の名寄せ名リストを生成する。名寄せ名リストは、端末装置３，４のレジストリに記憶されているレジストリ情報のリストである。生成部１２は、生成した名寄せ名リストを、名寄せ名リスト記憶部１８に記憶する。
【００３５】
検出部１３は、生成部１２によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性がないかを検出する。検出部１３は、検出した結果を、検出結果記憶部１７に記憶する。
【００３６】
辞書記憶部１４には、管理者が端末装置２を用いて入力したソフトウェア辞書が記憶される。辞書記憶部１４は、図２に示すように、ＤＲＥＧ情報記憶部３１と、ＤＥＸＥ情報記憶部３２と、を有している。ＤＲＥＧ情報記憶部３１には、レジストリ情報に関するソフトウェア辞書の情報が記憶され、ＤＥＸＥ情報記憶部３２には、ＥＸＥ情報に関するソフトウェア辞書の情報が記憶される。
【００３７】
インベントリ情報記憶部１５には、収集部１１が収集したインベントリ情報が記憶される。インベントリ情報記憶部１５は、図２に示すように、ＩＲＥＧ情報記憶部４１と、ＩＥＸＥ情報記憶部４２と、を有している。ＩＲＥＧ情報記憶部４１には、収集部１１が端末装置３，４から収集したレジストリ情報に関する情報が記憶される。ＩＥＸＥ情報記憶部４２には、収集部１１が端末装置３，４から収集したＥＸＥ情報に関する情報が記憶される。
【００３８】
インストールライセンス結果記憶部１６には、生成部１２が生成したインストールライセンス結果が記憶される。
【００３９】
検出結果記憶部１７には、検出部１３が検出した、ソフトウェア辞書に誤りが含まれている可能性があるか否かを示す情報が記憶される。
【００４０】
名寄せ名リスト記憶部１８には、生成部１２が生成した名寄せ名リストが記憶される。名寄せ名リストとは、例えば、端末装置３，４のレジストリに記憶されたレジストリ情報のリストである。
【００４１】
受信部１９は、端末装置２〜４からデータを受信する。送信部２０は、端末装置２〜４にデータを送信する。
【００４２】
図３は、ＤＲＥＧ情報記憶部３１のデータ構成例を示した図である。上記したように、ＤＲＥＧ情報記憶部３１には、端末装置３，４にインストールされるソフトウェアのレジストリ情報に関するソフトウェア辞書の情報が記憶される。図３に示すように、ＤＲＥＧ情報記憶部３１には、インストールライセンスＩＤ３１ａと、インストールライセンス名３１ｂと、レジストリＩＤ３１ｃと、製造元３１ｄと、レジストリ情報３１ｅと、が記憶される。これらの情報は、管理者によって端末装置２から入力され、ＤＲＥＧ情報記憶部３１に記憶される。
【００４３】
インストールライセンスＩＤ３１ａは、端末装置３，４にインストールされるソフトウェアの、ライセンスを識別する識別情報である。
【００４４】
インストールライセンス名３１ｂは、端末装置３，４にインストールされるソフトウェアのライセンス名である。
【００４５】
レジストリＩＤ３１ｃは、端末装置３，４にインストールされるソフトウェアの、レジストリ情報を識別する識別情報である。
【００４６】
製造元３１ｄは、端末装置３，４にインストールされるソフトウェアの製造元の情報である。
【００４７】
レジストリ情報３１ｅは、端末装置３，４にソフトウェアがインストールされたとき、端末装置３，４のレジストリに登録されるレジストリ情報である。レジストリ情報は、例えば、ソフトウェアの製品名称を示しているともいえる。
【００４８】
例えば、端末装置３，４にあるソフトウェアがインストールされたとする。そして、端末装置３，４のレジストリに登録されたレジストリ情報が「ＳｏｆｔＲｅｇ００１」であったとする。この場合、図３のＤＲＥＧ情報記憶部３１の例より（レジストリ情報に関するソフトウェア辞書の例より）、端末装置３，４にインストールされたソフトウェアのインストールライセンスＩＤ３１ａは「１」であり、インストールライセンス名３１ｂは「Ｓｏｆｔｗａｒｅ００１」であり、レジストリＩＤ３１ｃは「１」であり、製造元３１ｄは「ＳｏｆｔＭａｋｅｒＡＡＡ」であることが分かる。
【００４９】
図４は、ＤＥＸＥ情報記憶部３２のデータ構成例を示した図である。上記したように、ＤＥＸＥ情報記憶部３２には、端末装置３，４にインストールされるソフトウェアのＥＸＥ情報に関するソフトウェア辞書の情報が記憶される。図４に示すように、ＤＥＸＥ情報記憶部３２には、インストールライセンスＩＤ３２ａと、インストールライセンス名３２ｂと、ＥＸＥＩＤ３２ｃと、ＥＸＥ情報３２ｄと、バージョン情報３２ｅと、が記憶される。これらの情報は、管理者によって端末装置２から入力され、ＤＥＸＥ情報記憶部３２に記憶される。
【００５０】
インストールライセンスＩＤ３２ａは、端末装置３，４にインストールされるソフトウェアの、ライセンスを識別する識別情報である。
【００５１】
インストールライセンス名３２ｂは、端末装置３，４にインストールされるソフトウェアのライセンス名である。
【００５２】
ＥＸＥＩＤ３２ｃは、端末装置３，４にインストールされるソフトウェアの、ＥＸＥ情報（実行ファイル）を識別する識別情報である。
【００５３】
ＥＸＥ情報３２ｄは、端末装置３，４にインストールされるソフトウェアの実行ファイルの情報である。ＥＸＥ情報３２ｄは、例えば、実行ファイルのファイル名称を示しているともいえる。
【００５４】
バージョン情報３２ｅは、ＥＸＥ情報３２ｄのバージョン情報である。
【００５５】
インストールライセンスＩＤ３２ａおよびインストールライセンス名３２ｂは、図３で説明したインストールライセンスＩＤ３１ａおよびインストールライセンス名３１ｂと対応している。例えば、図３のインストールライセンスＩＤ３１ａが「１」であるインストールライセンス名３１ｂは、「Ｓｏｆｔｗａｒｅ００１」である。同様に、図４において、インストールライセンスＩＤ３２ａが「１」であるインストールライセンス名３２ｂは、「Ｓｏｆｔｗａｒｅ００１」である。これにより、例えば、図３のレジストリ情報３１ｅに対応するソフトウェアのＥＸＥ情報３２ｄが分かる。例えば、レジストリ情報３１ｅが「ＳｏｆｔＲｅｇ００１」であるソフトウェアのＥＸＥ情報３２ｄは、インストールライセンスＩＤ３１ａの「１」をキーとして、図４のＤＥＸＥ情報記憶部３２の例より、「ＥＸＥ００１．ｅｘｅ」であることが分かる。また、その逆として、図４のＥＸＥ情報３２ｄに対応するソフトウェアのレジストリ情報３１ｅが分かる。
【００５６】
また、例えば、レジストリ情報３１ｅが「ＳｏｆｔＳｕｉｔｅＲｅｇ００１」であるソフトウェアのＥＸＥ情報３２ｄは、インストールライセンスＩＤ３１ａの「６」をキーとして、図４のＤＥＸＥ情報記憶部３２の例より、「ＥＸＥ００１．ｅｘｅ」、「ＥＸＥ００２．ｅｘｅ」、および「ＥＸＥ００３．ｅｘｅ」であることが分かる。そして、１つのインストールライセンスＩＤ３１ａ（またはインストールライセンス名３１ｂ）に複数のＥＸＥ情報３２ｄが対応付けられているので、レジストリ情報３１ｅが「ＳｏｆｔＳｕｉｔｅＲｅｇ００１」のソフトウェアは、実行ファイル「ＥＸＥ００１．ｅｘｅ」、「ＥＸＥ００２．ｅｘｅ」、および「ＥＸＥ００３．ｅｘｅ」を有するスイート製品であることが分かる。
【００５７】
図５は、ＩＲＥＧ情報記憶部４１のデータ構成例を示した図である。上記したように、ＩＲＥＧ情報記憶部４１には、収集部１１が端末装置３，４から収集したレジストリ情報に関する情報が記憶される。図５に示すように、ＩＲＥＧ情報記憶部４１には、コンピュータＩＤ４１ａと、コンピュータ名４１ｂと、レジストリＩＤ４１ｃと、レジストリ情報４１ｄと、が記憶される。
【００５８】
コンピュータＩＤ４１ａは、ソフトウェアのライセンスが管理される端末装置３，４を識別する識別情報である。コンピュータＩＤ４１ａは、例えば、予め管理者によって、端末装置３，４に付与される。例えば、端末装置３には「１」が付与され、端末装置４には「２」が付与される。
【００５９】
コンピュータ名４１ｂは、ソフトウェアのライセンスが管理される端末装置３，４の名称である。コンピュータ名４１ｂは、例えば、予め管理者によって、端末装置３，４に付与される。例えば、端末装置３には「ＰＣ００１」が付与され、端末装置４には「００２」が付与される。以下では、端末装置３のコンピュータＩＤ４１ａを「１」とし、コンピュータ名４１ｂを「ＰＣ００１」とすることがある。また、端末装置４のコンピュータＩＤ４１ａを「２」とし、コンピュータ名４１ｂを「ＰＣ００２」とすることがある。
【００６０】
レジストリＩＤ４１ｃは、端末装置３，４にインストールされたソフトウェアの、レジストリ情報を識別する識別情報である。
【００６１】
レジストリ情報４１ｄは、端末装置３，４にソフトウェアがインストールされたとき、端末装置３，４のレジストリに登録されたレジストリ情報である。
【００６２】
例えば、収集部１１は、コンピュータＩＤが「１」であり、コンピュータ名が「ＰＣ００１」である端末装置３から、「１」のレジストリＩＤと、「ＳｏｆｔＲｅｇ００１」のレジストリ情報とを収集したとする。この場合、収集部１１は、例えば、図５に示すように、「１」のコンピュータＩＤ４１ａと、「ＰＣ００１」のコンピュータ名４１ｂと、「１」のレジストリＩＤ４１ｃと、「ＳｏｆｔＲｅｇ００１」のレジストリ情報４１ｄと、をＩＲＥＧ情報記憶部４１に記憶する。
【００６３】
図６は、ＩＥＸＥ情報記憶部４２のデータ構成例を示した図である。上記したように、ＩＥＸＥ情報記憶部４２には、収集部１１が端末装置３，４から収集したＥＸＥ情報に関する情報が記憶される。図６に示すように、ＩＥＸＥ情報記憶部４２には、コンピュータＩＤ４２ａと、コンピュータ名４２ｂと、ＥＸＥＩＤ４２ｃと、ＥＸＥ情報４２ｄと、ファイルバージョン４２ｅと、が記憶される。
【００６４】
コンピュータＩＤ４２ａは、ソフトウェアのライセンスが管理される端末装置３，４を識別する識別情報である。コンピュータＩＤ４２ａは、例えば、予め管理者によって、端末装置３，４に付与される。
【００６５】
コンピュータ名４２ｂは、ソフトウェアのライセンスが管理される端末装置３，４の名称である。コンピュータ名４２ｂは、例えば、予め管理者によって、端末装置３，４に付与される。
【００６６】
ＥＸＥＩＤ４２ｃは、端末装置３，４にインストールされたソフトウェアの、ＥＸＥ情報を識別する識別情報である。
【００６７】
ＥＸＥ情報４２ｄは、端末装置３，４にインストールされた実行ファイルの情報である。
【００６８】
ファイルバージョン４２ｅは、端末装置３，４にインストールされた実行ファイルのバージョンを示す情報である。
【００６９】
例えば、収集部１１は、コンピュータＩＤが「１」であり、コンピュータ名が「ＰＣ００１」である端末装置３から、「１」のＥＸＥＩＤと、「ＥＸＥ００１．ｅｘｅ」のＥＸＥ情報と、「１」のファイルバージョンを収集したとする。この場合、収集部１１は、例えば、図６に示すように、「１」のコンピュータＩＤ４２ａと、「ＰＣ００１」のコンピュータ名４２ｂと、「１」のＥＸＥＩＤ４２ｃと、「ＥＸＥ００１．ｅｘｅ」のＥＸＥ情報４２ｄと、「１」のファイルバージョン４２ｅとを、ＩＥＸＥ情報記憶部４２に記憶する。
【００７０】
図７は、インストールライセンス結果記憶部１６のデータ構成例を示した図である。上記したように、インストールライセンス結果記憶部１６には、生成部１２が生成した、端末装置３，４のインストールライセンス結果が記憶される。図７に示すように、インストールライセンス結果記憶部１６には、インベントリＩＤ１６ａと、コンピュータＩＤ１６ｂと、レジストリ情報１６ｃと、インストールライセンスＩＤ１６ｄと、インストールライセンス名１６ｅと、タイプ１６ｆと、登録状態１６ｇと、が記憶される。
【００７１】
インベントリＩＤ１６ａは、インストールライセンス結果を識別するユニークな識別情報である。
【００７２】
コンピュータＩＤ１６ｂは、ソフトウェアのライセンスが管理される端末装置３，４を識別する識別情報である。
【００７３】
レジストリ情報１６ｃは、端末装置３，４にソフトウェアがインストールされたとき、端末装置３，４のレジストリに登録されたレジストリ情報である。
【００７４】
レジストリ情報１６ｃの「−」は、端末装置３，４のレジストリに、レジストリ情報１６ｃに対応するインストールライセンス名１６ｅのソフトウェアのレジストリ情報が記憶されていなかったことを示す。例えば、図７の例の場合、コンピュータＩＤ１６ｂが「１」である端末装置３には、インストールライセンス名１６ｅが「Ｓｏｆｔｗａｒｅ００５」のソフトウェアがインストールされているが、そのソフトウェアのレジストリ情報は、端末装置３のレジストリに記憶されていないことを示す。
【００７５】
インストールライセンスＩＤ１６ｄは、端末装置３，４にインストールされたソフトウェアの、ライセンスを識別する識別情報である。
【００７６】
インストールライセンス名１６ｅは、端末装置３，４にインストールされたソフトウェアのライセンス名である。
【００７７】
タイプ１６ｆは、端末装置３，４にインストールされたソフトウェアが、スイート製品であるか、単体製品であるかを示す情報である。例えば、「単体」は、端末装置３，４にインストールされたソフトウェアが単体製品であることを示し、「スイート」は、端末装置３，４にインストールされたソフトウェアがスイート製品であることを示す。
【００７８】
登録状態１６ｇは、端末装置３，４にインストールされたソフトウェアの登録状態を示す。例えば、登録状態１６ｇの例として、「Ｒ：Ｌ」は、端末装置３，４にインストールされたソフトウェアがレジストリに登録され、そのソフトウェアにライセンスがあることを示す。また、例えば、「−：Ｌ」は、端末装置３，４にインストールされたソフトウェアがレジストリには登録されていないが、そのソフトウェアにはライセンスがあることを示す。また、例えば、「Ｒ：−」は、端末装置３，４にインストールされたソフトウェアがレジストリには登録されているが、そのソフトウェアにはライセンスがないことを示す。
【００７９】
図８は、検出結果記憶部１７のデータ構成例を示した図である。上記したように、検出結果記憶部１７には、検出部１３が検出した、ソフトウェア辞書に誤りが含まれている可能性の情報が記憶される。図８に示すように、検出結果記憶部１７には、インベントリＩＤ１７ａと、誤登録可能性１７ｂと、が記憶される。
【００８０】
インベントリＩＤ１７ａは、インストールライセンス結果を識別するユニークな識別情報である。インベントリＩＤ１７ａは、図７のインベントリＩＤ１６ａと対応している。
【００８１】
誤登録可能性１７ｂは、辞書記憶部１４に記憶されたソフトウェア辞書に、誤りが含まれている可能性があるか否かを示す情報である。例えば、「有」は、インベントリＩＤ１７ａに対応するライセンス（つまり、図７のインベントリＩＤ１６ａに対応するライセンス）のソフトウェアにおいて、ソフトウェア辞書に誤りが含まれている可能性があることを示す。
【００８２】
より具体的には、インベントリＩＤ１７ａが「１」の誤登録可能性１７ｂは、「有」となっている。この場合、図７の「１」のインベントリＩＤ１６ａより、インストールライセンスＩＤ１６ｄが「１」のソフトウェア辞書には、誤りが含まれている可能性がある。つまり、図３に示したインストールライセンスＩＤ３１ａが「１」のソフトウェア辞書または図４に示したインストールライセンスＩＤ３２ａが「１」のソフトウェア辞書には、誤りが含まれている可能性がある。一方、「無」は、対応するインストールライセンスＩＤのソフトウェア辞書に、誤りが含まれている可能性がないことを示す。
【００８３】
図９は、名寄せ名リスト記憶部１８のデータ構成例を示した図である。上記したように、名寄せ名リスト記憶部１８には、生成部１２が生成した、端末装置３，４のレジストリ情報の名寄せ名リストが記憶される。図９に示すように、名寄せ名リスト記憶部１８には、レジストリＩＤ１８ａと、レジストリ情報１８ｂと、が記憶される。
【００８４】
レジストリＩＤ１８ａは、端末装置３，４にインストールされたソフトウェアの、レジストリ情報を識別する識別情報である。
【００８５】
レジストリ情報１８ｂは、端末装置３，４にソフトウェアがインストールされたとき、端末装置３，４のレジストリに登録されたレジストリ情報である。
【００８６】
例えば、生成部１２は、収集部１１が収集した情報を記憶したＩＲＥＧ情報記憶部４１を参照して、レジストリ情報の名寄せ名リストを生成し、名寄せ名リスト記憶部１８に記憶する。より具体的には、生成部１２は、ＩＲＥＧ情報記憶部４１のレジストリＩＤ４１ｃを取得し、名寄せ名リスト記憶部１８のレジストリＩＤ１８ａに記憶する。また、生成部１２は、ＩＲＥＧ情報記憶部４１のレジストリ情報４１ｄを取得し、名寄せ名リスト記憶部１８のレジストリ情報１８ｂに記憶する。
【００８７】
図１０は、情報処理装置１のソフトウェア辞書の誤りの可能性を検出する処理２の概略動作例を示したフローチャートである。情報処理装置１は、例えば、端末装置２を介した、管理者からの指示に応じて、図１０に示す各ステップの処理を実行する。辞書記憶部１４には、管理者によって、予めソフトウェア辞書が記憶されているとする。
【００８８】
まず、収集部１１は、端末装置３，４からインベントリ情報を収集する（ステップＳ１）。例えば、収集部１１は、端末装置３，４からレジストリ情報を収集し、ＩＲＥＧ情報記憶部４１に記憶する。また、収集部１１は、端末装置３，４からＥＸＥ情報を収集し、ＩＥＸＥ情報記憶部４２に記憶する。
【００８９】
次に、生成部１２は、収集部１１によって収集されたレジストリ情報に基づいて（ＩＲＥＧ情報記憶部４１を参照して）、レジストリ情報の名寄せ名リストを作成する（ステップＳ２）。生成部１２は、生成したレジストリ情報の名寄せ名リストを名寄せ名リスト記憶部１８に記憶する。
【００９０】
次に、送信部２０は、名寄せ名リスト記憶部１８に記憶されている情報を、管理者が操作する端末装置２に送信する（ステップＳ３）。これにより、端末装置２のディスプレイには、名寄せ名リストが表示される。
【００９１】
ここで、生成部１２が生成した名寄せ名リストは、図９に示したように、レジストリＩＤ１８ａおよびレジストリ情報１８ｂを有する。レジストリＩＤ１８ａおよびレジストリ情報１８ｂは、端末装置３，４から収集したものであり、端末装置３，４のレジストリに実際に登録されている情報である。
【００９２】
管理者は、端末装置２のディスプレイに表示された名寄せ名リストに基づいて、情報処理装置１の辞書記憶部１４に記憶したソフトウェア辞書のレジストリ情報に、登録漏れがないか、または、入力間違えがないか確認することができる。例えば、図３に示したレジストリ情報３１ｅに、名寄せ名リストに挙がったレジストリ情報が記憶されていなかった場合（つまり、登録が漏れていた場合）、管理者は、ソフトウェア辞書にレジストリ情報を追加修正することができる。また、例えば、図３に示したレジストリ情報３１ｅの綴りが名寄せ名リストと異なっていた場合、管理者は、ソフトウェア辞書の登録内容を修正することができる。
【００９３】
次に、受信部１９は、端末装置２を介して、管理者から、ソフトウェア辞書の修正の受付けがあったか否か判定する（ステップＳ４）。例えば、上記したように、レジストリ情報の名寄せ名リストと、ソフトウェア辞書のレジストリ情報３１ｅとに違いがあった場合、受信部１９は、管理者からソフトウェア辞書の修正を受付けることになる。受信部１９は、ソフトウェア辞書の修正の受付けがあった場合（Ｓ４の「Ｙｅｓ」）、ステップＳ５の処理へ移行する。受信部１９は、ソフトウェア辞書の修正の受付けがなかった場合（Ｓ４の「Ｎｏ」）、ステップＳ６の処理へ移行する。
【００９４】
受信部１９は、ステップＳ４にて、ソフトウェア辞書の修正の受付けがあった場合（Ｓ４の「Ｙｅｓ」）、ソフトウェア辞書の修正を受付ける（ステップＳ５）。例えば、受信部１９は、端末装置２を介した、管理者からのソフトウェア辞書の修正（レジストリ情報の修正）を、ＤＲＥＧ情報記憶部３１のレジストリ情報３１ｅに反映する。
【００９５】
情報処理装置１は、ステップＳ４にて、ソフトウェア辞書の修正の受付けがなかった場合（Ｓ４の「Ｎｏ」）、または、ステップＳ５にて、ソフトウェア辞書の修正を受付け、その修正が終了した場合、ソフトウェア辞書の誤登録検出処理を実行する（ステップＳ６）。この誤登録検出処理の実行により、ソフトウェア辞書に誤りが含まれている可能性があるか否かが検出される。当該処理の詳細は、以下で別のフローチャートを用いて説明する。
【００９６】
ここで、送信部２０は、誤登録検出処理の実行によって得られた誤登録検出結果を、端末装置２に送信する。端末装置２は、送信部２０から送信された誤登録検出結果をディスプレイに表示する。これにより、管理者は、端末装置２に表示された誤登録検出結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性があるか否か知ることができる。そして、管理者は、ソフトウェア辞書に誤りが含まれている可能性があると検出された場合、ソフトウェア辞書を調査し、実際に誤りがあれば修正することができる。
【００９７】
次に、受信部１９は、端末装置２を介して、管理者から、ソフトウェア辞書の修正の受付けがあったか否か判定する（ステップＳ７）。受信部１９は、ソフトウェア辞書の修正の受付けがあった場合（Ｓ７の「Ｙｅｓ」）、ステップＳ８の処理へ移行する。受信部１９は、ソフトウェア辞書の修正の受付けがなかった場合（Ｓ７の「Ｎｏ」）、当該フローチャートの処理を終了する。
【００９８】
受信部１９は、ステップＳ７にて、ソフトウェア辞書の修正の受付けがあった場合（Ｓ７の「Ｙｅｓ」）、ソフトウェア辞書の修正を受付ける（ステップＳ８）。例えば、受信部１９は、端末装置２を介した、管理者からのソフトウェア辞書の修正を、辞書記憶部１４（ＤＲＥＧ情報記憶部３１およびＤＥＸＥ情報記憶部３２の両方または一方）に反映する。そして、受信部１９は、当該フローチャートの処理を終了する。
【００９９】
なお、上記では、情報処理装置１は、レジストリ情報の名寄せの処理（ステップＳ１〜Ｓ５）と、誤登録検出の処理（ステップＳ６〜Ｓ８）とを続けて行っているが、別々に処理を行ってもよい。例えば、情報処理装置１は、管理者からの指示に応じて、ステップＳ１〜Ｓ５の処理のみを実行し、または、ステップＳ６〜Ｓ８の処理のみを実行するようにしてもよい。
【０１００】
図１１は、情報処理装置１の誤登録検出処理の動作例を示したフローチャートである。図１１のフローチャートは、図１０のステップＳ６の処理の詳細を示したものである。
【０１０１】
まず、生成部１２は、辞書記憶部１４およびインベントリ情報記憶部１５を参照して、端末装置３，４のインストールライセンス情報（端末装置３，４のコンピュータＩＤ、端末装置３，４のレジストリに記憶されているレジストリ情報、レジストリ情報のソフトウェアのインストールライセンスＩＤ、およびインストールライセンス名）を生成する（ステップＳ１１）。生成部１２は、生成したインストールライセンス情報をインストールライセンス結果記憶部１６に記憶し、ユニークなインベントリＩＤ１６ａを付与する。
【０１０２】
例えば、生成部１２は、図５のＩＲＥＧ情報記憶部４１より、端末装置３，４のレジストリに記憶されているレジストリ情報４１ｄを取得する。そして、生成部１２は、取得したレジストリ情報４１ｄに基づいて、図３のＤＲＥＧ情報記憶部３１を参照し、レジストリ情報４１ｄのソフトウェアのライセンス情報（インストールライセンスＩＤ３１ａおよびインストールライセンス名３１ｂ）を取得する。
【０１０３】
より具体的には、例えば、生成部１２は、図５のＩＲＥＧ情報記憶部４１に記憶されたコンピュータＩＤ４１ａが「１」のレジストリ情報４１ｄ「ＳｏｆｔＲｅｇ００１」に基づいて、図３のＤＲＥＧ情報記憶部３１を参照し、コンピュータＩＤが「１」である端末装置３にインストールされているソフトウェアのインストールライセンスＩＤ３１ａ「１」と、インストールライセンス名３１ｂ「Ｓｏｆｔｗａｒｅ００１」とを取得する。
【０１０４】
そして、生成部１２は、コンピュータＩＤ「１」とレジストリ情報「ＳｏｆｔＲｅｇ００１」とを、図７のコンピュータＩＤ１６ｂとレジストリ情報１６ｃとしてインストールライセンス結果記憶部１６に記憶し、ＤＲＥＧ情報記憶部３１を参照して取得したインストールライセンスＩＤ「１」とインストールライセンス名「Ｓｏｆｔｗａｒｅ００１」とを、図７のインストールライセンスＩＤ１６ｄとインストールライセンス名１６ｅとしてインストールライセンス結果記憶部１６に記憶する。そして、生成部１２は、記憶したこれらの情報に対してユニークな識別情報「１」を生成し、図７のインベントリＩＤ１６ａとして記憶する。生成部１２は、ＩＲＥＧ情報記憶部４１に記憶されている他のレジストリ情報４１ｄについても同様に、ＤＲＥＧ情報記憶部３１を参照し、インベントリＩＤ１６ａ、コンピュータＩＤ１６ｂ、レジストリ情報１６ｃ、インストールライセンスＩＤ１６ｄ、およびインストールライセンス名１６ｅを生成し、インストールライセンス結果記憶部１６に記憶する。
【０１０５】
また、生成部１２は、図６のＩＥＸＥ情報記憶部４２より、端末装置３，４にインストールされているソフトウェアのＥＸＥ情報４２ｄを取得する。そして、生成部１２は、取得したＥＸＥ情報４２ｄに基づいて、図４のＤＥＸＥ情報記憶部３２を参照し、端末装置３，４のライセンス情報（インストールライセンスＩＤ３２ａおよびインストールライセンス名３２ｂ）を取得する。
【０１０６】
より具体的には、例えば、生成部１２は、図６のＩＥＸＥ情報記憶部４２に記憶されたコンピュータＩＤ４２ａが「１」のＥＸＥ情報４２ｄ「ＥＸＥ００５．ｅｘｅ」に基づいて、図４のＤＥＸＥ情報記憶部３２を参照し、コンピュータＩＤが「１」である端末装置３にインストールされているソフトウェアのインストールライセンスＩＤ３２ａ「５」と、インストールライセンス名３２ｂ「Ｓｏｆｔｗａｒｅ００５」とを取得する。
【０１０７】
そして、生成部１２は、図７のインストールライセンス結果記憶部１６のコンピュータＩＤ１６ｂに、コンピュータＩＤ「１」を記憶し、ＩＥＸＥ情報記憶部４２を参照して取得したインストールライセンスＩＤ「５」と、インストールライセンス名「Ｓｏｆｔｗａｒｅ００５」とを、図７のインストールライセンスＩＤ１６ｄとインストールライセンス名１６ｅとに記憶する。また、生成部１２は、取得したインストールライセンスＩＤ「５」に基づいてＤＲＥＧ情報記憶部３１を参照し、ＥＸＥ情報４２ｄ「ＥＸＥ００５．ｅｘｅ」に対応するレジストリ情報３１ｅ「ＳｏｆｔＲｅｇ００５」を取得する。取得したレジストリ情報３１ｅ「ＳｏｆｔＲｅｇ００５」は、図５のＩＲＥＧ情報記憶部４１より、コンピュータＩＤ４１ａが「１」の端末装置３から収集されていないので、生成部１２は、図７のインストールライセンス結果記憶部１６のレジストリ情報１６ｃに、「−」を記憶する。そして、生成部１２は、記憶したこれらの情報に対してユニークな識別情報「４」を生成し、図７のインベントリＩＤ１６ａに記憶する。生成部１２は、ＩＥＸＥ情報記憶部４２に記憶されている他のＥＸＥ情報４２ｄについても同様にＤＥＸＥ情報記憶部３２を参照し、インベントリＩＤ１６ａ、コンピュータＩＤ１６ｂ、レジストリ情報１６ｃ、インストールライセンスＩＤ１６ｄ、およびインストールライセンス名１６ｅを生成し、インストールライセンス結果記憶部１６に記憶する。
【０１０８】
ただし、生成部１２は、ＥＸＥ情報から得たインストールライセンス情報が、レジストリ情報から得たインストールライセンス情報と重複する場合、ＥＸＥ情報から得たインストールライセンス情報をインストールライセンス結果記憶部１６に記憶しない。例えば、図６のＥＸＥ情報４２ｄ「ＥＸＥ００４．ｅｘｅ」から得られるインストールライセンス情報は、図５のレジストリ情報４１ｄ「ＳｏｆｔＲｅｇ００４」から得られるインストールライセンス情報と重複する。この場合、生成部１２は、ＥＸＥ情報４２ｄ「ＥＸＥ００４．ｅｘｅ」から得られたインストールライセンス情報を、インストールライセンス結果記憶部１６に記憶しない（つまり、生成部１２は、レジストリ情報４１ｄ「ＳｏｆｔＲｅｇ００４」から得られたインストールライセンス情報のみをインストールライセンス結果記憶部１６に記憶する）。これは、同じインストールライセンス結果が、インストールライセンス結果記憶部１６に記憶されるのを防止するためである。
【０１０９】
次に、生成部１２は、辞書記憶部１４に記憶されているソフトウェア辞書の実行ファイルの情報に基づいて、端末装置３，４のレジストリに記憶されているレジストリ情報のソフトウェアが、単体製品であるかスイート製品であるか判定する（ステップＳ１２）。
【０１１０】
例えば、生成部１２は、辞書記憶部１４に記憶されているソフトウェア辞書において、端末装置３，４のレジストリに記憶されているレジストリ情報のソフトウェア（インストールライセンス名またはインストールＩＤ）に、１つの実行ファイルが対応付けられて記憶されている場合、そのレジストリ情報のソフトウェアは単体製品であると判定する。一方、生成部１２は、辞書記憶部１４に記憶されているソフトウェア辞書において、端末装置３，４のレジストリに登録されているレジストリ情報のソフトウェア（インストールライセンス名またはインストールＩＤ）に、複数の実行ファイルが対応付けられて記憶されている場合、そのレジストリ情報のソフトウェアはスイート製品であると判定する。
【０１１１】
より具体的には、図７のインベントリＩＤ１６ａが「１」のインストールライセンス名１６ｅは、「Ｓｏｆｔｗａｒｅ００１」である。図４のＥＸＥ情報に関するソフトウェア辞書より、「Ｓｏｆｔｗａｒｅ００１」には、１つの実行ファイル（ＥＸＥ情報）しか対応付けられていない。この場合、生成部１２は、インベントリＩＤ１６ａが「１」の、インストールライセンス名１６ｅが「Ｓｏｆｔｗａｒｅ００１」であるソフトウェアは、単体製品であると判定する。そして、生成部１２は、図７のインベントリＩＤ１６ａが「１」のタイプ１６ｆに、「単体」を記憶する。
【０１１２】
また、図７のインベントリＩＤ１６ａが「３」のインストールライセンス名１６ｅは、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」である。図４のＥＸＥ情報に関するソフトウェア辞書より、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」には、複数（３つ）の実行ファイルが対応付けられている。この場合、生成部１２は、インベントリＩＤ１６ａが「３」の、インストールライセンス名１６ｅが「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」であるソフトウェアは、スイート製品であると判定する。そして、生成部１２は、図７のインベントリＩＤ１６ａが「３」のタイプ１６ｆに、「スイート」を記憶する。
【０１１３】
次に、生成部１２は、インストールライセンス結果記憶部１６の登録状態１６ｇに、レジストリ情報が端末装置３，４のレジストリに記憶されているか否かを示す情報と、そのレジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とを記憶する（ステップＳ１３）。
【０１１４】
例えば、生成部１２は、インストールライセンス結果記憶部１６のレジストリ情報１６ｃと、インストールライセンス名１６ｅ（またはインストールライセンスＩＤ１６ｄ）とから、登録状態１６ｇを記憶することができる。
【０１１５】
より具体的には、生成部１２は、インストールライセンス結果記憶部１６に、レジストリ情報１６ｃとインストールライセンス名１６ｅとが記憶されている場合、インストールライセンス結果記憶部１６の登録状態１６ｇに「Ｒ：Ｌ」を記憶する。また、生成部１２は、インストールライセンス結果記憶部１６に、レジストリ情報１６ｃは記憶されていないが、インストールライセンス名１６ｅが記憶されている場合、インストールライセンス結果記憶部１６の登録状態１６ｇに「−：Ｌ」を記憶する。また、生成部１２は、インストールライセンス結果記憶部１６に、レジストリ情報１６ｃが記憶されているが、インストールライセンス名１６ｅが記憶されていない場合、インストールライセンス結果記憶部１６の登録状態１６ｇに「Ｒ：−」を記憶する。
【０１１６】
なお、インストールライセンス結果記憶部１６に、レジストリ情報１６ｃは記憶されているが、インストールライセンス名１６ｅが記憶されていない場合（登録状態１６ｇが「Ｒ：−」の場合）は、辞書記憶部１４のソフトウェアに誤りが含まれている可能性がある。例えば、インストールライセンス結果記憶部１６のレジストリ情報１６ｃが、図３のＤＲＥＧ情報記憶部３１に記憶されていないか、ＤＲＥＧ情報記憶部３１のレジストリ情報３１ｅの登録名を間違えている可能性がある。つまり、端末装置３，４からレジストリ情報が収集されたが、そのレジストリ情報がインストールライセンス結果記憶部１６に記憶されない場合、ソフトウェア辞書に誤りが含まれている可能性がある。
【０１１７】
次に、検出部１３は、ソフトウェア辞書の誤登録の可能性を検出する（ステップＳ１４）。検出部１３は、検出した検出結果を検出結果記憶部１７に記憶する。
【０１１８】
例えば、検出部１３は、単体製品と判定したソフトウェアの実行ファイルの名称（ＥＸＥ情報）が、スイート製品と判定したソフトウェアの実行ファイルの名称と同じである場合、単体製品と判定したソフトウェアのソフトウェア辞書には、誤りが含まれている可能性があると検出する。
【０１１９】
より具体的には、図７のインベントリＩＤ１６ａが「１」のソフトウェアは、タイプ１６ｆより、単体製品と判定されている。このソフトウェアのインストールライセンス名１６ｅは、「Ｓｏｆｔｗａｒｅ００１」であり、「Ｓｏｆｔｗａｒｅ００１」のＥＸＥ情報は、図４のＤＥＸＥ情報記憶部３２より、「ＥＸＥ００１．ｅｘｅ」であることが分かる。また、インベントリＩＤ１６ａが「３」のソフトウェアは、タイプ１６ｆより、スイート製品と判定されている。このソフトウェアのインストールライセンス名１６ｅは、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」であり、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」のＥＸＥ情報は、図４のＤＥＸＥ情報記憶部３２より、「ＥＸＥ００１．ｅｘｅ」、「ＥＸＥ００２．ｅｘｅ」、および「ＥＸＥ００３．ｅｘｅ」であることが分かる。この場合、タイプ１６ｆが「単体」であるインストールライセンス名１６ｅが「Ｓｏｆｔｗａｒｅ００１」のソフトウェアと、タイプ１６ｆが「スイート」であるインストールライセンス名１６ｅが「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」のソフトウェアは、実行ファイル「ＥＸＥ００１．ｅｘｅ」が一致するので、検出部１３は、ソフトウェア辞書に誤りが含まれている可能性があると検出する。そして、検出部１３は、図８のインベントリＩＤ１７ａが「１」の誤登録可能性１７ｂに「有」を記憶する。
【０１２０】
ここで、スイート製品のレジストリ登録には、次の２つがある。１つは、スイート製品全体に１つのレジストリ情報が付与されており、そのレジストリ情報が端末装置３，４のレジストリに登録される場合である。もう１つは、スイート製品全体に１つのレジストリ情報が付与され、さらにスイート製品に含まれる個々のソフトウェアにレジストリ情報が付与されており、スイート製品全体のレジストリ情報と、単体でインストールしたソフトウェアのレジストリ情報とが、端末装置３，４のレジストリに登録される場合である。
【０１２１】
後者の場合、例えば、スイート製品全体に対し「ＳｏｆｔＳｕｉｔｅＲｅｇ００１」のレジストリ情報が付与され、さらにスイート製品に含まれる各（３つ）ソフトウェアに「ＳｏｆｔＲｅｇ００１」、「ＳｏｆｔＲｅｇ００２」、および「ＳｏｆｔＲｅｇ００３」のレジストリ情報が付与される。そして、スイート製品「ＳｏｆｔＳｕｉｔｅＲｅｇ００１」に含まれる１つのソフトウェア「ＳｏｆｔＲｅｇ００１」を端末装置３，４にインストールすると、端末装置３，４のレジストリには、「ＳｏｆｔＳｕｉｔｅＲｅｇ００１」と「ＳｏｆｔＲｅｇ００１」とが登録される。
【０１２２】
後者のようなスイート製品の場合、管理者は、図３のＤＲＥＧ情報記憶部３１には、各ソフトウェアのレジストリ情報「ＳｏｆｔＲｅｇ００１」、「ＳｏｆｔＲｅｇ００２」、および「ＳｏｆｔＲｅｇ００３」を単独で記憶せず、インストールライセンス名３１ｂが「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」のレジストリ情報３１ｅを、「ＳｏｆｔＳｕｉｔｅＲｅｇ００１，Ｓｏｆｔｗａｒｅ００１，Ｓｏｆｔｗａｒｅ００２，Ｓｏｆｔｗａｒｅ００３」と記憶しなければならない。また、管理者は、インストールライセンス名３１ｂが「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」のレジストリＩＤ３１ｃを、「１，２，３，６」と記憶しなければならない。このように、図３のＤＲＥＧ情報記憶部３１を記憶すると、インストールライセンス結果記憶部１６には、スイート製品に含まれる単体のソフトウェアのライセンス情報が重複して記憶されなくなる。例えば、図７のインベントリＩＤ１６ａが「１」のインストールライセンス結果は、インストールライセンス結果記憶部１６に記憶されなくなる。
【０１２３】
すなわち、管理者は、後者のようなスイート製品の場合、検出部１３の検出結果に基づいて、例えば、図３に示す「Ｓｏｆｔｗａｒｅ００１」、「Ｓｏｆｔｗａｒｅ００２」、および「Ｓｏｆｔｗａｒｅ００３」のインストールライセンス名３１ｂおよびそれに対応する情報をＤＲＥＧ情報記憶部３１およびＤＥＸＥ情報記憶部３２から削除し、インストールライセンス名３１ｂが「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」のレジストリＩＤ３１ｃを「１，２，３，６」と修正し、レジストリ情報３１ｅを「ＳｏｆｔＳｕｉｔｅＲｅｇ００１，ＳｏｆｔＲｅｇ００１，ＳｏｆｔＲｅｇ００２，ＳｏｆｔＲｅｇ００３」と修正することができる。この場合、例えば、「ＳｏｆｔＲｅｇ００１」、「ＳｏｆｔＲｅｇ００２」、または「ＳｏｆｔＲｅｇ００３」の１つまたは複数のレジストリ情報が端末装置３，４から収集されても、そのインストールライセンス名１６ｅは、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」として生成される（生成部１２は、収集されたレジストリ情報を含むレジストリ情報３１ｅに対応するインストールライセンス名３１ｂを取得し、図７のインストールライセンス名１６ｅとする）。また、インストールライセンスＩＤ１６ｄは、「ＳｏｆｔｗａｒｅＳｕｉｔｅ００１」の「６」と、収集された「ＳｏｆｔＲｅｇ００１」、「ＳｏｆｔＲｅｇ００２」、または「ＳｏｆｔＲｅｇ００３」のレジストリ情報に対応したＩＤ（例えば、１，２，３のいずれか）とが生成される。つまり、図７に示すインベントリＩＤ１６ａが「１」のソフトウェアライセンスは、検知されなくなる。
【０１２４】
一方、図３のＤＲＥＧ情報記憶部３１のソフトウェア辞書の内容で誤りがない場合もある。例えば、スイート製品と、そのスイート製品に含まれるソフトウェアと同じソフトウェアを、スイート製品とは別に単体で端末装置３，４にインストールする場合等は、図３のＤＲＥＧ情報記憶部３１のソフトウェア辞書の内容で誤りはない。この場合、管理者は、ソフトウェア辞書に誤りが含まれている可能性があると検出されても、ソフトウェア辞書を修正しなくてよい。
【０１２５】
また、検出部１３は、登録状態１６ｇが「Ｒ：−」のソフトウェアに対しては、ソフトウェア辞書に誤りが含まれている可能性があるとして検出する。すなわち、検出部１３は、インストールライセンス結果記憶部１６に、レジストリ情報１６ｃが記憶されず、インストールライセンスに関する情報（インストールライセンスＩＤ１６ｄおよびインストールライセンス名１６ｅ）が記憶される場合、ソフトウェア辞書に誤りが含まれている可能性を検出する。この場合、図３のＤＲＥＧ情報記憶部３１にインストールライセンス名３１ｂが記憶されていないか、または登録名が間違ったインストールライセンス名３１ｂが記憶されている可能性があるからである。
【０１２６】
なお、図７のインベントリＩＤ１６ａが「４」のソフトウェア（登録状態１６ｇが「−：Ｌ」）は、例えば、端末装置３（コンピュータＩＤ「１」）において、アンインストールに失敗した可能性がある。つまり、レジストリ情報は、アンインストールの際、端末装置３のレジストリから消去されたが、実行ファイルは何らかの影響で端末装置３に残った可能性がある。この場合、ソフトウェア辞書には、誤りがないので、図８のインベントリＩＤ１７ａが「４」の誤登録可能性１７ｂは、「無」となっている。
【０１２７】
次に、送信部２０は、インストールライセンス結果記憶部１６に記憶されているインストールライセンス結果と、検出結果記憶部１７に記憶されている誤登録検出結果とを端末装置２に送信する（ステップＳ１５）。これにより、端末装置２のディスプレイには、例えば、図７に示した各種情報と、図８に示した各種情報とが表示される。管理者は、例えば、端末装置２のディスプレイに表示された誤登録可能性１７ｂによって、辞書記憶部１４に記憶されたソフトウェア辞書に誤りが含まれている可能性があるか否か知ることができる。
【０１２８】
また、管理者は、レジストリ情報１６ｃや登録状態１６ｇなどのインストールライセンス結果によって、端末装置３，４に不適切なソフトウェアがインストールされていないか等を知ることができる。例えば、管理者は、インベントリＩＤ１６ａが「４」のソフトウェアは、アンインストールに失敗した可能性があると知ることができる。
【０１２９】
図１２は、情報処理装置１のハードウェア構成例を示した図である。情報処理装置１は、例えば、図１２に示すような、ＣＰＵ（Central Processing Unit）等の演算装置５１と、ＲＡＭ（Random Access Memory）などの主記憶装置５２と、ＨＤＤ（Hard Disk Drive）等の補助記憶装置５３と、有線又は無線により通信ネットワークと接続するための通信インターフェイス（Ｉ／Ｆ）５４と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置５５と、液晶ディスプレイなどの表示装置５６と、ＤＶＤ（Digital Versatile Disk）などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置５７と、を備えるコンピュータで実現することができる。
【０１３０】
例えば、収集部１１、生成部１２、検出部１３、受信部１９、および送信部２０の機能は、補助記憶装置５３などから主記憶装置５２にロードされた所定のプログラムを演算装置５１が実行することで実現される。また、受信部１９および送信部２０は、例えば、演算装置５１が通信Ｉ／Ｆ５４を利用することで実現される。辞書記憶部１４、インベントリ情報記憶部１５、インストールライセンス結果記憶部１６、検出結果記憶部１７、および名寄せ名リスト記憶部１８は、例えば、演算装置５１が主記憶装置５２または補助記憶装置５３を利用することで実現される。
【０１３１】
なお、上記の所定のプログラムは、例えば、読み書き装置５７により読み取られた記憶媒体からインストールされてもよいし、通信Ｉ／Ｆ５４を介してネットワークからインストールされてもよい。
【０１３２】
このように、情報処理装置１の生成部１２は、収集部１１が収集したインベントリ情報および辞書記憶部１４に記憶されているソフトウェア辞書に基づいて、複数の端末装置３，４に記憶されているソフトウェアのインストールライセンス結果を生成する。そして、検出部１３は、生成部１２によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性を検出する。
【０１３３】
これにより、情報処理装置１は、ソフトウェア辞書に誤りが含まれている可能性を検出できる。
【０１３４】
また、管理者は、検出されたソフトウェア辞書に誤りが含まれている可能性に応じて、ソフトウェア辞書に誤りが含まれていないか確認することができ、誤りが含まれていれば、それを修正することができる。
【０１３５】
また、ソフトウェア辞書は、管理者によって、適切なソフトウェア辞書に修正されるので、情報処理装置１は、ソフトウェアライセンスの状態を検出する処理１において、適切なソフトウェアのライセンス状態を検出することができる。
【０１３６】
なお、ソフトウェアライセンスの状態を検出する処理１は、例えば、図１１のステップＳ１１〜Ｓ１３と同様である。ただし、ステップＳ１１の処理の前に、端末装置３，４からインベントリ情報を収集する処理（例えば、図１０のステップＳ１の処理）が加わる。これにより、端末装置３，４のソフトウェアライセンスの状態を示した、例えば、図７に示すインストールライセンス結果の情報が得られる。
【０１３７】
また、図１０のフローチャートの処理において、情報処理装置１は、端末装置３，４のソフトウェアライセンスの状態を検出する処理１を実行していた場合、ステップＳ１のインベントリ情報の収集処理を省略してもよい。例えば、上記したように、情報処理装置１は、端末装置３，４のソフトウェアライセンスの状態を検出する処理１を実行していた場合、端末装置３，４のインベントリ情報の収集処理を実行するので、そのインベントリ情報を、図１０のフローチャートの処理に用いてもよい。
【０１３８】
また、上述した情報処理装置１の機能構成は、情報処理装置１の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。情報処理装置１の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【０１３９】
また、上述したフローチャートの各処理単位は、情報処理装置１の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。情報処理装置１の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【０１４０】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、本発明は、ソフトウェア辞書の誤登録検出方法、および情報処理装置１でソフトウェア辞書の誤登録を検出する処理を実現するプログラム、および当該プログラムを記憶した記憶媒体として提供することもできる。
【符号の説明】
【０１４１】
１：情報処理装置、２〜４：端末装置、５：ネットワーク、１１：収集部、１２：生成部、１３：検出部、１４：辞書記憶部、１５：インベントリ情報記憶部、１６：インストールライセンス結果記憶部、１７：検出結果記憶部、１８：名寄せ名リスト記憶部、１９：受信部、２０：送信部、３１：ＤＲＥＧ情報記憶部、３２：ＤＥＸＥ情報記憶部、４１：ＩＲＥＧ情報記憶部、４２：ＩＥＸＥ情報記憶部。
【図１】
2016045627.tif 000003
【図２】
2016045627.tif 000004
【図３】
2016045627.tif 000005
【図４】
2016045627.tif 000006
【図５】
2016045627.tif 000007
【図６】
2016045627.tif 000008
【図７】
2016045627.tif 000009
【図８】
2016045627.tif 000010
【図９】
2016045627.tif 000011
【図１０】
2016045627.tif 000012
【図１１】
2016045627.tif 000013
【図１２】
2016045627.tif 000014