JP2016045627A - 情報処理装置、誤登録検出方法、およびプログラム - Google Patents

情報処理装置、誤登録検出方法、およびプログラム Download PDF

Info

Publication number
JP2016045627A
JP2016045627A JP2014168405A JP2014168405A JP2016045627A JP 2016045627 A JP2016045627 A JP 2016045627A JP 2014168405 A JP2014168405 A JP 2014168405A JP 2014168405 A JP2014168405 A JP 2014168405A JP 2016045627 A JP2016045627 A JP 2016045627A
Authority
JP
Japan
Prior art keywords
information
software
dictionary
storage unit
registry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014168405A
Other languages
English (en)
Inventor
優子 西原
Yuko Nishihara
優子 西原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2014168405A priority Critical patent/JP2016045627A/ja
Publication of JP2016045627A publication Critical patent/JP2016045627A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】ソフトウェア辞書に誤りが含まれている可能性を検出できる。【解決手段】辞書記憶部14は、ソフトウェア辞書を記憶する。収集部11は、複数の端末装置からインベントリ情報を収集する。生成部12は、収集部11が収集したインベントリ情報および辞書記憶部14に記憶されているソフトウェア辞書に基づいて、複数の端末装置3,4に記憶されているソフトウェアのインストールライセンス結果を生成する。検出部13は、生成部12によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書の誤りの可能性を検出し、検出した検出結果を検出結果記憶部17に記憶する。【選択図】図2

Description

本発明は、情報処理装置、誤登録検出方法、およびプログラムに関するものである。
ソフトウェアライセンスの管理システムにおいては、例えば、PC(Personal Computer)から収集したインベントリ情報から、PCにインストールされているソフトウェアを検知するために、予めソフトウェアに関する情報をソフトウェア辞書に登録する必要がある。
なお、従来、インストールされているEXEファイル情報から、対応するライセンスを1つに特定できない場合にも、正確なセカンダリライセンスを含むライセンス過不足情報を提供するライセンス管理システムが提案されている(例えば、特許文献1参照)。
特開2004−303188号公報
しかし、ソフトウェア辞書が正確に登録されている場合は、正確なライセンス管理ができるものの、誤った情報を登録している場合や登録情報に不足があった場合、正確なライセンス管理ができない。
また、特許文献1では、ソフトウェア辞書に事前に管理したいソフトウェア情報を登録しておけばライセンス過不足情報を提供することができるものの、登録したソフトウェア情報の正確さの点については考慮されていない。
そこで本発明は、ソフトウェア辞書に誤りが含まれている可能性を検出できる技術を提供することを目的とする。
本願は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下の通りである。上記課題を解決すべく、本発明に係る情報処理装置は、ソフトウェア辞書を記憶した辞書記憶部と、複数の端末装置からインベントリ情報を収集する収集部と、前記収集部が収集した前記インベントリ情報および前記辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、を有することを特徴とする。
また、上記の情報処理装置においては、前記生成部は、複数の前記端末装置に記憶されていたレジストリ情報と、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを示す情報とを含む前記インストールライセンス結果を生成する、ことを特徴とするものであってもよい。
また、上記の情報処理装置においては、前記生成部は、前記ソフトウェア辞書の実行ファイルの情報に基づいて、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを判定する、ことを特徴とするものであってもよい。
また、上記の情報処理装置においては、前記生成部は、前記ソフトウェア辞書において、前記レジストリ情報のソフトウェアに複数の実行ファイルが対応付けられている場合、前記レジストリ情報のソフトウェアはスイート製品であると判定する、ことを特徴とするものであってもよい。
また、上記の情報処理装置においては、前記検出部は、単体と判定したソフトウェアの実行ファイルの名称が、スイート製品に含まれているソフトウェアの実行ファイルの名称と同じである場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、ことを特徴とするものであってもよい。
また、上記の情報処理装置においては、前記インストールライセンス結果には、さらに前記レジストリ情報が複数の前記端末装置のレジストリに記憶されているか否かを示す情報と、前記レジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とが含まれる、ことを特徴とするものであってもよい。
また、上記の情報処理装置においては、前記検出部は、前記インストールライセンス結果において、前記レジストリ情報が前記端末装置に記憶されており、前記レジストリ情報のソフトウェアにライセンスがない場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、ことを特徴とするものであってもよい。
また、本発明に係る情報処理装置のソフトウェア辞書の誤登録検出方法は、複数の端末装置からインベントリ情報を収集する収集ステップと、前記収集ステップにて収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成ステップと、前記生成ステップによって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出ステップと、を含むことを特徴とする。
また、本発明に係る情報処理装置のプログラムは、複数の端末装置からインベントリ情報を収集する収集部と、前記収集部が収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、して前記情報処理装置を機能させることを特徴とする。
本発明によれば、ソフトウェア辞書に誤りが含まれている可能性を検出できる。上記した以外の課題、構成、および効果は、以下の実施形態の説明により明らかにされる。
本発明の一実施形態に係るライセンス管理システムの構成例を示した図である。 情報処理装置の機能ブロックの一例を示した図である。 DREG情報記憶部のデータ構成例を示した図である。 DEXE情報記憶部のデータ構成例を示した図である。 IREG情報記憶部のデータ構成例を示した図である。 IEXE情報記憶部のデータ構成例を示した図である。 インストールライセンス結果記憶部のデータ構成例を示した図である。 検出結果記憶部のデータ構成例を示した図である。 名寄せ名リスト記憶部のデータ構成例を示した図である。 情報処理装置のソフトウェア辞書の誤りの可能性を検出する処理2の概略動作例を示したフローチャートである。 情報処理装置の誤登録検出処理の動作例を示したフローチャートである。 情報処理装置のハードウェア構成例を示した図である。
図1は、本発明の一実施形態に係るライセンス管理システムの構成例を示した図である。図1に示すように、ライセンス管理システムは、情報処理装置1と、端末装置2〜4と、ネットワーク5と、を有している。
情報処理装置1は、端末装置3,4にインストールされているソフトウェアのライセンスを管理している。情報処理装置1は、例えば、サーバやPCなどによって実現される。
端末装置2は、ソフトウェアのライセンス管理を行う管理者によって使用される端末装置である。端末装置2は、例えば、端末装置3,4にインストールされるソフトウェアのソフトウェア辞書(後述する)を管理者から受付け、受付けたソフトウェア辞書を情報処理装置1に送信する。情報処理装置1は、端末装置2から送信されたソフトウェア辞書を、記憶装置に記憶する。
端末装置2のディスプレイには、端末装置2,3にどのようなライセンスのソフトウェアがインストールされているかを示す情報等が表示される。端末装置2,3にどのようなライセンスのソフトウェアがインストールされているかを示す情報等は、情報処理装置1から送信される。
端末装置3,4は、例えば、会社の社員および従業員等によって使用されるPCなどである。端末装置3,4には、例えば、会社から支給されたソフトウェアがインストールされている。端末装置3,4にインストールされているソフトウェアのライセンスは、上記したように、情報処理装置1によって管理されている。
ネットワーク5は、例えば、LANやインターネットなどのネットワークである。情報処理装置1および端末装置2〜4は、ネットワーク5を介して、互いに通信を行うことができる。
図1のライセンス管理システムの概略動作について説明する。情報処理装置1には、端末装置3,4のソフトウェアライセンスの状態を検出する処理(以下では、この処理を処理1と呼ぶことがある)と、管理者によって記憶されたソフトウェア辞書の誤りの可能性を検出する処理(以下では、この処理を処理2と呼ぶことがある)と、がある。情報処理装置1には、管理者によって、予めソフトウェア辞書が記憶されているとする。
まず、端末装置2,3のソフトウェアライセンスの状態を検出する処理1について説明する。情報処理装置1は、管理者から、端末装置2を介して、端末装置3,4にどのようなソフトウェアがインストールされているか、検出するように指示を受けると、端末装置3,4から、インベントリ情報(端末装置3,4のレジストリ情報およびEXE情報(実行ファイルの情報))を収集する。情報処理装置1は、収集したインベントリ情報と、管理者によって予め記憶されたソフトウェア辞書とによって、端末装置3,4にどのようなライセンスのソフトウェアがインストールされているか検出する。そして、情報処理装置1は、検出した結果を、端末装置2のディスプレイに表示する。これにより、管理者は、端末装置3,4に、どのようなライセンスのソフトウェアがインストールされているか、管理することができる。
次に、管理者によって記憶されたソフトウェア辞書の誤りの可能性を検出する処理2について説明する。ソフトウェア辞書は、以下でも説明するが、管理者によって端末装置2に入力され、情報処理装置1に記憶される。そのため、ソフトウェア辞書には、管理者の入力間違え等によって、誤りが含まれている場合がある。そこで、情報処理装置1は、管理者から、端末装置2を介して、ソフトウェア辞書の誤りを検出するように指示を受けると、ソフトウェア辞書に誤りが含まれている可能性を検出する。そして、管理者は、情報処理装置1によって、ソフトウェア辞書に誤りが含まれている可能性があると検出されると、情報処理装置1に記憶したソフトウェア辞書に誤りがないか調べることができる。
なお、ソフトウェア辞書に誤りが含まれている「可能性」とは、以下で説明するが、情報処理装置1によって、ソフトウェア辞書に誤りが含まれている可能性があると検出されても、ソフトウェア辞書に誤りがない場合もあるからである。
図1では、端末装置3,4は、2台しか示していないが、3台以上存在していてもよい。また、情報処理装置1は、端末装置2を介して、管理者の操作を受付けるとしたが、直接管理者からの操作を受付けてもよい。
上記では、情報処理装置1は、管理者からの指示を受けて、2つの処理1,2を行うとしたが、処理1,2のそれぞれを自動で周期的に行ってもよい。
図2は、情報処理装置1の機能ブロックの一例を示した図である。図2に示すように、情報処理装置1は、収集部11と、生成部12と、検出部13と、辞書記憶部14と、インベントリ情報記憶部15と、インストールライセンス結果記憶部16と、検出結果記憶部17と、名寄せ名リスト記憶部18と、受信部19と、送信部20と、を有している。
収集部11は、端末装置3,4からインベントリ情報を収集する。すなわち、収集部11は、端末装置3,4から、レジストリ情報とEXE情報とを収集する。収集部11は、収集したインベントリ情報をインベントリ情報記憶部15に記憶する。
生成部12は、収集部11が収集したインベントリ情報および辞書記憶部14に記憶されているソフトウェア辞書に基づいて、端末装置3,4に記憶されているソフトウェアのインストールライセンス結果を生成する。インストールライセンス結果は、端末装置3,4にどのようなライセンスのソフトウェアがインストールされているのかを示す情報である。生成部12は、生成したインストールライセンス結果を、インストールライセンス結果記憶部16に記憶する。
また、生成部12は、収集部11が収集したインベントリ情報に基づいて、端末装置3,4のレジストリ情報の名寄せ名リストを生成する。名寄せ名リストは、端末装置3,4のレジストリに記憶されているレジストリ情報のリストである。生成部12は、生成した名寄せ名リストを、名寄せ名リスト記憶部18に記憶する。
検出部13は、生成部12によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性がないかを検出する。検出部13は、検出した結果を、検出結果記憶部17に記憶する。
辞書記憶部14には、管理者が端末装置2を用いて入力したソフトウェア辞書が記憶される。辞書記憶部14は、図2に示すように、DREG情報記憶部31と、DEXE情報記憶部32と、を有している。DREG情報記憶部31には、レジストリ情報に関するソフトウェア辞書の情報が記憶され、DEXE情報記憶部32には、EXE情報に関するソフトウェア辞書の情報が記憶される。
インベントリ情報記憶部15には、収集部11が収集したインベントリ情報が記憶される。インベントリ情報記憶部15は、図2に示すように、IREG情報記憶部41と、IEXE情報記憶部42と、を有している。IREG情報記憶部41には、収集部11が端末装置3,4から収集したレジストリ情報に関する情報が記憶される。IEXE情報記憶部42には、収集部11が端末装置3,4から収集したEXE情報に関する情報が記憶される。
インストールライセンス結果記憶部16には、生成部12が生成したインストールライセンス結果が記憶される。
検出結果記憶部17には、検出部13が検出した、ソフトウェア辞書に誤りが含まれている可能性があるか否かを示す情報が記憶される。
名寄せ名リスト記憶部18には、生成部12が生成した名寄せ名リストが記憶される。名寄せ名リストとは、例えば、端末装置3,4のレジストリに記憶されたレジストリ情報のリストである。
受信部19は、端末装置2〜4からデータを受信する。送信部20は、端末装置2〜4にデータを送信する。
図3は、DREG情報記憶部31のデータ構成例を示した図である。上記したように、DREG情報記憶部31には、端末装置3,4にインストールされるソフトウェアのレジストリ情報に関するソフトウェア辞書の情報が記憶される。図3に示すように、DREG情報記憶部31には、インストールライセンスID31aと、インストールライセンス名31bと、レジストリID31cと、製造元31dと、レジストリ情報31eと、が記憶される。これらの情報は、管理者によって端末装置2から入力され、DREG情報記憶部31に記憶される。
インストールライセンスID31aは、端末装置3,4にインストールされるソフトウェアの、ライセンスを識別する識別情報である。
インストールライセンス名31bは、端末装置3,4にインストールされるソフトウェアのライセンス名である。
レジストリID31cは、端末装置3,4にインストールされるソフトウェアの、レジストリ情報を識別する識別情報である。
製造元31dは、端末装置3,4にインストールされるソフトウェアの製造元の情報である。
レジストリ情報31eは、端末装置3,4にソフトウェアがインストールされたとき、端末装置3,4のレジストリに登録されるレジストリ情報である。レジストリ情報は、例えば、ソフトウェアの製品名称を示しているともいえる。
例えば、端末装置3,4にあるソフトウェアがインストールされたとする。そして、端末装置3,4のレジストリに登録されたレジストリ情報が「SoftReg001」であったとする。この場合、図3のDREG情報記憶部31の例より(レジストリ情報に関するソフトウェア辞書の例より)、端末装置3,4にインストールされたソフトウェアのインストールライセンスID31aは「1」であり、インストールライセンス名31bは「Software001」であり、レジストリID31cは「1」であり、製造元31dは「SoftMakerAAA」であることが分かる。
図4は、DEXE情報記憶部32のデータ構成例を示した図である。上記したように、DEXE情報記憶部32には、端末装置3,4にインストールされるソフトウェアのEXE情報に関するソフトウェア辞書の情報が記憶される。図4に示すように、DEXE情報記憶部32には、インストールライセンスID32aと、インストールライセンス名32bと、EXEID32cと、EXE情報32dと、バージョン情報32eと、が記憶される。これらの情報は、管理者によって端末装置2から入力され、DEXE情報記憶部32に記憶される。
インストールライセンスID32aは、端末装置3,4にインストールされるソフトウェアの、ライセンスを識別する識別情報である。
インストールライセンス名32bは、端末装置3,4にインストールされるソフトウェアのライセンス名である。
EXEID32cは、端末装置3,4にインストールされるソフトウェアの、EXE情報(実行ファイル)を識別する識別情報である。
EXE情報32dは、端末装置3,4にインストールされるソフトウェアの実行ファイルの情報である。EXE情報32dは、例えば、実行ファイルのファイル名称を示しているともいえる。
バージョン情報32eは、EXE情報32dのバージョン情報である。
インストールライセンスID32aおよびインストールライセンス名32bは、図3で説明したインストールライセンスID31aおよびインストールライセンス名31bと対応している。例えば、図3のインストールライセンスID31aが「1」であるインストールライセンス名31bは、「Software001」である。同様に、図4において、インストールライセンスID32aが「1」であるインストールライセンス名32bは、「Software001」である。これにより、例えば、図3のレジストリ情報31eに対応するソフトウェアのEXE情報32dが分かる。例えば、レジストリ情報31eが「SoftReg001」であるソフトウェアのEXE情報32dは、インストールライセンスID31aの「1」をキーとして、図4のDEXE情報記憶部32の例より、「EXE001.exe」であることが分かる。また、その逆として、図4のEXE情報32dに対応するソフトウェアのレジストリ情報31eが分かる。
また、例えば、レジストリ情報31eが「SoftSuiteReg001」であるソフトウェアのEXE情報32dは、インストールライセンスID31aの「6」をキーとして、図4のDEXE情報記憶部32の例より、「EXE001.exe」、「EXE002.exe」、および「EXE003.exe」であることが分かる。そして、1つのインストールライセンスID31a(またはインストールライセンス名31b)に複数のEXE情報32dが対応付けられているので、レジストリ情報31eが「SoftSuiteReg001」のソフトウェアは、実行ファイル「EXE001.exe」、「EXE002.exe」、および「EXE003.exe」を有するスイート製品であることが分かる。
図5は、IREG情報記憶部41のデータ構成例を示した図である。上記したように、IREG情報記憶部41には、収集部11が端末装置3,4から収集したレジストリ情報に関する情報が記憶される。図5に示すように、IREG情報記憶部41には、コンピュータID41aと、コンピュータ名41bと、レジストリID41cと、レジストリ情報41dと、が記憶される。
コンピュータID41aは、ソフトウェアのライセンスが管理される端末装置3,4を識別する識別情報である。コンピュータID41aは、例えば、予め管理者によって、端末装置3,4に付与される。例えば、端末装置3には「1」が付与され、端末装置4には「2」が付与される。
コンピュータ名41bは、ソフトウェアのライセンスが管理される端末装置3,4の名称である。コンピュータ名41bは、例えば、予め管理者によって、端末装置3,4に付与される。例えば、端末装置3には「PC001」が付与され、端末装置4には「002」が付与される。以下では、端末装置3のコンピュータID41aを「1」とし、コンピュータ名41bを「PC001」とすることがある。また、端末装置4のコンピュータID41aを「2」とし、コンピュータ名41bを「PC002」とすることがある。
レジストリID41cは、端末装置3,4にインストールされたソフトウェアの、レジストリ情報を識別する識別情報である。
レジストリ情報41dは、端末装置3,4にソフトウェアがインストールされたとき、端末装置3,4のレジストリに登録されたレジストリ情報である。
例えば、収集部11は、コンピュータIDが「1」であり、コンピュータ名が「PC001」である端末装置3から、「1」のレジストリIDと、「SoftReg001」のレジストリ情報とを収集したとする。この場合、収集部11は、例えば、図5に示すように、「1」のコンピュータID41aと、「PC001」のコンピュータ名41bと、「1」のレジストリID41cと、「SoftReg001」のレジストリ情報41dと、をIREG情報記憶部41に記憶する。
図6は、IEXE情報記憶部42のデータ構成例を示した図である。上記したように、IEXE情報記憶部42には、収集部11が端末装置3,4から収集したEXE情報に関する情報が記憶される。図6に示すように、IEXE情報記憶部42には、コンピュータID42aと、コンピュータ名42bと、EXEID42cと、EXE情報42dと、ファイルバージョン42eと、が記憶される。
コンピュータID42aは、ソフトウェアのライセンスが管理される端末装置3,4を識別する識別情報である。コンピュータID42aは、例えば、予め管理者によって、端末装置3,4に付与される。
コンピュータ名42bは、ソフトウェアのライセンスが管理される端末装置3,4の名称である。コンピュータ名42bは、例えば、予め管理者によって、端末装置3,4に付与される。
EXEID42cは、端末装置3,4にインストールされたソフトウェアの、EXE情報を識別する識別情報である。
EXE情報42dは、端末装置3,4にインストールされた実行ファイルの情報である。
ファイルバージョン42eは、端末装置3,4にインストールされた実行ファイルのバージョンを示す情報である。
例えば、収集部11は、コンピュータIDが「1」であり、コンピュータ名が「PC001」である端末装置3から、「1」のEXEIDと、「EXE001.exe」のEXE情報と、「1」のファイルバージョンを収集したとする。この場合、収集部11は、例えば、図6に示すように、「1」のコンピュータID42aと、「PC001」のコンピュータ名42bと、「1」のEXEID42cと、「EXE001.exe」のEXE情報42dと、「1」のファイルバージョン42eとを、IEXE情報記憶部42に記憶する。
図7は、インストールライセンス結果記憶部16のデータ構成例を示した図である。上記したように、インストールライセンス結果記憶部16には、生成部12が生成した、端末装置3,4のインストールライセンス結果が記憶される。図7に示すように、インストールライセンス結果記憶部16には、インベントリID16aと、コンピュータID16bと、レジストリ情報16cと、インストールライセンスID16dと、インストールライセンス名16eと、タイプ16fと、登録状態16gと、が記憶される。
インベントリID16aは、インストールライセンス結果を識別するユニークな識別情報である。
コンピュータID16bは、ソフトウェアのライセンスが管理される端末装置3,4を識別する識別情報である。
レジストリ情報16cは、端末装置3,4にソフトウェアがインストールされたとき、端末装置3,4のレジストリに登録されたレジストリ情報である。
レジストリ情報16cの「−」は、端末装置3,4のレジストリに、レジストリ情報16cに対応するインストールライセンス名16eのソフトウェアのレジストリ情報が記憶されていなかったことを示す。例えば、図7の例の場合、コンピュータID16bが「1」である端末装置3には、インストールライセンス名16eが「Software005」のソフトウェアがインストールされているが、そのソフトウェアのレジストリ情報は、端末装置3のレジストリに記憶されていないことを示す。
インストールライセンスID16dは、端末装置3,4にインストールされたソフトウェアの、ライセンスを識別する識別情報である。
インストールライセンス名16eは、端末装置3,4にインストールされたソフトウェアのライセンス名である。
タイプ16fは、端末装置3,4にインストールされたソフトウェアが、スイート製品であるか、単体製品であるかを示す情報である。例えば、「単体」は、端末装置3,4にインストールされたソフトウェアが単体製品であることを示し、「スイート」は、端末装置3,4にインストールされたソフトウェアがスイート製品であることを示す。
登録状態16gは、端末装置3,4にインストールされたソフトウェアの登録状態を示す。例えば、登録状態16gの例として、「R:L」は、端末装置3,4にインストールされたソフトウェアがレジストリに登録され、そのソフトウェアにライセンスがあることを示す。また、例えば、「−:L」は、端末装置3,4にインストールされたソフトウェアがレジストリには登録されていないが、そのソフトウェアにはライセンスがあることを示す。また、例えば、「R:−」は、端末装置3,4にインストールされたソフトウェアがレジストリには登録されているが、そのソフトウェアにはライセンスがないことを示す。
図8は、検出結果記憶部17のデータ構成例を示した図である。上記したように、検出結果記憶部17には、検出部13が検出した、ソフトウェア辞書に誤りが含まれている可能性の情報が記憶される。図8に示すように、検出結果記憶部17には、インベントリID17aと、誤登録可能性17bと、が記憶される。
インベントリID17aは、インストールライセンス結果を識別するユニークな識別情報である。インベントリID17aは、図7のインベントリID16aと対応している。
誤登録可能性17bは、辞書記憶部14に記憶されたソフトウェア辞書に、誤りが含まれている可能性があるか否かを示す情報である。例えば、「有」は、インベントリID17aに対応するライセンス(つまり、図7のインベントリID16aに対応するライセンス)のソフトウェアにおいて、ソフトウェア辞書に誤りが含まれている可能性があることを示す。
より具体的には、インベントリID17aが「1」の誤登録可能性17bは、「有」となっている。この場合、図7の「1」のインベントリID16aより、インストールライセンスID16dが「1」のソフトウェア辞書には、誤りが含まれている可能性がある。つまり、図3に示したインストールライセンスID31aが「1」のソフトウェア辞書または図4に示したインストールライセンスID32aが「1」のソフトウェア辞書には、誤りが含まれている可能性がある。一方、「無」は、対応するインストールライセンスIDのソフトウェア辞書に、誤りが含まれている可能性がないことを示す。
図9は、名寄せ名リスト記憶部18のデータ構成例を示した図である。上記したように、名寄せ名リスト記憶部18には、生成部12が生成した、端末装置3,4のレジストリ情報の名寄せ名リストが記憶される。図9に示すように、名寄せ名リスト記憶部18には、レジストリID18aと、レジストリ情報18bと、が記憶される。
レジストリID18aは、端末装置3,4にインストールされたソフトウェアの、レジストリ情報を識別する識別情報である。
レジストリ情報18bは、端末装置3,4にソフトウェアがインストールされたとき、端末装置3,4のレジストリに登録されたレジストリ情報である。
例えば、生成部12は、収集部11が収集した情報を記憶したIREG情報記憶部41を参照して、レジストリ情報の名寄せ名リストを生成し、名寄せ名リスト記憶部18に記憶する。より具体的には、生成部12は、IREG情報記憶部41のレジストリID41cを取得し、名寄せ名リスト記憶部18のレジストリID18aに記憶する。また、生成部12は、IREG情報記憶部41のレジストリ情報41dを取得し、名寄せ名リスト記憶部18のレジストリ情報18bに記憶する。
図10は、情報処理装置1のソフトウェア辞書の誤りの可能性を検出する処理2の概略動作例を示したフローチャートである。情報処理装置1は、例えば、端末装置2を介した、管理者からの指示に応じて、図10に示す各ステップの処理を実行する。辞書記憶部14には、管理者によって、予めソフトウェア辞書が記憶されているとする。
まず、収集部11は、端末装置3,4からインベントリ情報を収集する(ステップS1)。例えば、収集部11は、端末装置3,4からレジストリ情報を収集し、IREG情報記憶部41に記憶する。また、収集部11は、端末装置3,4からEXE情報を収集し、IEXE情報記憶部42に記憶する。
次に、生成部12は、収集部11によって収集されたレジストリ情報に基づいて(IREG情報記憶部41を参照して)、レジストリ情報の名寄せ名リストを作成する(ステップS2)。生成部12は、生成したレジストリ情報の名寄せ名リストを名寄せ名リスト記憶部18に記憶する。
次に、送信部20は、名寄せ名リスト記憶部18に記憶されている情報を、管理者が操作する端末装置2に送信する(ステップS3)。これにより、端末装置2のディスプレイには、名寄せ名リストが表示される。
ここで、生成部12が生成した名寄せ名リストは、図9に示したように、レジストリID18aおよびレジストリ情報18bを有する。レジストリID18aおよびレジストリ情報18bは、端末装置3,4から収集したものであり、端末装置3,4のレジストリに実際に登録されている情報である。
管理者は、端末装置2のディスプレイに表示された名寄せ名リストに基づいて、情報処理装置1の辞書記憶部14に記憶したソフトウェア辞書のレジストリ情報に、登録漏れがないか、または、入力間違えがないか確認することができる。例えば、図3に示したレジストリ情報31eに、名寄せ名リストに挙がったレジストリ情報が記憶されていなかった場合(つまり、登録が漏れていた場合)、管理者は、ソフトウェア辞書にレジストリ情報を追加修正することができる。また、例えば、図3に示したレジストリ情報31eの綴りが名寄せ名リストと異なっていた場合、管理者は、ソフトウェア辞書の登録内容を修正することができる。
次に、受信部19は、端末装置2を介して、管理者から、ソフトウェア辞書の修正の受付けがあったか否か判定する(ステップS4)。例えば、上記したように、レジストリ情報の名寄せ名リストと、ソフトウェア辞書のレジストリ情報31eとに違いがあった場合、受信部19は、管理者からソフトウェア辞書の修正を受付けることになる。受信部19は、ソフトウェア辞書の修正の受付けがあった場合(S4の「Yes」)、ステップS5の処理へ移行する。受信部19は、ソフトウェア辞書の修正の受付けがなかった場合(S4の「No」)、ステップS6の処理へ移行する。
受信部19は、ステップS4にて、ソフトウェア辞書の修正の受付けがあった場合(S4の「Yes」)、ソフトウェア辞書の修正を受付ける(ステップS5)。例えば、受信部19は、端末装置2を介した、管理者からのソフトウェア辞書の修正(レジストリ情報の修正)を、DREG情報記憶部31のレジストリ情報31eに反映する。
情報処理装置1は、ステップS4にて、ソフトウェア辞書の修正の受付けがなかった場合(S4の「No」)、または、ステップS5にて、ソフトウェア辞書の修正を受付け、その修正が終了した場合、ソフトウェア辞書の誤登録検出処理を実行する(ステップS6)。この誤登録検出処理の実行により、ソフトウェア辞書に誤りが含まれている可能性があるか否かが検出される。当該処理の詳細は、以下で別のフローチャートを用いて説明する。
ここで、送信部20は、誤登録検出処理の実行によって得られた誤登録検出結果を、端末装置2に送信する。端末装置2は、送信部20から送信された誤登録検出結果をディスプレイに表示する。これにより、管理者は、端末装置2に表示された誤登録検出結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性があるか否か知ることができる。そして、管理者は、ソフトウェア辞書に誤りが含まれている可能性があると検出された場合、ソフトウェア辞書を調査し、実際に誤りがあれば修正することができる。
次に、受信部19は、端末装置2を介して、管理者から、ソフトウェア辞書の修正の受付けがあったか否か判定する(ステップS7)。受信部19は、ソフトウェア辞書の修正の受付けがあった場合(S7の「Yes」)、ステップS8の処理へ移行する。受信部19は、ソフトウェア辞書の修正の受付けがなかった場合(S7の「No」)、当該フローチャートの処理を終了する。
受信部19は、ステップS7にて、ソフトウェア辞書の修正の受付けがあった場合(S7の「Yes」)、ソフトウェア辞書の修正を受付ける(ステップS8)。例えば、受信部19は、端末装置2を介した、管理者からのソフトウェア辞書の修正を、辞書記憶部14(DREG情報記憶部31およびDEXE情報記憶部32の両方または一方)に反映する。そして、受信部19は、当該フローチャートの処理を終了する。
なお、上記では、情報処理装置1は、レジストリ情報の名寄せの処理(ステップS1〜S5)と、誤登録検出の処理(ステップS6〜S8)とを続けて行っているが、別々に処理を行ってもよい。例えば、情報処理装置1は、管理者からの指示に応じて、ステップS1〜S5の処理のみを実行し、または、ステップS6〜S8の処理のみを実行するようにしてもよい。
図11は、情報処理装置1の誤登録検出処理の動作例を示したフローチャートである。図11のフローチャートは、図10のステップS6の処理の詳細を示したものである。
まず、生成部12は、辞書記憶部14およびインベントリ情報記憶部15を参照して、端末装置3,4のインストールライセンス情報(端末装置3,4のコンピュータID、端末装置3,4のレジストリに記憶されているレジストリ情報、レジストリ情報のソフトウェアのインストールライセンスID、およびインストールライセンス名)を生成する(ステップS11)。生成部12は、生成したインストールライセンス情報をインストールライセンス結果記憶部16に記憶し、ユニークなインベントリID16aを付与する。
例えば、生成部12は、図5のIREG情報記憶部41より、端末装置3,4のレジストリに記憶されているレジストリ情報41dを取得する。そして、生成部12は、取得したレジストリ情報41dに基づいて、図3のDREG情報記憶部31を参照し、レジストリ情報41dのソフトウェアのライセンス情報(インストールライセンスID31aおよびインストールライセンス名31b)を取得する。
より具体的には、例えば、生成部12は、図5のIREG情報記憶部41に記憶されたコンピュータID41aが「1」のレジストリ情報41d「SoftReg001」に基づいて、図3のDREG情報記憶部31を参照し、コンピュータIDが「1」である端末装置3にインストールされているソフトウェアのインストールライセンスID31a「1」と、インストールライセンス名31b「Software001」とを取得する。
そして、生成部12は、コンピュータID「1」とレジストリ情報「SoftReg001」とを、図7のコンピュータID16bとレジストリ情報16cとしてインストールライセンス結果記憶部16に記憶し、DREG情報記憶部31を参照して取得したインストールライセンスID「1」とインストールライセンス名「Software001」とを、図7のインストールライセンスID16dとインストールライセンス名16eとしてインストールライセンス結果記憶部16に記憶する。そして、生成部12は、記憶したこれらの情報に対してユニークな識別情報「1」を生成し、図7のインベントリID16aとして記憶する。生成部12は、IREG情報記憶部41に記憶されている他のレジストリ情報41dについても同様に、DREG情報記憶部31を参照し、インベントリID16a、コンピュータID16b、レジストリ情報16c、インストールライセンスID16d、およびインストールライセンス名16eを生成し、インストールライセンス結果記憶部16に記憶する。
また、生成部12は、図6のIEXE情報記憶部42より、端末装置3,4にインストールされているソフトウェアのEXE情報42dを取得する。そして、生成部12は、取得したEXE情報42dに基づいて、図4のDEXE情報記憶部32を参照し、端末装置3,4のライセンス情報(インストールライセンスID32aおよびインストールライセンス名32b)を取得する。
より具体的には、例えば、生成部12は、図6のIEXE情報記憶部42に記憶されたコンピュータID42aが「1」のEXE情報42d「EXE005.exe」に基づいて、図4のDEXE情報記憶部32を参照し、コンピュータIDが「1」である端末装置3にインストールされているソフトウェアのインストールライセンスID32a「5」と、インストールライセンス名32b「Software005」とを取得する。
そして、生成部12は、図7のインストールライセンス結果記憶部16のコンピュータID16bに、コンピュータID「1」を記憶し、IEXE情報記憶部42を参照して取得したインストールライセンスID「5」と、インストールライセンス名「Software005」とを、図7のインストールライセンスID16dとインストールライセンス名16eとに記憶する。また、生成部12は、取得したインストールライセンスID「5」に基づいてDREG情報記憶部31を参照し、EXE情報42d「EXE005.exe」に対応するレジストリ情報31e「SoftReg005」を取得する。取得したレジストリ情報31e「SoftReg005」は、図5のIREG情報記憶部41より、コンピュータID41aが「1」の端末装置3から収集されていないので、生成部12は、図7のインストールライセンス結果記憶部16のレジストリ情報16cに、「−」を記憶する。そして、生成部12は、記憶したこれらの情報に対してユニークな識別情報「4」を生成し、図7のインベントリID16aに記憶する。生成部12は、IEXE情報記憶部42に記憶されている他のEXE情報42dについても同様にDEXE情報記憶部32を参照し、インベントリID16a、コンピュータID16b、レジストリ情報16c、インストールライセンスID16d、およびインストールライセンス名16eを生成し、インストールライセンス結果記憶部16に記憶する。
ただし、生成部12は、EXE情報から得たインストールライセンス情報が、レジストリ情報から得たインストールライセンス情報と重複する場合、EXE情報から得たインストールライセンス情報をインストールライセンス結果記憶部16に記憶しない。例えば、図6のEXE情報42d「EXE004.exe」から得られるインストールライセンス情報は、図5のレジストリ情報41d「SoftReg004」から得られるインストールライセンス情報と重複する。この場合、生成部12は、EXE情報42d「EXE004.exe」から得られたインストールライセンス情報を、インストールライセンス結果記憶部16に記憶しない(つまり、生成部12は、レジストリ情報41d「SoftReg004」から得られたインストールライセンス情報のみをインストールライセンス結果記憶部16に記憶する)。これは、同じインストールライセンス結果が、インストールライセンス結果記憶部16に記憶されるのを防止するためである。
次に、生成部12は、辞書記憶部14に記憶されているソフトウェア辞書の実行ファイルの情報に基づいて、端末装置3,4のレジストリに記憶されているレジストリ情報のソフトウェアが、単体製品であるかスイート製品であるか判定する(ステップS12)。
例えば、生成部12は、辞書記憶部14に記憶されているソフトウェア辞書において、端末装置3,4のレジストリに記憶されているレジストリ情報のソフトウェア(インストールライセンス名またはインストールID)に、1つの実行ファイルが対応付けられて記憶されている場合、そのレジストリ情報のソフトウェアは単体製品であると判定する。一方、生成部12は、辞書記憶部14に記憶されているソフトウェア辞書において、端末装置3,4のレジストリに登録されているレジストリ情報のソフトウェア(インストールライセンス名またはインストールID)に、複数の実行ファイルが対応付けられて記憶されている場合、そのレジストリ情報のソフトウェアはスイート製品であると判定する。
より具体的には、図7のインベントリID16aが「1」のインストールライセンス名16eは、「Software001」である。図4のEXE情報に関するソフトウェア辞書より、「Software001」には、1つの実行ファイル(EXE情報)しか対応付けられていない。この場合、生成部12は、インベントリID16aが「1」の、インストールライセンス名16eが「Software001」であるソフトウェアは、単体製品であると判定する。そして、生成部12は、図7のインベントリID16aが「1」のタイプ16fに、「単体」を記憶する。
また、図7のインベントリID16aが「3」のインストールライセンス名16eは、「SoftwareSuite001」である。図4のEXE情報に関するソフトウェア辞書より、「SoftwareSuite001」には、複数(3つ)の実行ファイルが対応付けられている。この場合、生成部12は、インベントリID16aが「3」の、インストールライセンス名16eが「SoftwareSuite001」であるソフトウェアは、スイート製品であると判定する。そして、生成部12は、図7のインベントリID16aが「3」のタイプ16fに、「スイート」を記憶する。
次に、生成部12は、インストールライセンス結果記憶部16の登録状態16gに、レジストリ情報が端末装置3,4のレジストリに記憶されているか否かを示す情報と、そのレジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とを記憶する(ステップS13)。
例えば、生成部12は、インストールライセンス結果記憶部16のレジストリ情報16cと、インストールライセンス名16e(またはインストールライセンスID16d)とから、登録状態16gを記憶することができる。
より具体的には、生成部12は、インストールライセンス結果記憶部16に、レジストリ情報16cとインストールライセンス名16eとが記憶されている場合、インストールライセンス結果記憶部16の登録状態16gに「R:L」を記憶する。また、生成部12は、インストールライセンス結果記憶部16に、レジストリ情報16cは記憶されていないが、インストールライセンス名16eが記憶されている場合、インストールライセンス結果記憶部16の登録状態16gに「−:L」を記憶する。また、生成部12は、インストールライセンス結果記憶部16に、レジストリ情報16cが記憶されているが、インストールライセンス名16eが記憶されていない場合、インストールライセンス結果記憶部16の登録状態16gに「R:−」を記憶する。
なお、インストールライセンス結果記憶部16に、レジストリ情報16cは記憶されているが、インストールライセンス名16eが記憶されていない場合(登録状態16gが「R:−」の場合)は、辞書記憶部14のソフトウェアに誤りが含まれている可能性がある。例えば、インストールライセンス結果記憶部16のレジストリ情報16cが、図3のDREG情報記憶部31に記憶されていないか、DREG情報記憶部31のレジストリ情報31eの登録名を間違えている可能性がある。つまり、端末装置3,4からレジストリ情報が収集されたが、そのレジストリ情報がインストールライセンス結果記憶部16に記憶されない場合、ソフトウェア辞書に誤りが含まれている可能性がある。
次に、検出部13は、ソフトウェア辞書の誤登録の可能性を検出する(ステップS14)。検出部13は、検出した検出結果を検出結果記憶部17に記憶する。
例えば、検出部13は、単体製品と判定したソフトウェアの実行ファイルの名称(EXE情報)が、スイート製品と判定したソフトウェアの実行ファイルの名称と同じである場合、単体製品と判定したソフトウェアのソフトウェア辞書には、誤りが含まれている可能性があると検出する。
より具体的には、図7のインベントリID16aが「1」のソフトウェアは、タイプ16fより、単体製品と判定されている。このソフトウェアのインストールライセンス名16eは、「Software001」であり、「Software001」のEXE情報は、図4のDEXE情報記憶部32より、「EXE001.exe」であることが分かる。また、インベントリID16aが「3」のソフトウェアは、タイプ16fより、スイート製品と判定されている。このソフトウェアのインストールライセンス名16eは、「SoftwareSuite001」であり、「SoftwareSuite001」のEXE情報は、図4のDEXE情報記憶部32より、「EXE001.exe」、「EXE002.exe」、および「EXE003.exe」であることが分かる。この場合、タイプ16fが「単体」であるインストールライセンス名16eが「Software001」のソフトウェアと、タイプ16fが「スイート」であるインストールライセンス名16eが「SoftwareSuite001」のソフトウェアは、実行ファイル「EXE001.exe」が一致するので、検出部13は、ソフトウェア辞書に誤りが含まれている可能性があると検出する。そして、検出部13は、図8のインベントリID17aが「1」の誤登録可能性17bに「有」を記憶する。
ここで、スイート製品のレジストリ登録には、次の2つがある。1つは、スイート製品全体に1つのレジストリ情報が付与されており、そのレジストリ情報が端末装置3,4のレジストリに登録される場合である。もう1つは、スイート製品全体に1つのレジストリ情報が付与され、さらにスイート製品に含まれる個々のソフトウェアにレジストリ情報が付与されており、スイート製品全体のレジストリ情報と、単体でインストールしたソフトウェアのレジストリ情報とが、端末装置3,4のレジストリに登録される場合である。
後者の場合、例えば、スイート製品全体に対し「SoftSuiteReg001」のレジストリ情報が付与され、さらにスイート製品に含まれる各(3つ)ソフトウェアに「SoftReg001」、「SoftReg002」、および「SoftReg003」のレジストリ情報が付与される。そして、スイート製品「SoftSuiteReg001」に含まれる1つのソフトウェア「SoftReg001」を端末装置3,4にインストールすると、端末装置3,4のレジストリには、「SoftSuiteReg001」と「SoftReg001」とが登録される。
後者のようなスイート製品の場合、管理者は、図3のDREG情報記憶部31には、各ソフトウェアのレジストリ情報「SoftReg001」、「SoftReg002」、および「SoftReg003」を単独で記憶せず、インストールライセンス名31bが「SoftwareSuite001」のレジストリ情報31eを、「SoftSuiteReg001,Software001,Software002,Software003」と記憶しなければならない。また、管理者は、インストールライセンス名31bが「SoftwareSuite001」のレジストリID31cを、「1,2,3,6」と記憶しなければならない。このように、図3のDREG情報記憶部31を記憶すると、インストールライセンス結果記憶部16には、スイート製品に含まれる単体のソフトウェアのライセンス情報が重複して記憶されなくなる。例えば、図7のインベントリID16aが「1」のインストールライセンス結果は、インストールライセンス結果記憶部16に記憶されなくなる。
すなわち、管理者は、後者のようなスイート製品の場合、検出部13の検出結果に基づいて、例えば、図3に示す「Software001」、「Software002」、および「Software003」のインストールライセンス名31bおよびそれに対応する情報をDREG情報記憶部31およびDEXE情報記憶部32から削除し、インストールライセンス名31bが「SoftwareSuite001」のレジストリID31cを「1,2,3,6」と修正し、レジストリ情報31eを「SoftSuiteReg001,SoftReg001,SoftReg002,SoftReg003」と修正することができる。この場合、例えば、「SoftReg001」、「SoftReg002」、または「SoftReg003」の1つまたは複数のレジストリ情報が端末装置3,4から収集されても、そのインストールライセンス名16eは、「SoftwareSuite001」として生成される(生成部12は、収集されたレジストリ情報を含むレジストリ情報31eに対応するインストールライセンス名31bを取得し、図7のインストールライセンス名16eとする)。また、インストールライセンスID16dは、「SoftwareSuite001」の「6」と、収集された「SoftReg001」、「SoftReg002」、または「SoftReg003」のレジストリ情報に対応したID(例えば、1,2,3のいずれか)とが生成される。つまり、図7に示すインベントリID16aが「1」のソフトウェアライセンスは、検知されなくなる。
一方、図3のDREG情報記憶部31のソフトウェア辞書の内容で誤りがない場合もある。例えば、スイート製品と、そのスイート製品に含まれるソフトウェアと同じソフトウェアを、スイート製品とは別に単体で端末装置3,4にインストールする場合等は、図3のDREG情報記憶部31のソフトウェア辞書の内容で誤りはない。この場合、管理者は、ソフトウェア辞書に誤りが含まれている可能性があると検出されても、ソフトウェア辞書を修正しなくてよい。
また、検出部13は、登録状態16gが「R:−」のソフトウェアに対しては、ソフトウェア辞書に誤りが含まれている可能性があるとして検出する。すなわち、検出部13は、インストールライセンス結果記憶部16に、レジストリ情報16cが記憶されず、インストールライセンスに関する情報(インストールライセンスID16dおよびインストールライセンス名16e)が記憶される場合、ソフトウェア辞書に誤りが含まれている可能性を検出する。この場合、図3のDREG情報記憶部31にインストールライセンス名31bが記憶されていないか、または登録名が間違ったインストールライセンス名31bが記憶されている可能性があるからである。
なお、図7のインベントリID16aが「4」のソフトウェア(登録状態16gが「−:L」)は、例えば、端末装置3(コンピュータID「1」)において、アンインストールに失敗した可能性がある。つまり、レジストリ情報は、アンインストールの際、端末装置3のレジストリから消去されたが、実行ファイルは何らかの影響で端末装置3に残った可能性がある。この場合、ソフトウェア辞書には、誤りがないので、図8のインベントリID17aが「4」の誤登録可能性17bは、「無」となっている。
次に、送信部20は、インストールライセンス結果記憶部16に記憶されているインストールライセンス結果と、検出結果記憶部17に記憶されている誤登録検出結果とを端末装置2に送信する(ステップS15)。これにより、端末装置2のディスプレイには、例えば、図7に示した各種情報と、図8に示した各種情報とが表示される。管理者は、例えば、端末装置2のディスプレイに表示された誤登録可能性17bによって、辞書記憶部14に記憶されたソフトウェア辞書に誤りが含まれている可能性があるか否か知ることができる。
また、管理者は、レジストリ情報16cや登録状態16gなどのインストールライセンス結果によって、端末装置3,4に不適切なソフトウェアがインストールされていないか等を知ることができる。例えば、管理者は、インベントリID16aが「4」のソフトウェアは、アンインストールに失敗した可能性があると知ることができる。
図12は、情報処理装置1のハードウェア構成例を示した図である。情報処理装置1は、例えば、図12に示すような、CPU(Central Processing Unit)等の演算装置51と、RAM(Random Access Memory)などの主記憶装置52と、HDD(Hard Disk Drive)等の補助記憶装置53と、有線又は無線により通信ネットワークと接続するための通信インターフェイス(I/F)54と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置55と、液晶ディスプレイなどの表示装置56と、DVD(Digital Versatile Disk)などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置57と、を備えるコンピュータで実現することができる。
例えば、収集部11、生成部12、検出部13、受信部19、および送信部20の機能は、補助記憶装置53などから主記憶装置52にロードされた所定のプログラムを演算装置51が実行することで実現される。また、受信部19および送信部20は、例えば、演算装置51が通信I/F54を利用することで実現される。辞書記憶部14、インベントリ情報記憶部15、インストールライセンス結果記憶部16、検出結果記憶部17、および名寄せ名リスト記憶部18は、例えば、演算装置51が主記憶装置52または補助記憶装置53を利用することで実現される。
なお、上記の所定のプログラムは、例えば、読み書き装置57により読み取られた記憶媒体からインストールされてもよいし、通信I/F54を介してネットワークからインストールされてもよい。
このように、情報処理装置1の生成部12は、収集部11が収集したインベントリ情報および辞書記憶部14に記憶されているソフトウェア辞書に基づいて、複数の端末装置3,4に記憶されているソフトウェアのインストールライセンス結果を生成する。そして、検出部13は、生成部12によって生成されたインストールライセンス結果に基づいて、ソフトウェア辞書に誤りが含まれている可能性を検出する。
これにより、情報処理装置1は、ソフトウェア辞書に誤りが含まれている可能性を検出できる。
また、管理者は、検出されたソフトウェア辞書に誤りが含まれている可能性に応じて、ソフトウェア辞書に誤りが含まれていないか確認することができ、誤りが含まれていれば、それを修正することができる。
また、ソフトウェア辞書は、管理者によって、適切なソフトウェア辞書に修正されるので、情報処理装置1は、ソフトウェアライセンスの状態を検出する処理1において、適切なソフトウェアのライセンス状態を検出することができる。
なお、ソフトウェアライセンスの状態を検出する処理1は、例えば、図11のステップS11〜S13と同様である。ただし、ステップS11の処理の前に、端末装置3,4からインベントリ情報を収集する処理(例えば、図10のステップS1の処理)が加わる。これにより、端末装置3,4のソフトウェアライセンスの状態を示した、例えば、図7に示すインストールライセンス結果の情報が得られる。
また、図10のフローチャートの処理において、情報処理装置1は、端末装置3,4のソフトウェアライセンスの状態を検出する処理1を実行していた場合、ステップS1のインベントリ情報の収集処理を省略してもよい。例えば、上記したように、情報処理装置1は、端末装置3,4のソフトウェアライセンスの状態を検出する処理1を実行していた場合、端末装置3,4のインベントリ情報の収集処理を実行するので、そのインベントリ情報を、図10のフローチャートの処理に用いてもよい。
また、上述した情報処理装置1の機能構成は、情報処理装置1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。情報処理装置1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、上述したフローチャートの各処理単位は、情報処理装置1の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。情報処理装置1の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、本発明は、ソフトウェア辞書の誤登録検出方法、および情報処理装置1でソフトウェア辞書の誤登録を検出する処理を実現するプログラム、および当該プログラムを記憶した記憶媒体として提供することもできる。
1:情報処理装置、2〜4:端末装置、5:ネットワーク、11:収集部、12:生成部、13:検出部、14:辞書記憶部、15:インベントリ情報記憶部、16:インストールライセンス結果記憶部、17:検出結果記憶部、18:名寄せ名リスト記憶部、19:受信部、20:送信部、31:DREG情報記憶部、32:DEXE情報記憶部、41:IREG情報記憶部、42:IEXE情報記憶部。

Claims (9)

  1. ソフトウェア辞書を記憶した辞書記憶部と、
    複数の端末装置からインベントリ情報を収集する収集部と、
    前記収集部が収集した前記インベントリ情報および前記辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、
    前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、
    を有することを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記生成部は、複数の前記端末装置に記憶されていたレジストリ情報と、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを示す情報とを含む前記インストールライセンス結果を生成する、
    ことを特徴とする情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記生成部は、前記ソフトウェア辞書の実行ファイルの情報に基づいて、前記レジストリ情報のソフトウェアが単体製品であるかスイート製品であるかを判定する、
    ことを特徴とする情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記生成部は、前記ソフトウェア辞書において、前記レジストリ情報のソフトウェアに複数の実行ファイルが対応付けられている場合、前記レジストリ情報のソフトウェアはスイート製品であると判定する、
    ことを特徴とする情報処理装置。
  5. 請求項4に記載の情報処理装置であって、
    前記検出部は、単体と判定したソフトウェアの実行ファイルの名称が、スイート製品に含まれているソフトウェアの実行ファイルの名称と同じである場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、
    ことを特徴とする情報処理装置。
  6. 請求項2に記載の情報処理装置であって、
    前記インストールライセンス結果には、さらに前記レジストリ情報が複数の前記端末装置のレジストリに記憶されているか否かを示す情報と、前記レジストリ情報のソフトウェアにライセンスがあるか否かを示す情報とが含まれる、
    ことを特徴とする情報処理装置。
  7. 請求項6に記載の情報処理装置であって、
    前記検出部は、前記インストールライセンス結果において、前記レジストリ情報が前記端末装置に記憶されており、前記レジストリ情報のソフトウェアにライセンスがない場合、前記ソフトウェア辞書に誤りが含まれている可能性があると検出する、
    ことを特徴とする情報処理装置。
  8. 情報処理装置のソフトウェア辞書の誤登録検出方法であって、
    複数の端末装置からインベントリ情報を収集する収集ステップと、
    前記収集ステップにて収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成ステップと、
    前記生成ステップによって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出ステップと、
    を有することを特徴とする誤登録検出方法。
  9. 情報処理装置のプログラムであって、
    複数の端末装置からインベントリ情報を収集する収集部と、
    前記収集部が収集した前記インベントリ情報および辞書記憶部に記憶されている前記ソフトウェア辞書に基づいて、複数の前記端末装置に記憶されているソフトウェアのインストールライセンス結果を生成する生成部と、
    前記生成部によって生成された前記インストールライセンス結果に基づいて、前記ソフトウェア辞書の誤りの可能性を検出し検出結果を検出結果記憶部に記憶する検出部と、
    して前記情報処理装置を機能させることを特徴とするプログラム。
JP2014168405A 2014-08-21 2014-08-21 情報処理装置、誤登録検出方法、およびプログラム Pending JP2016045627A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014168405A JP2016045627A (ja) 2014-08-21 2014-08-21 情報処理装置、誤登録検出方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014168405A JP2016045627A (ja) 2014-08-21 2014-08-21 情報処理装置、誤登録検出方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2016045627A true JP2016045627A (ja) 2016-04-04

Family

ID=55636161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014168405A Pending JP2016045627A (ja) 2014-08-21 2014-08-21 情報処理装置、誤登録検出方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP2016045627A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084931A (ja) * 2016-11-22 2018-05-31 Nttテクノクロス株式会社 管理装置、方法及びプログラム
JP2019079258A (ja) * 2017-10-24 2019-05-23 Nttテクノクロス株式会社 管理装置、管理方法及びプログラム
US10678539B2 (en) 2017-10-30 2020-06-09 Fujitsu Limited Information processing device, information processing method for determining program, and storage medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018084931A (ja) * 2016-11-22 2018-05-31 Nttテクノクロス株式会社 管理装置、方法及びプログラム
JP2019079258A (ja) * 2017-10-24 2019-05-23 Nttテクノクロス株式会社 管理装置、管理方法及びプログラム
JP7074451B2 (ja) 2017-10-24 2022-05-24 Nttテクノクロス株式会社 管理装置、管理方法及びプログラム
JP2022097680A (ja) * 2017-10-24 2022-06-30 Nttテクノクロス株式会社 管理装置、管理方法及びプログラム
US10678539B2 (en) 2017-10-30 2020-06-09 Fujitsu Limited Information processing device, information processing method for determining program, and storage medium

Similar Documents

Publication Publication Date Title
US9104692B2 (en) Recording backup information for backed-up data items in a data item list
US9110766B2 (en) Dynamically recommending changes to an association between an operating system image and an update group
US8640241B2 (en) Data identification system
US8701208B2 (en) Apparatus, method, and computer-readable recording medium for supporting license acquirement
CN103838537A (zh) 控制装置和信息处理装置
JP2016045627A (ja) 情報処理装置、誤登録検出方法、およびプログラム
US8099628B2 (en) Software problem identification tool
JP6531601B2 (ja) 診断プログラム、診断方法および診断装置
JP6110139B2 (ja) ファイル管理プログラム、ファイル管理装置およびファイル管理方法
JP2016151892A (ja) 情報処理装置、インストール方法、及びインストールプログラム
US20150067152A1 (en) Monitoring system, system, and monitoring method
KR20190020363A (ko) 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
US20130227541A1 (en) Updating a web services description language for a service test
JPWO2016067391A1 (ja) 電子機器、システムおよび方法
US11023228B2 (en) Indexer operation and generation of index data
US9122427B2 (en) Device management apparatus, information processing system, and information processing method for replacement device
JP2009134610A (ja) 周辺機器制御装置、プログラムインストール方法及びプログラム
JP6609216B2 (ja) ソースコードの静的解析結果の分析装置及び分析方法
JP6361331B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN113344549B (zh) 项目工程文档更新方法、装置、计算机设备及存储介质
JP2011227789A (ja) 情報処理装置及びプログラム
US20150277888A1 (en) Systems and methods to create a clean install of an application
US20160308746A1 (en) Data registration system, data registration method, program and non-transitory recording medium
JP7338137B2 (ja) アプリケーション修正システム及び情報処理装置
JP2015055945A (ja) 業務システム、業務データ処理方法、およびプログラム