Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6447307B2 - Management program, management apparatus, and management method - Google Patents
[go: Go Back, main page]

JP6447307B2 - Management program, management apparatus, and management method - Google Patents

Management program, management apparatus, and management method Download PDF

Info

Publication number
JP6447307B2
JP6447307B2 JP2015069646A JP2015069646A JP6447307B2 JP 6447307 B2 JP6447307 B2 JP 6447307B2 JP 2015069646 A JP2015069646 A JP 2015069646A JP 2015069646 A JP2015069646 A JP 2015069646A JP 6447307 B2 JP6447307 B2 JP 6447307B2
Authority
JP
Japan
Prior art keywords
software
information
registry
management
folder
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.)
Expired - Fee Related
Application number
JP2015069646A
Other languages
Japanese (ja)
Other versions
JP2016189168A (en
Inventor
光希 有賀
光希 有賀
延寛 坂本
延寛 坂本
佑太 本田
佑太 本田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015069646A priority Critical patent/JP6447307B2/en
Publication of JP2016189168A publication Critical patent/JP2016189168A/en
Application granted granted Critical
Publication of JP6447307B2 publication Critical patent/JP6447307B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

本発明は管理プログラム、管理装置および管理方法に関する。   The present invention relates to a management program, a management apparatus, and a management method.

情報処理装置には、オペレーティングソフト(OS:Operating System)やアプリケーションソフトウェアなどの様々なソフトウェアがインストールされる。システムの運用管理では、複数の情報処理装置が有するソフトウェアを管理装置により集中的に管理することがある。管理装置は、管理対象の情報処理装置からインベントリ情報を収集する。インベントリ情報は、OSが管理するソフトウェア名の情報や該当の情報処理装置が有するファイル名などの情報を含む。管理装置は、インベントリ情報に基づいて、各情報処理装置に存在するソフトウェアを管理し得る。   Various software such as operating software (OS) and application software is installed in the information processing apparatus. In system operation management, software included in a plurality of information processing apparatuses may be centrally managed by a management apparatus. The management device collects inventory information from the information processing device to be managed. The inventory information includes information such as software name information managed by the OS and a file name included in the corresponding information processing apparatus. The management device can manage software existing in each information processing device based on the inventory information.

利用しないソフトウェアを情報処理装置からアンインストールすることもある。例えば、OSのインストール直後の状態(初期設定)からソフトウェアがインストールされたことによる変更内容を逐次保持し、変更内容と初期設定とを用いて、ソフトウェアのインストール順序に依存することなくアンインストールを行う方法が提案されている。   Unused software may be uninstalled from the information processing apparatus. For example, the contents of changes due to the installation of software from the state immediately after the OS installation (initial settings) are sequentially retained, and the changes are performed and the initial settings are used to perform the uninstallation without depending on the software installation order. A method has been proposed.

特開平9−146764号公報JP-A-9-146664

OSには、一般にレジストリと呼ばれる管理情報によりOSやアプリケーションソフトウェアの設定情報を管理するものがある。例えば、ソフトウェアは、動作のために当該ソフトウェアの情報をレジストリに追加する。しかし、ソフトウェアのアンインストール後に、ソフトウェアの情報がレジストリに残されることがある。余計なレジストリが残ると、他のソフトウェアの動作に支障を来たすおそれがある。このため、レジストリに登録された情報を定期的に整理することが考えられる。   Some OSs manage setting information of OSs and application software by management information generally called a registry. For example, the software adds the software information to the registry for operation. However, software information may remain in the registry after software is uninstalled. If there is an extra registry, other software operations may be hindered. For this reason, it is conceivable to regularly organize information registered in the registry.

例えば、OSが管理するソフトウェア一覧を情報処理装置から取得し、当該ソフトウェア一覧に含まれるソフトウェアとレジストリとの対応付けを行うことが考えられる。何れのソフトウェアにも対応付けられていないレジストリは使用されていないと考えられ、削除候補と決定できる。   For example, it is conceivable to acquire a software list managed by the OS from the information processing apparatus and associate the software included in the software list with a registry. A registry that is not associated with any software is considered not to be used, and can be determined as a deletion candidate.

ところが、レジストリの追加を行うが、ソフトウェア一覧には含まれないソフトウェアも存在し得る。ソフトウェア一覧に含まれないソフトウェアのレジストリを削除してしまうと、当該ソフトウェアの動作に影響が及ぶ。そこで、レジストリのうち、OSのソフトウェア一覧に含まれないソフトウェアに対応する部分を特定する方法が問題となる。   However, there may be software that adds a registry but is not included in the software list. If a software registry that is not included in the software list is deleted, the operation of the software is affected. Therefore, there is a problem with a method for identifying a portion of the registry corresponding to software not included in the OS software list.

1つの側面では、本発明は、未登録のソフトウェアに対応するOS管理情報の項目群を特定する管理プログラム、管理装置および管理方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide a management program, a management apparatus, and a management method for specifying an item group of OS management information corresponding to unregistered software.

1つの態様では、管理プログラムが提供される。この管理プログラムは、コンピュータに、管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、登録ソフト情報、および、OS管理情報に基づき、複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用するOS管理情報の項目群に関する第1の管理情報を生成し、第1の管理情報、および、複数のマシンのファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在するOS管理情報の項目群を、登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する、処理を実行させる。   In one aspect, a management program is provided. The management program obtains OS management information, file information, and registered software information managed by the OS from a plurality of managed machines, respectively, and a plurality of management programs based on the registered software information and the OS management information. The first management information related to the software installed in each of the machines and the OS management information items used by the software is generated and used based on the first management information and the file information of a plurality of machines. The OS management information item group in which the software to be used is not specified and the corresponding file exists is the first group of OS management information items used by the first software not included in the registered software information. The process specified as the item group is executed.

また、1つの態様では、管理装置が提供される。この管理装置は、記憶部と演算部とを有する。記憶部は、管理対象の複数のマシンより取得された、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報を記憶する。演算部は、登録ソフト情報、および、OS管理情報に基づき、複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用するOS管理情報の項目群に関する第1の管理情報を生成し、第1の管理情報、および、複数のマシンのファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在するOS管理情報の項目群を、登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する。   In one aspect, a management device is provided. This management apparatus includes a storage unit and a calculation unit. The storage unit stores OS management information, file information, and registered software information managed by the OS, acquired from a plurality of managed machines. Based on the registered software information and the OS management information, the arithmetic unit generates first management information related to the software installed in each of the plurality of machines and the item group of the OS management information used by the software. Based on the management information of 1 and the file information of a plurality of machines, the software to be used is not specified, and the OS management information item group in which the corresponding file exists is not included in the registered software information. It is specified as a first item group which is an item group of OS management information used by one software.

また、1つの態様では、管理方法が提供される。この管理方法では、コンピュータが、管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、登録ソフト情報、および、OS管理情報に基づき、複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用するOS管理情報の項目群に関する第1の管理情報を生成し、第1の管理情報、および、複数のマシンのファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在するOS管理情報の項目群を、登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する。   In one aspect, a management method is provided. In this management method, the computer acquires OS management information, file information, and registered software information managed by the OS from a plurality of managed machines, and a plurality of computers are based on the registered software information and the OS management information. The first management information related to the software installed in each of the machines and the OS management information items used by the software is generated and used based on the first management information and the file information of a plurality of machines. The OS management information item group in which the software to be used is not specified and the corresponding file exists is the first group of OS management information items used by the first software not included in the registered software information. Specify as an item group.

1つの側面では、未登録のソフトウェアに対応するOS管理情報の項目群を特定できる。   In one aspect, an OS management information item group corresponding to unregistered software can be specified.

第1の実施の形態の管理装置を示す図である。It is a figure which shows the management apparatus of 1st Embodiment. 第2の実施の形態の情報処理システムを示す図である。It is a figure which shows the information processing system of 2nd Embodiment. 管理サーバのハードウェア例を示す図である。It is a figure which shows the hardware example of a management server. 管理サーバの機能例を示す図である。It is a figure which shows the function example of a management server. レジストリの例を示す図である。It is a figure which shows the example of a registry. ポーリングの例を示す図である。It is a figure which shows the example of polling. レジストリ管理テーブルの例を示す図である。It is a figure which shows the example of a registry management table. ソフトウェア管理テーブルの例を示す図である。It is a figure which shows the example of a software management table. フォルダ管理テーブルの例を示す図である。It is a figure which shows the example of a folder management table. 対応管理テーブルの例を示す図である。It is a figure which shows the example of a correspondence management table. 収集時刻テーブルの例を示す図である。It is a figure which shows the example of a collection time table. 管理サーバのデータ収集例を示すフローチャートである。It is a flowchart which shows the example of data collection of a management server. 対応管理テーブルの更新例を示すフローチャートである。It is a flowchart which shows the example of an update of a management table. ポーリングにより収集される情報の具体例を示す図である。It is a figure which shows the specific example of the information collected by polling. 登録ソフトウェアとレジストリとの対応付けの具体例を示す図である。It is a figure which shows the specific example of matching with registration software and a registry. フォルダ群とレジストリ群との対応付けの具体例を示す図である。It is a figure which shows the specific example of matching with a folder group and a registry group. 対応付けの対象外とするPCの決定方法の例を示す図である。It is a figure which shows the example of the determination method of PC excluded from the object of matching. 不要レジストリの判定処理を示す図である。It is a figure which shows the determination process of an unnecessary registry. 複数のソフトウェアによるレジストリの共通利用の例を示す図である。It is a figure which shows the example of common use of the registry by several software. 不要レジストリの他の判定処理を示すフローチャートである。It is a flowchart which shows the other determination processing of an unnecessary registry.

以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の管理装置を示す図である。管理装置1は、システムに含まれるソフトウェアの管理を行う。システムはマシン2,3,4を含む。管理装置1は、ネットワークを介してマシン2,3,4と通信する。マシン2,3,4は、サーバやクライアントなどの物理マシンでもよいし、物理マシン上で動作する仮想マシンでもよい。管理装置1は、マシン2,3,4からインベントリ情報を収集し、マシン2,3,4が有するソフトウェアを管理する。
Hereinafter, the present embodiment will be described with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating a management apparatus according to the first embodiment. The management device 1 manages software included in the system. The system includes machines 2, 3, and 4. The management device 1 communicates with the machines 2, 3, and 4 via the network. The machines 2, 3, and 4 may be physical machines such as servers and clients, or virtual machines that operate on the physical machines. The management apparatus 1 collects inventory information from the machines 2, 3, and 4 and manages software included in the machines 2, 3, and 4.

管理装置1は、記憶部1aおよび演算部1bを有する。記憶部1aは、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部1bは、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。   The management device 1 includes a storage unit 1a and a calculation unit 1b. The storage unit 1a may be a volatile storage device such as a RAM (Random Access Memory) or a non-volatile storage device such as an HDD (Hard Disk Drive) or a flash memory. The calculation unit 1b may include a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), and the like. The “processor” may include a set of multiple processors (multiprocessor).

記憶部1aは、マシン2,3,4から収集したインベントリ情報を記憶する。インベントリ情報は、登録ソフト情報、OSが管理するOS管理情報およびファイル情報を含む。記憶部1aは、登録ソフト情報(ソフトウェアをソフトと略記することがある)、OS管理情報およびファイル情報を、マシン2,3,4それぞれの識別情報に対応付けて記憶する。   The storage unit 1a stores inventory information collected from the machines 2, 3, and 4. The inventory information includes registered software information, OS management information managed by the OS, and file information. The storage unit 1a stores registered software information (software may be abbreviated as software), OS management information, and file information in association with identification information of each of the machines 2, 3, and 4.

ここで、登録ソフト情報は、マシン2,3,4それぞれに対応するソフトウェア一覧の情報である。ソフトウェア一覧は、マシン2,3,4で実行されるOSにより管理されるソフトウェア名の一覧である。当該OSによる管理対象外のソフトウェアがマシン2,3,4にインストールされていても、登録ソフト情報には含まれないことになる。   Here, the registered software information is software list information corresponding to each of the machines 2, 3, and 4. The software list is a list of software names managed by the OS executed on the machines 2, 3, and 4. Even if software that is not managed by the OS is installed in the machines 2, 3, and 4, it is not included in the registered software information.

例えば、ソフトウェアのインストール時に、当該ソフトウェアが、OSにより管理されるソフトウェア一覧の情報に自ソフトウェアの情報を登録していれば、ソフトウェア一覧に当該ソフトウェアが登録される。一方、ソフトウェアのインストール時に、当該ソフトウェアが、OSにより管理されるソフトウェア一覧の情報に自ソフトウェアの情報を登録しなければ、ソフトウェア一覧に当該ソフトウェアは登録されない。   For example, when software is installed, if the software registers its own software information in the software list information managed by the OS, the software is registered in the software list. On the other hand, when software is installed, the software is not registered in the software list unless the software registers the software information in the software list information managed by the OS.

OS管理情報は、マシン2,3,4それぞれのOSが管理する情報を含む。例えば、OS管理情報はレジストリ情報と呼ばれるものでもよい。レジストリは、マシン2,3,4それぞれが実行するOSに関する基本情報やアプリケーションソフトウェアの設定情報などである。レジストリは、例えばキーと値とを含む。レジストリ情報はレジストリの集合である。キーは値の格納場所を示す情報であり、ツリー構造をもつ。値はキーに対する具体的な設定値である。レジストリ情報の全体に対する部分をレジストリ範囲と称することがある。OS管理情報は、レジストリのような設定情報の複数の項目の集合である。例えば、以下に示すOS管理情報の項目群の指定は、OS管理情報の範囲(例えば、レジストリ範囲)を特定することで行われてもよい。例えば、項目が特定のツリーの配下すべてに該当する場合は、項目すべてをそれぞれ指定するのではなく、ツリーの上位項目を範囲指定することにより、項目群を特定してもよい。   The OS management information includes information managed by the OS of each of the machines 2, 3, and 4. For example, the OS management information may be called registry information. The registry includes basic information related to the OS executed by each of the machines 2, 3, 4, application software setting information, and the like. The registry includes, for example, a key and a value. Registry information is a collection of registries. The key is information indicating the storage location of the value and has a tree structure. The value is a specific setting value for the key. A portion of the entire registry information may be referred to as a registry range. The OS management information is a set of a plurality of items of setting information such as a registry. For example, the specification of an OS management information item group shown below may be performed by specifying a range (for example, a registry range) of OS management information. For example, when an item falls under all of a specific tree, an item group may be specified by specifying a range of upper items in the tree instead of specifying all the items.

ファイル情報は、マシン2,3,4それぞれが有するファイルのファイル名およびファイルが格納されているフォルダ(ディレクトリと呼ばれるものでもよい)を示すパスの情報を含む。ファイル情報は、ファイル名を含む。   The file information includes the file name of each of the machines 2, 3, and 4 and the path information indicating the folder in which the file is stored (may be called a directory). The file information includes a file name.

演算部1bは、管理対象のマシン2,3,4より、OS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、記憶部1aに格納する。例えば、演算部1bは、あるタイミングにおいて、OS管理情報、ファイル情報および登録ソフト情報をマシン2,3,4から取得する。   The calculation unit 1b acquires OS management information, file information, and registered software information from the managed machines 2, 3, and 4, and stores them in the storage unit 1a. For example, the computing unit 1b acquires OS management information, file information, and registered software information from the machines 2, 3, and 4 at a certain timing.

演算部1bは、記憶部1aに記憶された登録ソフト情報、および、OS管理情報に基づき、複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する項目群を特定する。   Based on the registered software information and the OS management information stored in the storage unit 1a, the calculation unit 1b specifies software installed on each of a plurality of machines and an item group used by the software.

例えば、演算部1bは、あるタイミングにおいて、マシン2,3,4から収集した登録ソフト情報に基づいて、マシン2,3に対してソフトウェアAが新たにインストールされたことを検出する。ただし、前述のように登録ソフト情報から検出できるのはOSのソフトウェア一覧の情報に含まれるソフトウェアであり、OSのソフトウェア一覧の情報に含まれないソフトウェアは検出されない。例えば、演算部1bは、マシン4に対して新たにインストールされたソフトウェアを検出しない。   For example, the arithmetic unit 1b detects that the software A is newly installed in the machines 2 and 3 based on the registered software information collected from the machines 2, 3 and 4 at a certain timing. However, as described above, software that can be detected from the registered software information is software included in the OS software list information, and software that is not included in the OS software list information is not detected. For example, the calculation unit 1b does not detect software newly installed in the machine 4.

演算部1bは、OS管理情報に基づいて、マシン2,3,4それぞれに項目が追加されたことを検出する。演算部1bは、マシン2,3に追加された項目同士を比較し、重複する部分(項目群R1)をソフトウェアAに対応付ける。項目群R1は、マシン2,3に追加された項目のうち、同一の情報(例えば、レジストリのキーおよび値)をもつ項目の集合である。例えば、通常、ソフトウェアは、自ソフトウェアに関する情報(例えば、動作用の設定情報など)をインストール時にOS管理情報へ追加する。よって、あるタイミングでの情報収集により、複数のマシンへのソフトウェアAの追加が検出され、同じ複数のマシンでOS管理情報の追加が検出されたとき、同複数のマシンでの当該OS管理情報の重複部分はソフトウェアAに対応するものである可能性が高い。このため、項目群R1をソフトウェアAに対応付けることができる。   The computing unit 1b detects that an item has been added to each of the machines 2, 3, and 4 based on the OS management information. The computing unit 1b compares the items added to the machines 2 and 3, and associates the overlapping portion (item group R1) with the software A. The item group R1 is a set of items having the same information (for example, registry keys and values) among items added to the machines 2 and 3. For example, normally, software adds information related to its own software (for example, setting information for operation) to the OS management information at the time of installation. Accordingly, when the addition of software A to a plurality of machines is detected by collecting information at a certain timing, and the addition of OS management information is detected on the same plurality of machines, the OS management information on the plurality of machines is detected. There is a high possibility that the overlapping portion corresponds to software A. Therefore, the item group R1 can be associated with the software A.

演算部1bは、ソフトウェアAが使用するOS管理情報の項目群R1に関する第1の管理情報を生成する。
すると、演算部1bは、マシン2に対して追加されたOS管理情報のうち、使用するソフトウェアが特定されていない項目群R2を検出する。また、演算部1bは、マシン4に対しても、使用するソフトウェアが特定されていないOS管理情報の項目群を検出する。演算部1bは、マシン3に対しては、使用するソフトウェアが特定されていないOS管理情報を検出しない。
The computing unit 1b generates first management information related to the item group R1 of the OS management information used by the software A.
Then, the computing unit 1b detects an item group R2 in which the software to be used is not specified among the OS management information added to the machine 2. Further, the computing unit 1b also detects a group of items of OS management information for which the software to be used is not specified for the machine 4. The computing unit 1b does not detect the OS management information for which the software to be used is not specified for the machine 3.

演算部1bは、第1の管理情報、および、複数のマシンのファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在するOS管理情報の項目群を、登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する。   Based on the first management information and the file information of a plurality of machines, the calculation unit 1b registers an item group of OS management information in which the software to be used is not specified and the corresponding file exists. It is specified as a first item group which is an item group of OS management information used by the first software not included in the information.

例えば、演算部1bは、マシン2における項目群R2とマシン4において追加されたOS管理情報との重複部分を取得する。一例として、演算部1bは、項目群R2を重複部分として取得する。   For example, the arithmetic unit 1b acquires an overlapping portion between the item group R2 in the machine 2 and the OS management information added in the machine 4. As an example, the calculation unit 1b acquires the item group R2 as an overlapping portion.

マシン2,4において同じ項目群R2が追加されたということは、登録ソフト情報には含まれない何らかのソフトウェアが、マシン2,4に対して新たにインストールされたことを示唆する。そこで、演算部1bは、マシン2,3,4のファイル情報を参照し、追加されたフォルダ群のうち、マシン2,4でのみ共通するフォルダ群を取得する。   The addition of the same item group R2 in the machines 2 and 4 suggests that some software not included in the registered software information is newly installed in the machines 2 and 4. Therefore, the computing unit 1b refers to the file information of the machines 2, 3, and 4 and acquires a folder group that is common only to the machines 2 and 4 among the added folder groups.

例えば、演算部1bは、マシン2について、互いに重複しないフォルダ群F1,F2を特定する。フォルダ群F1,F2が重複しないとは、両フォルダ群が同じパスで指定されるフォルダを含まないことを示す。演算部1bは、マシン3について、フォルダ群F11を特定する。フォルダ群F11は、フォルダ群F1の一部分である。演算部1bは、マシン4について、互いに重複しないフォルダ群F12,F2,F3を特定する。フォルダ群F12は、フォルダ群F11の一部分である。また、フォルダ群F3はフォルダ群F1とも重複しない。よって、演算部1bは、マシン2,4でのみ共通するフォルダ群として、フォルダ群F2を取得する。この場合、項目群R2に対応するファイル(フォルダ群F2に格納されたファイル)が存在することになる。   For example, the computing unit 1b identifies folder groups F1 and F2 that do not overlap each other for the machine 2. The fact that the folder groups F1 and F2 do not overlap indicates that both folder groups do not include a folder designated by the same path. The computing unit 1b identifies the folder group F11 for the machine 3. The folder group F11 is a part of the folder group F1. The computing unit 1b identifies folder groups F12, F2, and F3 that do not overlap each other for the machine 4. The folder group F12 is a part of the folder group F11. Further, the folder group F3 does not overlap with the folder group F1. Therefore, the calculation unit 1b acquires the folder group F2 as a folder group that is common only to the machines 2 and 4. In this case, a file corresponding to the item group R2 (file stored in the folder group F2) exists.

演算部1bは、フォルダ群F2を第1のソフトウェア(すなわち、登録ソフト情報に未登録のソフトウェア)に対応するフォルダ群であると特定する。そして、演算部1bは、フォルダ群F2を項目群R2に対応付ける。これにより、第1のソフトウェアと項目群R2とが対応付けられる。すなわち、演算部1bは、項目群R2を、第1のソフトウェア(未登録のソフトウェア)が使用するレジストリ範囲として特定する。   The calculation unit 1b identifies the folder group F2 as a folder group corresponding to the first software (that is, software not registered in the registered software information). Then, the calculation unit 1b associates the folder group F2 with the item group R2. Thereby, the first software is associated with the item group R2. That is, the calculation unit 1b specifies the item group R2 as a registry range used by the first software (unregistered software).

なお、例えば、演算部1bは、マシン4に対して、追加されたOS管理情報のうち項目群R2を除いた部分である項目群R3を取得することもある。この場合、演算部1bは、項目群R3について、次回以降の情報収集で取得された情報、あるいは、マシン2,3,4以外の他のマシンから収集された情報を用いて何れかのソフトウェアとの対応付けを行ってもよい。   For example, the calculation unit 1b may acquire the item group R3, which is a part of the added OS management information excluding the item group R2, from the machine 4. In this case, the calculation unit 1b uses the information acquired in the subsequent information collection for the item group R3 or the information collected from the other machines other than the machines 2, 3, and 4 May be associated.

これにより、未登録のソフトウェアに対応するOS管理情報の項目群を特定できる。また、当該項目群をOS管理情報の整理対象から除外することができる。例えば、上記の例において、項目群R2を整理対象とし、項目群R2を削除してしまうと、登録ソフト情報には含まれないが項目群R2を使用する未登録のソフトウェアの動作に支障を来たすおそれがある。そこで、演算部1bは、登録ソフト情報に含まれるソフトウェアに対応付けられなかった項目群についても、マシン2,3,4から収集したファイル情報によって、未登録のソフトウェアに対応付ける。これにより、未登録のソフトウェアが使用する項目群R2を整理対象から除外できる。   As a result, it is possible to specify an OS management information item group corresponding to unregistered software. Also, the item group can be excluded from the OS management information organizing target. For example, in the above example, if the item group R2 is targeted for arrangement and the item group R2 is deleted, the operation of unregistered software that is not included in the registered software information but uses the item group R2 is hindered. There is a fear. Therefore, the calculation unit 1b also associates an item group that is not associated with the software included in the registered software information with the unregistered software using the file information collected from the machines 2, 3, and 4. Thereby, the item group R2 used by unregistered software can be excluded from the objects to be organized.

また、演算部1bは、未登録のソフトウェアとOS管理情報の項目群とを対応付けた情報から、不要になった項目群を特定することもできる。例えば、項目群R2とフォルダ群F2とを対応付けた後に、マシン2においてフォルダ群F2が削除され、項目群R2が削除されずに残ったとする。この場合、項目群R2を使用するソフトウェア(未登録のソフトウェア)はマシン2からアンインストールされたと判断できる。よって、演算部1bは、項目群R2を削除対象と決定する。演算部1bは、項目群R2を削除することで、OS管理情報の不要な項目群がマシン2に残ることを防げる。その結果、不要な項目群による他のソフトウェアの動作への影響を抑えられる。   The computing unit 1b can also specify an unnecessary item group from information in which unregistered software is associated with an item group of OS management information. For example, assume that after associating the item group R2 and the folder group F2, the folder group F2 is deleted on the machine 2 and the item group R2 remains without being deleted. In this case, it can be determined that the software (unregistered software) that uses the item group R2 has been uninstalled from the machine 2. Accordingly, the calculation unit 1b determines the item group R2 as a deletion target. The calculation unit 1b can prevent the unnecessary item group of the OS management information from remaining in the machine 2 by deleting the item group R2. As a result, it is possible to suppress the influence of unnecessary items on the operation of other software.

例えば、不要な項目群を削除できるため、アンインストールしたソフトウェアの再インストール時や関連する別のソフトウェアのインストール時に、OS管理情報に不要な項目群が残っていることに起因する不具合の発生を抑えられる。   For example, since unnecessary items can be deleted, it is possible to suppress the occurrence of problems caused by unnecessary items remaining in the OS management information when reinstalling uninstalled software or installing other related software. It is done.

[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、管理サーバ100およびPC(Personal Computer)200,200a,200b,200c,200dを含む。管理サーバ100は、ネットワーク10を介して、PC200,200a,200b,200c,200dと接続されている。ネットワーク10は、例えばLAN(Local Area Network)である。
[Second Embodiment]
FIG. 2 illustrates an information processing system according to the second embodiment. The information processing system according to the second embodiment includes a management server 100 and PCs (Personal Computers) 200, 200a, 200b, 200c, and 200d. The management server 100 is connected to the PCs 200, 200a, 200b, 200c, and 200d via the network 10. The network 10 is, for example, a LAN (Local Area Network).

管理サーバ100は、PC200,200a,200b,200c,200dを管理するサーバコンピュータである。管理サーバ100は、PC200,200a,200b,200c,200dからインベントリ情報を定期的に収集し、PC200,200a,200b,200c,200dにインストールされたソフトウェアを管理する。   The management server 100 is a server computer that manages the PCs 200, 200a, 200b, 200c, and 200d. The management server 100 periodically collects inventory information from the PCs 200, 200a, 200b, 200c, and 200d, and manages software installed in the PCs 200, 200a, 200b, 200c, and 200d.

PC200,200a,200b,200c,200dは、ユーザが操作するクライアントコンピュータである。PC200,200a,200b,200c,200dは、管理サーバ100からインベントリ情報の収集要求を受信すると、要求に応じてインベントリ情報を管理サーバ100に送信する。   The PCs 200, 200a, 200b, 200c, and 200d are client computers operated by the user. When receiving the inventory information collection request from the management server 100, the PCs 200, 200a, 200b, 200c, and 200d transmit the inventory information to the management server 100 in response to the request.

PC200,200a,200b,200c,200dには、様々なソフトウェアがインストールされ得る。また、PC200,200a,200b,200c,200dには、様々なレジストリやファイルなどの情報が追加され得る。管理サーバ100は、PC200,200a,200b,200c,200dからインベントリ情報を収集することで、PC200,200a,200b,200c,200dのOSが管理するソフトウェアの一覧や追加されたレジストリおよびファイルの情報を管理する。   Various software can be installed in the PCs 200, 200a, 200b, 200c, and 200d. Information such as various registries and files may be added to the PCs 200, 200a, 200b, 200c, and 200d. The management server 100 collects inventory information from the PCs 200, 200a, 200b, 200c, and 200d, thereby obtaining a list of software managed by the OS of the PCs 200, 200a, 200b, 200c, and 200d and information on the added registry and files. to manage.

図3は、管理サーバのハードウェア例を示す図である。管理サーバ100は、プロセッサ101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。各ユニットが管理サーバ100のバスに接続されている。   FIG. 3 is a diagram illustrating a hardware example of the management server. The management server 100 includes a processor 101, a RAM 102, an HDD 103, an image signal processing unit 104, an input signal processing unit 105, a medium reader 106, and a communication interface 107. Each unit is connected to the bus of the management server 100.

プロセッサ101は、管理サーバ100全体を制御する。プロセッサ101は、複数のプロセッシング要素を含むマルチプロセッサであってもよい。プロセッサ101は、例えばCPU、DSP、ASICまたはFPGAなどである。また、プロセッサ101は、CPU、DSP、ASIC、FPGAなどのうちの2以上の要素の組み合わせであってもよい。   The processor 101 controls the entire management server 100. The processor 101 may be a multiprocessor including a plurality of processing elements. The processor 101 is, for example, a CPU, DSP, ASIC, or FPGA. The processor 101 may be a combination of two or more elements among a CPU, a DSP, an ASIC, an FPGA, and the like.

RAM102は、管理サーバ100の主記憶装置である。RAM102は、プロセッサ101に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM102は、プロセッサ101による処理に用いる各種データを記憶する。   The RAM 102 is a main storage device of the management server 100. The RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the processor 101. The RAM 102 stores various data used for processing by the processor 101.

HDD103は、管理サーバ100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。管理サーバ100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。   The HDD 103 is an auxiliary storage device of the management server 100. The HDD 103 magnetically writes and reads data to and from the built-in magnetic disk. The HDD 103 stores an OS program, application programs, and various data. The management server 100 may include other types of auxiliary storage devices such as flash memory and SSD (Solid State Drive), or may include a plurality of auxiliary storage devices.

画像信号処理部104は、プロセッサ101からの命令に従って、管理サーバ100に接続されたディスプレイ11に画像を出力する。ディスプレイ11としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイなど各種のディスプレイを用いることができる。管理サーバ100は、ディスプレイ11を一体に備えてもよい。   The image signal processing unit 104 outputs an image to the display 11 connected to the management server 100 in accordance with an instruction from the processor 101. As the display 11, various displays such as a CRT (Cathode Ray Tube) display, a liquid crystal display (LCD), and an organic EL (Electro-Luminescence) display can be used. The management server 100 may include the display 11 integrally.

入力信号処理部105は、管理サーバ100に接続された入力デバイス12から入力信号を取得し、プロセッサ101に出力する。入力デバイス12としては、マウスやタッチパネルなどのポインティングデバイスやキーボードなどの各種の入力デバイスを用いることができる。管理サーバ100には、複数の種類の入力デバイスが接続されてもよい。管理サーバ100は、入力デバイス12を一体に備えてもよい。   The input signal processing unit 105 acquires an input signal from the input device 12 connected to the management server 100 and outputs it to the processor 101. As the input device 12, various input devices such as a pointing device such as a mouse and a touch panel and a keyboard can be used. A plurality of types of input devices may be connected to the management server 100. The management server 100 may integrally include the input device 12.

媒体リーダ106は、記録媒体13に記録されたプログラムやデータを読み取る装置である。記録媒体13として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。また、記録媒体13として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することもできる。媒体リーダ106は、例えば、プロセッサ101からの命令に従って、記録媒体13から読み取ったプログラムやデータをRAM102またはHDD103に格納する。   The medium reader 106 is a device that reads programs and data recorded on the recording medium 13. As the recording medium 13, for example, a magnetic disk such as a flexible disk (FD) or an HDD, an optical disk such as a CD (Compact Disc) or a DVD (Digital Versatile Disc), or a magneto-optical disk (MO) is used. Can be used. Further, as the recording medium 13, for example, a non-volatile semiconductor memory such as a flash memory card can be used. For example, the medium reader 106 stores the program and data read from the recording medium 13 in the RAM 102 or the HDD 103 in accordance with an instruction from the processor 101.

通信インタフェース107は、ネットワーク10を介して、PC200,200a,200b,200c,200dと通信を行う。通信インタフェース107は、有線通信インタフェースでもよいし、無線通信インタフェースでもよい。   The communication interface 107 communicates with the PCs 200, 200a, 200b, 200c, and 200d via the network 10. The communication interface 107 may be a wired communication interface or a wireless communication interface.

なお、PC200,200a,200b,200c,200dも管理サーバ100と同様のハードウェアにより実現できる。
図4は、管理サーバの機能例を示す図である。管理サーバ100は、記憶部110、収集部120、差分抽出部130、分析部140および不要レジストリ判定部150を有する。記憶部110は、例えば、RAM102またはHDD103に確保した記憶領域として実現できる。収集部120、差分抽出部130、分析部140および不要レジストリ判定部150は、例えば、プロセッサ101が実行するプログラムのモジュールとして実現できる。
The PCs 200, 200a, 200b, 200c, and 200d can also be realized by the same hardware as the management server 100.
FIG. 4 is a diagram illustrating an example of functions of the management server. The management server 100 includes a storage unit 110, a collection unit 120, a difference extraction unit 130, an analysis unit 140, and an unnecessary registry determination unit 150. The storage unit 110 can be realized as a storage area secured in the RAM 102 or the HDD 103, for example. The collection unit 120, the difference extraction unit 130, the analysis unit 140, and the unnecessary registry determination unit 150 can be realized as a program module executed by the processor 101, for example.

記憶部110は、レジストリ管理テーブル、ソフトウェア管理テーブル、フォルダ管理テーブル、対応管理テーブルおよび収集時刻テーブルを記憶する。レジストリ管理テーブルは、各PCから収集したレジストリ情報の管理に用いられるテーブルである。ソフトウェア管理テーブルは、各PCから収集したソフトウェア一覧の管理に用いられるテーブルである。フォルダ管理テーブルは、各PCから収集したフォルダ情報の管理に用いられるテーブルである。フォルダ情報は、各PCから収集されるファイル情報(ファイルのパスを含む)から取得することもできる(すなわち、フォルダ情報はファイル情報の一例と考えることができる)。対応管理テーブルは、PCが有するソフトウェアまたはフォルダとレジストリとの対応関係の管理に用いられるテーブルである。収集時刻テーブルは、各PCからレジストリ情報、ソフトウェア一覧、フォルダ情報を収集した時刻の管理に用いられるテーブルである。   The storage unit 110 stores a registry management table, a software management table, a folder management table, a correspondence management table, and a collection time table. The registry management table is a table used for managing registry information collected from each PC. The software management table is a table used for managing a software list collected from each PC. The folder management table is a table used for managing folder information collected from each PC. The folder information can also be obtained from file information (including the file path) collected from each PC (that is, the folder information can be considered as an example of file information). The correspondence management table is a table used for managing the correspondence relationship between the software or folder of the PC and the registry. The collection time table is a table used for managing the time at which registry information, software list, and folder information are collected from each PC.

ここで、レジストリ情報は、各PCで動作するOSに関する基本情報やアプリケーションソフトウェアの設定情報などを含む。ソフトウェア一覧は、各PCのOSによって管理される登録済みのソフトウェア(以下の説明において、登録ソフトウェアと称することがある)の一覧である。ソフトウェア一覧は、OSによって管理されない未登録のソフトウェア(以下の説明において、未登録ソフトウェアと称することがある)を含まない。   Here, the registry information includes basic information related to the OS running on each PC, application software setting information, and the like. The software list is a list of registered software (sometimes referred to as registered software in the following description) managed by the OS of each PC. The software list does not include unregistered software (sometimes referred to as unregistered software in the following description) that is not managed by the OS.

あるソフトウェアがOSのソフトウェア一覧に登録されるか否かは、当該ソフトウェアのインストール時の動作によって決まる。例えば、ソフトウェアのインストーラが、OSにより管理されるソフトウェア一覧の情報に自ソフトウェアのソフトウェア名を登録すれば、当該ソフトウェア名がOSのソフトウェア一覧に登録される。一方、ソフトウェアのインストーラが、OSにより管理されるソフトウェア一覧の情報に自ソフトウェアのソフトウェア名を登録しなければ、当該ソフトウェア名はOSのソフトウェア一覧には登録されない。   Whether or not certain software is registered in the software list of the OS depends on the operation at the time of installation of the software. For example, if the software installer registers the software name of its own software in the software list information managed by the OS, the software name is registered in the OS software list. On the other hand, if the software installer does not register the software name of its own software in the software list information managed by the OS, the software name is not registered in the OS software list.

また、記憶部110は、収集部120が各PCからレジストリ情報、ソフトウェア一覧およびフォルダ情報を収集するスケジュールの情報を記憶する。例えば、収集のスケジュールは、1日1回(例えば、1日のうちのある時刻)など、スケジュールの情報によって予め定められる。   The storage unit 110 also stores schedule information for the collection unit 120 to collect registry information, software list, and folder information from each PC. For example, the collection schedule is determined in advance by schedule information such as once a day (for example, a certain time of the day).

収集部120は、各PCからレジストリ情報、ソフトウェア一覧およびフォルダ情報を定期的に収集する。収集処理をポーリングと称することがある。収集部120は、収集した各情報をレジストリ管理テーブル、ソフトウェア管理テーブル、フォルダ管理テーブルに登録する。また、収集部120は、各PCから各情報を収集した時刻を収集時刻テーブルに登録する。   The collection unit 120 periodically collects registry information, software list, and folder information from each PC. The collection process may be referred to as polling. The collection unit 120 registers each collected information in the registry management table, software management table, and folder management table. Further, the collection unit 120 registers the time at which each piece of information is collected from each PC in the collection time table.

差分抽出部130は、今回収集したレジストリ情報、ソフトウェア一覧およびフォルダ情報と前回収集したレジストリ情報、ソフトウェア一覧およびフォルダ情報との差分を抽出する。具体的には、差分抽出部130は、前回収集した情報の中には含まれないが、今回収集した情報の中には含まれるレジストリ、登録ソフトウェアおよびフォルダを、レジストリ、登録ソフトウェアおよびフォルダの増加分として抽出する。   The difference extraction unit 130 extracts a difference between the currently collected registry information, software list, and folder information and the previously collected registry information, software list, and folder information. Specifically, the difference extraction unit 130 increases the number of registries, registered software, and folders that are not included in the previously collected information but are included in the information collected this time. Extract as minutes.

分析部140は、レジストリと登録ソフトウェアとの対応付けを行い、記憶部110に記憶された対応管理テーブルを更新する。具体的には、分析部140は、レジストリ情報の増加分とソフトウェア一覧の増加分に基づいて、登録ソフトウェアに対応するレジストリを特定する。分析部140は、登録ソフトウェアとレジストリとの対応関係を対応管理テーブルに登録する。   The analysis unit 140 associates the registry with the registered software, and updates the correspondence management table stored in the storage unit 110. Specifically, the analysis unit 140 identifies the registry corresponding to the registered software based on the increase in the registry information and the increase in the software list. The analysis unit 140 registers the correspondence relationship between the registered software and the registry in the correspondence management table.

分析部140は、何れの登録ソフトウェアにも対応付けられなかったレジストリ情報のうち、PC間で共通するレジストリ群(未対応のレジストリ群)を特定する。ここで、レジストリ群は、第1の実施の形態のOS管理情報の項目群の一例である。そして、分析部140は、特定された当該レジストリを、未登録ソフトウェアに対応付ける。まず、分析部140は、各PCのフォルダ情報の増加分に基づいて、未登録ソフトウェアに対応するフォルダ群を特定する。   The analysis unit 140 identifies a registry group (uncorresponding registry group) that is common between PCs, out of registry information that is not associated with any registered software. Here, the registry group is an example of an item group of OS management information according to the first embodiment. Then, the analysis unit 140 associates the identified registry with unregistered software. First, the analysis unit 140 identifies a folder group corresponding to unregistered software based on the increase in the folder information of each PC.

具体的には、分析部140は、あるタイミングで収集したフォルダ情報の増分のうち、何れの登録ソフトウェアにも対応付けられなかったレジストリ情報をもつPCのみで共通するフォルダを未登録ソフトウェアに対応するフォルダ群と特定する。なお、何れの登録ソフトウェアにも対応付けられなかったレジストリ情報をもつPCを、未登録ソフトウェアをもつPCと考えることができる。分析部140は、特定したフォルダ群と未対応のレジストリ群との対応関係を、対応管理テーブルに登録する。特定したフォルダ群は未登録ソフトウェアに対応するものなので、未登録ソフトウェアと未対応のレジストリ群とが、対応管理テーブル上で関連付けられることになる。   Specifically, the analysis unit 140 corresponds to a folder that is common only to PCs having registry information that is not associated with any registered software among the increments of folder information collected at a certain timing, to the unregistered software. Specify a folder group. A PC having registry information that is not associated with any registered software can be considered as a PC having unregistered software. The analysis unit 140 registers the correspondence relationship between the specified folder group and the unsupported registry group in the correspondence management table. Since the specified folder group corresponds to unregistered software, the unregistered software and the unsupported registry group are associated on the correspondence management table.

不要レジストリ判定部150は、記憶部110に記憶された対応管理テーブルに基づいて、不要レジストリの判定を行う。具体的には、不要レジストリ判定部150は、対応管理テーブルに登録された情報から、あるPCにおいて、ソフトウェア一覧になく、かつ、対応するフォルダも存在しないが、レジストリのみが残っているソフトウェア(未検出ソフトウェアと称することがある)を特定する。未検出ソフトウェアは、既にアンインストールされたソフトウェアであるが、削除漏れなどにより、対応するレジストリのみが残っているソフトウェアである。当該レジストリが残っていると、他のソフトウェアの動作に影響を与える可能性があるため、不要レジストリ判定部150は、当該レジストリが残っているPCに不要レジストリの削除指示を行う。削除指示を受けたPCは、指示された不要レジストリを削除する。   The unnecessary registry determination unit 150 determines an unnecessary registry based on the correspondence management table stored in the storage unit 110. Specifically, the unnecessary registry determination unit 150 determines that software registered in the correspondence management table does not exist in the software list and does not have a corresponding folder in a certain PC, but the software in which only the registry remains (unregistered). (Sometimes referred to as detection software). Undetected software is software that has already been uninstalled, but only the corresponding registry remains due to omission of deletion or the like. If the registry remains, the operation of other software may be affected. Therefore, the unnecessary registry determination unit 150 instructs the PC on which the registry remains to instruct deletion of the unnecessary registry. The PC that has received the delete instruction deletes the specified unnecessary registry.

図5は、レジストリの例を示す図である。レジストリ20は、キーおよび値を含む。値は、データ名およびデータを含む。キーは、ツリー構造により値の格納場所を指定する情報である。値に含まれるデータ名は、レジストリに登録されたデータの名称(例えば、“DM Group”など)である。値に含まれるデータは、データの設定値(例えば、“5”など)である。データの設定値として、データ名“DM FullPath Name”のようにファイル名“C:\Sw\mpw.dm”が設定されることもある。なお、当該ファイル名はフルパスで指定されており、“C:\Sw\”の部分(パス部分)は、当該ファイルを格納しているフォルダを示している。   FIG. 5 is a diagram illustrating an example of a registry. Registry 20 includes keys and values. The value includes a data name and data. The key is information that specifies a storage location of a value by a tree structure. The data name included in the value is the name of data registered in the registry (for example, “DM Group”). The data included in the value is a data setting value (for example, “5”, etc.). As a data setting value, a file name “C: \ Sw \ mpw.dm” may be set like a data name “DM FullPath Name”. Note that the file name is specified by a full path, and the portion “C: \ Sw \” (path portion) indicates a folder in which the file is stored.

図6は、ポーリングの例を示す図である。図6では、収集部120が定期的にPC200からレジストリ情報31およびソフトウェア一覧32を収集する例を示している。例えば、収集部120は、スケジュールされた時刻T1,T2,T3にPC200からレジストリ情報31およびソフトウェア一覧32を収集する(ポーリング)。なお、図示を省略しているが、収集部120は、時刻T1,T2,T3においてPC200からフォルダ情報も収集する。ポーリングの時刻によって、収集される情報は異なる。時間の経過とともに、PC200に対してソフトウェアがインストールされたりアンインストールされたりするからである。   FIG. 6 is a diagram illustrating an example of polling. FIG. 6 shows an example in which the collection unit 120 periodically collects the registry information 31 and the software list 32 from the PC 200. For example, the collection unit 120 collects the registry information 31 and the software list 32 from the PC 200 at a scheduled time T1, T2, T3 (polling). Although not shown, the collection unit 120 also collects folder information from the PC 200 at times T1, T2, and T3. The collected information varies depending on the polling time. This is because software is installed or uninstalled with respect to the PC 200 as time passes.

例えば、時刻T2に収集されたレジストリ情報31には、ソフトウェアA,B,C,Dに関するレジストリが含まれる。時刻T2に収集されたソフトウェア一覧32には、ソフトウェアA,Bが含まれる。なお、ソフトウェアDは未登録ソフトウェアである。このため、時刻T2に収集されたソフトウェア一覧32にはソフトウェアDが含まれない。また、時刻T2に収集されたソフトウェア一覧32にはソフトウェアCが含まれない。時刻T2の時点でアンインストールされているためである。また、時刻T2に収集されたレジストリ情報31にソフトウェアCのレジストリが含まれるのは、ソフトウェアCのアンインストール時に、ソフトウェアCのレジストリが削除されずに残ったためである。   For example, the registry information 31 collected at time T2 includes registries relating to software A, B, C, and D. The software list 32 collected at time T2 includes software A and B. Note that software D is unregistered software. For this reason, the software list 32 collected at time T2 does not include the software D. The software list 32 collected at time T2 does not include software C. This is because it is uninstalled at the time T2. The reason why the registry of software C is included in the registry information 31 collected at time T2 is that the registry of software C remains without being deleted when the software C is uninstalled.

なお、図6では、説明を分かりやすくするため、便宜的に“ソフトウェアAに関するレジストリ”などとレジストリをソフトウェア名でラベルしている。しかし、収集部120がレジストリ情報31およびソフトウェア一覧32を収集した時点では、管理サーバ100は、ソフトウェアとレジストリとの対応関係を把握していない。   In FIG. 6, for convenience of explanation, the registry is labeled with a software name such as “registry for software A” for convenience. However, when the collection unit 120 collects the registry information 31 and the software list 32, the management server 100 does not grasp the correspondence between the software and the registry.

図7は、レジストリ管理テーブルの例を示す図である。レジストリ管理テーブル111,111aは、記憶部110に格納される。レジストリ管理テーブル111は、今回(今回のポーリング時に)収集されたレジストリ情報である。レジストリ管理テーブル111aは、前回(前回のポーリング時に)収集されたレジストリ情報である。記憶部110は、レジストリ管理テーブル111,111aにより、少なくとも最新の2回分のレジストリ情報を記憶する。以下では、レジストリ管理テーブル111に登録される情報を例示するが、レジストリ管理テーブル111aにも同様の情報が登録される。   FIG. 7 is a diagram illustrating an example of a registry management table. The registry management tables 111 and 111a are stored in the storage unit 110. The registry management table 111 is registry information collected this time (at the time of this polling). The registry management table 111a is registry information collected last time (at the time of the previous polling). The storage unit 110 stores at least the latest two registry information by the registry management tables 111 and 111a. In the following, information registered in the registry management table 111 is exemplified, but similar information is also registered in the registry management table 111a.

レジストリ管理テーブル111は、マシンID(IDentifier)およびレジストリの項目を含む。マシンIDの項目には、PCの識別情報(マシンID)が登録される。レジストリの項目には、レジストリのキーおよび値を示す情報が登録される。   The registry management table 111 includes machine ID (IDentifier) and registry items. PC identification information (machine ID) is registered in the machine ID item. In the registry item, information indicating a registry key and value is registered.

例えば、レジストリ管理テーブル111には、マシンIDが“PC1”およびレジストリが“RG11”という情報が登録される。これは、PC200(マシンID“PC1”)から今回収集されたレジストリ情報に、レジストリ“RG11”が含まれていることを示す。レジストリ管理テーブル111には、PC200のレジストリ情報に含まれる複数のレジストリが登録される。   For example, information that the machine ID is “PC1” and the registry is “RG11” is registered in the registry management table 111. This indicates that the registry “RG11” is included in the registry information collected this time from the PC 200 (machine ID “PC1”). A plurality of registries included in the registry information of the PC 200 are registered in the registry management table 111.

また、レジストリ管理テーブル111には、PC200a,200b,200c,200dから収集されたレジストリ情報も同様に登録される。マシンID“PC2”は、PC200aのマシンIDである。マシンID“PC3”は、PC200bのマシンIDである。マシンID“PC4”は、PC200cのマシンIDである。マシンID“PC5”は、PC200dのマシンIDである。   Also, registry information collected from the PCs 200a, 200b, 200c, and 200d is similarly registered in the registry management table 111. The machine ID “PC2” is the machine ID of the PC 200a. The machine ID “PC3” is the machine ID of the PC 200b. The machine ID “PC4” is the machine ID of the PC 200c. The machine ID “PC5” is the machine ID of the PC 200d.

図8は、ソフトウェア管理テーブルの例を示す図である。ソフトウェア管理テーブル112,112aは、記憶部110に格納される。ソフトウェア管理テーブル112は、今回収集されたソフトウェア一覧である。ソフトウェア管理テーブル112aは、前回収集されたソフトウェア一覧である。記憶部110は、ソフトウェア管理テーブル112,112aにより、少なくとも最新の2回分のソフトウェア一覧を記憶する。以下では、ソフトウェア管理テーブル112に登録される情報を例示するが、ソフトウェア管理テーブル112aにも同様の情報が登録される。   FIG. 8 is a diagram illustrating an example of a software management table. The software management tables 112 and 112a are stored in the storage unit 110. The software management table 112 is a list of software collected this time. The software management table 112a is a software list collected last time. The storage unit 110 stores at least the latest two software lists by the software management tables 112 and 112a. In the following, information registered in the software management table 112 is exemplified, but similar information is also registered in the software management table 112a.

ソフトウェア管理テーブル112は、マシンIDおよびソフトウェア名の項目を含む。マシンIDの項目には、マシンIDが登録される。ソフトウェア名の項目には、ソフトウェア名が登録される。   The software management table 112 includes items of machine ID and software name. The machine ID is registered in the machine ID item. The software name is registered in the software name item.

例えば、ソフトウェア管理テーブル112には、マシンIDが“PC1”およびソフトウェア名が“SW11”という情報が登録される。これは、PC200(マシンID“PC1”)から今回収集されたソフトウェア一覧には、ソフトウェア名“SW11”のソフトウェアが含まれていることを示す。ソフトウェア管理テーブル112には、PC200のソフトウェア一覧に含まれる複数のソフトウェアが登録される。ソフトウェア管理テーブル112には、PC200a,200b,200c,200dから収集されたソフトウェア一覧も同様に登録される。   For example, information that the machine ID is “PC1” and the software name is “SW11” is registered in the software management table 112. This indicates that the software list collected this time from the PC 200 (machine ID “PC1”) includes software with the software name “SW11”. A plurality of software included in the software list of the PC 200 is registered in the software management table 112. In the software management table 112, software lists collected from the PCs 200a, 200b, 200c, and 200d are also registered.

図9は、フォルダ管理テーブルの例を示す図である。フォルダ管理テーブル113,113aは、記憶部110に格納される。フォルダ管理テーブル113は、今回収集されたフォルダ情報である。フォルダ管理テーブル113aは、前回収集されたフォルダ情報である。記憶部110は、フォルダ管理テーブル113,113aにより少なくとも最新の2回分のフォルダ情報を記憶する。以下では、フォルダ管理テーブル113に登録される情報を例示するが、フォルダ管理テーブル113aにも同様の情報が登録される。   FIG. 9 is a diagram illustrating an example of a folder management table. The folder management tables 113 and 113a are stored in the storage unit 110. The folder management table 113 is folder information collected this time. The folder management table 113a is folder information collected last time. The storage unit 110 stores at least the latest two folder information by the folder management tables 113 and 113a. In the following, information registered in the folder management table 113 is exemplified, but similar information is also registered in the folder management table 113a.

フォルダ管理テーブル113は、マシンID、フォルダ名および作成時刻の項目を含む。マシンIDの項目には、マシンIDが登録される。フォルダ名の項目には、フォルダ名が登録される。フォルダ名は、フルパスの情報を含む。作成時刻の項目には、フォルダが作成された時刻が登録される。   The folder management table 113 includes items of machine ID, folder name, and creation time. The machine ID is registered in the machine ID item. The folder name is registered in the folder name item. The folder name includes full path information. The time when the folder was created is registered in the creation time item.

例えば、フォルダ管理テーブル113には、マシンIDが“PC1”、フォルダ名が“FD11”および作成時刻が“Tc11”という情報が登録される。これは、PC200(マシンID“PC1”)から今回収集されたフォルダ情報には、フォルダ名“FD11”のフォルダが含まれていることを示す。また、フォルダ名“FD11”のフォルダがPC200において作成された時刻が“Tc11”であることを示す。フォルダ管理テーブル113には、PC200のフォルダ情報に含まれる複数のフォルダが登録される。フォルダ管理テーブル113には、PC200a,200b,200c,200dから収集されたフォルダ情報も同様に登録される。   For example, information that the machine ID is “PC1”, the folder name is “FD11”, and the creation time is “Tc11” is registered in the folder management table 113. This indicates that the folder information collected this time from the PC 200 (machine ID “PC1”) includes a folder with the folder name “FD11”. In addition, the time when the folder with the folder name “FD11” is created in the PC 200 is “Tc11”. In the folder management table 113, a plurality of folders included in the folder information of the PC 200 are registered. In the folder management table 113, folder information collected from the PCs 200a, 200b, 200c, and 200d is similarly registered.

図10は、対応管理テーブルの例を示す図である。対応管理テーブル114は、記憶部110に格納される。対応管理テーブル114は、レジストリ、ソフトウェア名およびフォルダ名の項目を含む。   FIG. 10 is a diagram illustrating an example of the correspondence management table. The correspondence management table 114 is stored in the storage unit 110. The correspondence management table 114 includes items of registry, software name, and folder name.

レジストリの項目には、レジストリのキーおよび値を示す情報が登録される。レジストリの項目には複数のレジストリ(レジストリ群)が登録され得る。ソフトウェア名の項目には、ソフトウェア名が登録される。フォルダ名の項目には、フォルダ名が登録される。フォルダ名の項目には複数のフォルダ群が登録され得る。ただし、ソフトウェア名およびフォルダ名の項目には、何れか一方に情報が登録される。例えば、ソフトウェア名が登録される場合、フォルダ名は設定なし“−”(ハイフン)となる。また、フォルダ名が登録される場合、ソフトウェア名は設定なし“−”となる。   In the registry item, information indicating a registry key and value is registered. A plurality of registries (registries) can be registered in the registry item. The software name is registered in the software name item. The folder name is registered in the folder name item. A plurality of folder groups can be registered in the folder name item. However, information is registered in either of the software name and folder name items. For example, when the software name is registered, the folder name is “−” (hyphen) without setting. When the folder name is registered, the software name is “−” without setting.

例えば、対応管理テーブル114には、レジストリが“RG11,・・・”、ソフトウェア名が“SW11”、フォルダ名が“−”という情報が登録される。これは、レジストリ群“RG11,・・・”がソフトウェア名“SW11”の登録ソフトウェアに対応することを示す。   For example, information corresponding to the registry “RG11,...”, The software name “SW11”, and the folder name “−” is registered in the correspondence management table 114. This indicates that the registry group “RG11,...” Corresponds to the registered software having the software name “SW11”.

また、対応管理テーブル114には、レジストリが“RG12,・・・”、ソフトウェア名が“−”、フォルダ名が“FD11,・・・”という情報が登録される。これは、レジストリ群“RG12,・・・”がフォルダ名“FD11,・・・”のフォルダ群に対応することを示す。   In the correspondence management table 114, information that the registry is “RG12,...”, The software name is “−”, and the folder name is “FD11,. This indicates that the registry group “RG12,...” Corresponds to the folder group with the folder name “FD11,.

図11は、収集時刻テーブルの例を示す図である。収集時刻テーブル115は、記憶部110に格納される。収集時刻テーブル115は、マシンIDおよび収集時刻の項目を含む。マシンIDの項目には、マシンIDが登録される。収集時刻の項目には、各PCに対してポーリングを行った時刻が登録される。   FIG. 11 is a diagram illustrating an example of a collection time table. The collection time table 115 is stored in the storage unit 110. The collection time table 115 includes items of machine ID and collection time. The machine ID is registered in the machine ID item. The time of polling each PC is registered in the collection time item.

例えば、収集時刻テーブル115には、マシンIDが“PC1”、収集時刻が“Tp1”という情報が登録される。これは、PC200に対して時刻“Tp1”にポーリングを行ったことを示す。   For example, information that the machine ID is “PC1” and the collection time is “Tp1” is registered in the collection time table 115. This indicates that the PC 200 has been polled at time “Tp1”.

次に、管理サーバ100により実行される処理手順を説明する。
図12は、管理サーバのデータ収集例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
Next, a processing procedure executed by the management server 100 will be described.
FIG. 12 is a flowchart illustrating an example of data collection by the management server. In the following, the process illustrated in FIG. 12 will be described in order of step number.

(S11)収集部120は、スケジュールされた時刻に達すると、PC200,200a,200b,200c,200dからデータ収集を行う(ポーリング)。収集されるデータには、レジストリ情報、ソフトウェア一覧およびフォルダ情報が含まれる。   (S11) When the scheduled time reaches the scheduled time, the collection unit 120 collects data from the PCs 200, 200a, 200b, 200c, and 200d (polling). The collected data includes registry information, software list, and folder information.

(S12)収集部120は、収集したレジストリ情報を、収集元PCのマシンIDに対応付けてレジストリ管理テーブル111に登録する。収集部120は、収集したソフトウェア一覧を、収集元PCのマシンIDに対応付けてソフトウェア管理テーブル112に登録する。収集部120は、収集したフォルダ情報を、収集元PCのマシンIDに対応付けてフォルダ管理テーブル113に登録する。収集部120は、ポーリングを行った時刻を、ポーリング対象としたPCのマシンIDに対応付けて収集時刻テーブル115に登録する。   (S12) The collection unit 120 registers the collected registry information in the registry management table 111 in association with the machine ID of the collection source PC. The collection unit 120 registers the collected software list in the software management table 112 in association with the machine ID of the collection source PC. The collection unit 120 registers the collected folder information in the folder management table 113 in association with the machine ID of the collection source PC. The collection unit 120 registers the polling time in the collection time table 115 in association with the machine ID of the PC to be polled.

(S13)差分抽出部130は、レジストリ情報、ソフトウェア一覧およびフォルダ情報について、今回のポーリング時と前回のポーリング時との差分をマシンID毎に抽出する。例えば、差分抽出部130は、レジストリ管理テーブル111,111aを比較して、レジストリ情報の差分をマシンID毎に抽出する。差分抽出部130は、ソフトウェア管理テーブル112,112aを比較して、ソフトウェア名の差分をマシンID毎に抽出する。差分抽出部130は、フォルダ管理テーブル113,113aを比較してフォルダ情報の差分をマシンID毎に抽出する。これにより、差分抽出部130は、前回ポーリング時からのレジストリ情報、ソフトウェア一覧およびフォルダ情報の増加分を取得する。   (S13) The difference extraction unit 130 extracts, for each machine ID, the difference between the current polling time and the previous polling time for the registry information, software list, and folder information. For example, the difference extraction unit 130 compares the registry management tables 111 and 111a and extracts a difference in registry information for each machine ID. The difference extraction unit 130 compares the software management tables 112 and 112a and extracts a difference in software name for each machine ID. The difference extraction unit 130 compares the folder management tables 113 and 113a and extracts the folder information difference for each machine ID. As a result, the difference extraction unit 130 acquires an increase in registry information, software list, and folder information from the previous polling time.

(S14)分析部140は、ステップS13で抽出した各情報の増加分に基づいて、登録ソフトウェアとレジストリとの対応関係を決定する。また、分析部140は、登録ソフトウェアに対応付けられなかったレジストリと未登録ソフトウェアとの対応関係を決定する。分析部140は、決定結果により対応管理テーブル114を更新する。詳細は後述される。   (S14) The analysis unit 140 determines the correspondence between the registered software and the registry based on the increment of each information extracted in step S13. The analysis unit 140 also determines the correspondence between the registry that has not been associated with the registered software and the unregistered software. The analysis unit 140 updates the correspondence management table 114 with the determination result. Details will be described later.

(S15)収集部120は、次回ポーリング時刻まで待機する。例えば、ポーリングの周期は、1日1回程度(24時間周期)である。ただし、12時間周期や48時間周期など、他の周期でもよい。そして、処理をステップS11に進める。   (S15) The collection unit 120 waits until the next polling time. For example, the polling cycle is about once a day (24-hour cycle). However, other periods such as a 12-hour period and a 48-hour period may be used. Then, the process proceeds to step S11.

図13は、対応管理テーブルの更新例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。以下の手順はステップS14に相当する。
(S21)分析部140は、レジストリとソフトウェアまたはフォルダとの対応関係の情報を対応管理テーブル114から読み出す。
FIG. 13 is a flowchart illustrating an example of updating the correspondence management table. In the following, the process illustrated in FIG. 13 will be described in order of step number. The following procedure corresponds to step S14.
(S21) The analysis unit 140 reads information on the correspondence between the registry and the software or folder from the correspondence management table 114.

(S22)分析部140は、ステップS13で抽出したソフトウェア一覧の増加分の中から複数のPCで共通するソフトウェアを特定する。分析部140は、複数のPCのソフトウェア一覧の増加分に含まれるソフトウェア名を特定することで、複数のPCで共通するソフトウェアを特定できる。   (S22) The analysis unit 140 identifies software common to a plurality of PCs from the increase in the software list extracted in step S13. The analysis unit 140 can identify software common to a plurality of PCs by identifying software names included in the increase in the software list of the plurality of PCs.

(S23)分析部140は、ステップS22で特定した共通のソフトウェアを有する複数のPCについて、ステップS13で抽出したレジストリ情報の増加分の中からレジストリの共通部分(キーおよび値がPC間で共通するレジストリ群)を検出する。レジストリの共通部分の検出は、共通のソフトウェアを有する各PCのレジストリ情報(レジストリの集合)に対するAND演算を行う処理ということもできる。このとき、例えば、共通するキーおよび値をもつレジストリが特定のツリーの配下すべてに該当する場合は、これらレジストリのすべてをそれぞれ指定するのではなく、それらのレジストリが属するツリーの上位キーを特定することにより、共通するレジストリ群を特定してもよい。この場合、該当の上位キーを指定することで、上位キーの配下の複数のレジストリを範囲指定できる。例えば、キーAの配下に、キーA1,A2,A3が存在する場合、キーAを指定することで、キーA1,A2,A3を範囲指定できる。   (S23) The analysis unit 140, for a plurality of PCs having the common software identified in step S22, from among the increments of registry information extracted in step S13, common portions of the registry (keys and values are common among the PCs). Registry group). The detection of the common part of the registry can be said to be a process of performing an AND operation on the registry information (a set of registries) of each PC having common software. At this time, for example, if registries with common keys and values fall under all of the specific trees, specify the higher-level keys of the tree to which those registries belong rather than specifying all of these registries. Thus, a common registry group may be specified. In this case, a range of a plurality of registries under the upper key can be specified by specifying the corresponding upper key. For example, when keys A1, A2, and A3 exist under the key A, the range of keys A1, A2, and A3 can be specified by specifying the key A.

(S24)分析部140は、登録ソフトウェアとレジストリとの対応関係を決定する。すなわち、分析部140は、ステップS22で特定した登録ソフトウェアとステップS23で検出したレジストリ群とを対応付ける。また、分析部140は、対応関係の決定結果に基づいて、対応管理テーブル114に既登録の関係を見直す。例えば、既にある登録ソフトウェアに対応付けられているレジストリ群の一部が、別の登録ソフトウェアに対応付けられるものであることが新たな対応付けの結果によって判明することもある。その場合、分析部140は、既登録のレジストリ群の当該一部を、別の登録ソフトウェアへ対応付け、当該一部と既存の登録ソフトウェアとの対応付けを解除する。   (S24) The analysis unit 140 determines the correspondence between the registered software and the registry. That is, the analysis unit 140 associates the registered software identified in step S22 with the registry group detected in step S23. Further, the analysis unit 140 reviews the registered relationship in the correspondence management table 114 based on the determination result of the correspondence relationship. For example, a part of the registry group that is already associated with the registered software may be found based on the result of the new association that it is associated with another registered software. In this case, the analysis unit 140 associates the part of the registered registry group with another registered software, and cancels the association between the part and the existing registered software.

(S25)分析部140は、ステップS13で抽出したレジストリ情報の増加分のうち、何れのソフトウェアとも対応付いていないレジストリについて、PC間でレジストリの共通部分(共通の未対応レジストリ)を検出する。ここで検出された未対応レジストリは、各PCのソフトウェア一覧に登録されていない未登録ソフトウェアに対応するレジストリと考えることができる。   (S25) The analysis unit 140 detects a common part of the registry (common unsupported registry) between the PCs for the registry not corresponding to any software among the increments of registry information extracted in step S13. The unsupported registry detected here can be considered as a registry corresponding to unregistered software that is not registered in the software list of each PC.

(S26)分析部140は、収集時刻テーブル115のマシンIDおよび収集時刻と、フォルダ管理テーブル113のマシンID、フォルダ名および作成時刻を参照し、各PCのインストール途中のフォルダを特定する。あるソフトウェアがインストール途中であり未完全なフォルダ群(あるソフトウェアに対して未だ一部しか作成されていないフォルダ群)を、対応関係の決定処理から除外するためである。具体的には、分析部140は、今回のポーリング時刻以前の一定期間内に作成されたフォルダをインストール途中のソフトウェアのフォルダと特定する。例えば、一定期間は、ポーリング時刻から30分前の時刻からポーリング時刻までの期間とするなど、ソフトウェアのインストールに要する時間に応じて予め定められる。   (S26) The analysis unit 140 refers to the machine ID and collection time of the collection time table 115 and the machine ID, folder name, and creation time of the folder management table 113, and identifies a folder during the installation of each PC. This is because an incomplete folder group (a group of folders in which only a part of the software is still created) is excluded from the correspondence determination process. Specifically, the analysis unit 140 identifies a folder created within a certain period before the current polling time as a software folder being installed. For example, the predetermined period is determined in advance according to the time required for software installation, such as a period from the time 30 minutes before the polling time to the polling time.

(S27)分析部140は、ステップS13で抽出したフォルダ情報の増加分のうち、共通の未対応レジストリを有するPC間のみで共通するフォルダ群を検出する。共通するフォルダ群の検出は、共通の未対応レジストリを有する各PCのフォルダ情報(フォルダの集合)に対するAND演算を行う処理ということもできる。ただし、ステップS26での特定結果に応じて、何れかのPCにおいて着目するフォルダの作成時刻がポーリング時刻に近い場合(例えば、前述のようにポーリング時刻以前の30分以内)は、当該PCを除外したPC間において、共通するフォルダ群を検出する。分析部140は、ステップS26の結果により、ある共通するフォルダ群の検出に用いるPCを選択しているということもできる。   (S27) The analysis unit 140 detects a folder group that is common only between PCs having a common unsupported registry among the increments of the folder information extracted in step S13. Detection of a common folder group can also be referred to as processing for performing an AND operation on folder information (a set of folders) of each PC having a common unsupported registry. However, if the creation time of the folder of interest in any PC is close to the polling time according to the specific result in step S26 (for example, within 30 minutes before the polling time as described above), the PC is excluded. A common folder group is detected between the PCs. It can also be said that the analysis unit 140 has selected a PC to be used for detecting a certain common folder group based on the result of step S26.

(S28)分析部140は、ステップS27で検出したフォルダ群と未対応レジストリとの対応関係を決定する。すなわち、分析部140は、ステップS27で検出したフォルダ群とステップS25で検出した共通の未対応レジストリとを対応付ける。また、分析部140は、対応関係の決定結果に基づいて、対応管理テーブル114に既登録の関係を見直す。例えば、既にあるフォルダ群に対応付けられているレジストリ群の一部が、別のフォルダ群に対応付けられるものであることが新たな対応付けの結果によって判明することもある。その場合、分析部140は、既登録のレジストリ群の当該一部を、別のフォルダ群へ対応付け、当該一部と既存のフォルダ群との対応付けを解除する。   (S28) The analysis unit 140 determines the correspondence between the folder group detected in step S27 and the unsupported registry. That is, the analysis unit 140 associates the folder group detected in step S27 with the common unsupported registry detected in step S25. Further, the analysis unit 140 reviews the registered relationship in the correspondence management table 114 based on the determination result of the correspondence relationship. For example, a part of the registry group associated with an existing folder group may be found to be associated with another folder group based on a new association result. In that case, the analysis unit 140 associates the part of the registered registry group with another folder group, and cancels the association between the part and the existing folder group.

(S29)分析部140は、ステップS24,S28で決定した対応関係を対応管理テーブル114に登録する。
なお、複数のPCに対し、あるソフトウェアの異なるバージョンのものがインストールされることもある。そこで、ステップS22で複数のPCで共通するソフトウェアを特定する際、分析部140は、バージョン番号のみが異なるものを同じソフトウェアとみなしてよい。また、ソフトウェア名をテキストマッチングする際に、マッチングの類似度が比較的高ければ同一とみなしてよい。
(S29) The analysis unit 140 registers the correspondence determined in steps S24 and S28 in the correspondence management table 114.
Different versions of certain software may be installed on a plurality of PCs. Therefore, when identifying software that is common to a plurality of PCs in step S22, the analysis unit 140 may regard the software that differs only in the version number as the same software. Further, when text matching is performed on software names, they may be regarded as the same if the matching similarity is relatively high.

また、レジストリに関しても、インストール時の設定などにより、同じソフトウェアであってもPCによってはキー名が異なることもある。このため、ステップS23,S25におけるレジストリの共通部分の取得でも、レジストリのツリー構造のマッチングにより、キー名が異なっても下位のデータ名が類似していれば同じとみなしてよい。   As for the registry, the key name may differ depending on the PC even if the software is the same due to the setting at the time of installation. For this reason, even if the common part of the registry is acquired in steps S23 and S25, it can be considered that the key names are different and the lower data names are similar by matching the tree structure of the registry.

更に、ステップS27において、共通するフォルダ群を検出する際、絶対パスが完全一致していなくてもよい(通常、インストール先として指定されるパスは可変であるため)。例えば、フォルダ内部の構造(フォルダのツリー構造やファイル内容)の類似度が高ければ同じソフトウェアに対応するフォルダとみなしてよい。このように、分析部140は、ソフトウェア名、レジストリ、フォルダのマッチングを行う際に、これらが完全一致するとは限らないことを考慮して揺らぎを許容する。第2の実施の形態の例では、フォルダについてPC間で共通部分を取得するものとしたが、分析部140は、ファイルについてPC間で共通部分を取得して未登録ソフトウェアとの対応付けを行ってもよい。その場合も、分析部140は、フォルダと同様に(ステップS26と同様に)作成時刻によって対応付け対象のファイルを絞り込んでもよい。   Furthermore, in step S27, when detecting a common folder group, the absolute paths do not have to completely match (usually, the path specified as the installation destination is variable). For example, if the similarity of the folder internal structure (folder tree structure and file contents) is high, the folders may be regarded as folders corresponding to the same software. As described above, the analysis unit 140 allows fluctuations when matching software names, registries, and folders in consideration of the fact that they do not always match completely. In the example of the second embodiment, a common part is acquired between PCs for a folder. However, the analysis unit 140 acquires a common part between PCs for a file and associates it with unregistered software. May be. Also in this case, the analysis unit 140 may narrow down the files to be associated according to the creation time in the same manner as the folder (similar to step S26).

ここで、ステップS24において、分析部140は、登録ソフトウェアとレジストリとの既登録の対応関係に対し、更に見直しを図ることもできる。例えば、分析部140は、ある登録ソフトウェアについて、対応管理テーブル114に既登録の対応関係と今回の対応関係の決定結果とを比較し、両者が異なるとき、今回の対応関係の決定結果により既存の対応関係を更新してもよい。より具体的には、分析部140は、今回の対応関係に含まれるレジストリ群と既存の対応関係に含まれるレジストリ群との重複部分を当該登録ソフトウェアに対応付けてもよい。登録ソフトウェアに対応付けられるレジストリ群を絞り込むことで、対応付けの精度を向上できるからである。   Here, in step S24, the analysis unit 140 can further review the already registered correspondence between the registered software and the registry. For example, the analysis unit 140 compares the correspondence relationship already registered in the correspondence management table 114 with the determination result of the current correspondence relationship for a certain registered software. The correspondence relationship may be updated. More specifically, the analysis unit 140 may associate an overlapping portion between the registry group included in the current correspondence relationship and the registry group included in the existing correspondence relationship with the registered software. This is because the accuracy of association can be improved by narrowing down the registry group associated with the registered software.

同様に、ステップS28において、分析部140は、フォルダ群とレジストリとの既登録の対応関係に対し、更に見直しを図ることもできる。例えば、分析部140は、あるフォルダ群について、対応管理テーブル114に既登録の対応関係と今回の対応関係の決定結果とを比較し、両者が異なるとき、今回の対応関係の決定結果により既存の対応関係を更新してもよい。より具体的には、分析部140は、今回の対応関係に含まれるレジストリ群と既存の対応関係に含まれるレジストリ群との重複部分を当該フォルダ群に対応付けてもよい。当該フォルダ群に対応付けられるレジストリ群を絞り込むことで、対応付けの精度を向上できるからである。   Similarly, in step S28, the analysis unit 140 can further review the registered correspondence between the folder group and the registry. For example, the analysis unit 140 compares the correspondence relationship already registered in the correspondence management table 114 and the determination result of the current correspondence relationship for a certain folder group. The correspondence relationship may be updated. More specifically, the analysis unit 140 may associate an overlapping portion between the registry group included in the current correspondence relationship and the registry group included in the existing correspondence relationship with the folder group. This is because the accuracy of association can be improved by narrowing down the registry group associated with the folder group.

図14は、ポーリングにより収集される情報の具体例を示す図である。図14では、PC200に対する時刻T11,T12における2回のポーリングを例示している。なお、図6と同様に、説明の便宜上、レジストリに対して“ソフトウェアAに関するレジストリ”などとソフトウェア名“ソフトウェアA”をラベリングしている。レジストリ情報の収集時点において、管理サーバ100は各レジストリが何れのソフトウェアに対応するものかを把握しているわけではない。   FIG. 14 is a diagram illustrating a specific example of information collected by polling. FIG. 14 illustrates two polls for the PC 200 at times T11 and T12. As in FIG. 6, for convenience of explanation, “registry relating to software A” and the software name “software A” are labeled on the registry. At the time of collecting the registry information, the management server 100 does not know what software each registry corresponds to.

収集部120は、ポーリングにより、レジストリ情報33およびソフトウェア一覧34をPC200から取得する。収集部120は、ポーリングにより、フォルダ情報もPC200から取得する。差分抽出部130は、時刻T11と時刻T12においてポーリングにより収集された情報の差分を抽出することで、時刻T11から時刻T12の間にPC200に追加された登録ソフトウェア、レジストリおよびフォルダを得る。   The collection unit 120 acquires the registry information 33 and the software list 34 from the PC 200 by polling. The collection unit 120 also acquires folder information from the PC 200 by polling. The difference extraction unit 130 obtains registered software, a registry, and a folder added to the PC 200 between time T11 and time T12 by extracting a difference between information collected by polling at time T11 and time T12.

分析部140は、時刻T11,T12それぞれで取得したレジストリのキーおよび値をマッチングする。図13で説明したように、マッチングにはキー構造の類似度や下位のデータの類似度が考慮される。時刻T11で取得したレジストリ情報33には含まれないが、時刻T12で取得したレジストリ情報33に含まれるレジストリが時刻T11から時刻T12の間にPC200に追加されたレジストリである。図14の例では、時刻T11の時点ではPC200のレジストリ情報33に、ソフトウェアA,B,C,D,Eのレジストリは存在していない。一方、時刻T12の時点では、PC200のレジストリ情報33に、ソフトウェアA,B,C,D,Eのレジストリは存在している。よって、時刻T12の時点のレジストリ情報の増加分は、ソフトウェアA,B,C,D,Eのレジストリ情報である(ただし、分析部140は、この時点ではソフトウェアA,B,C,D,Eとの対応関係を把握しているわけではない)。   The analysis unit 140 matches the registry keys and values acquired at times T11 and T12. As described with reference to FIG. 13, the matching considers the similarity of the key structure and the similarity of the lower data. Although not included in the registry information 33 acquired at time T11, the registry included in the registry information 33 acquired at time T12 is a registry added to the PC 200 between time T11 and time T12. In the example of FIG. 14, the registry of software A, B, C, D, and E does not exist in the registry information 33 of the PC 200 at time T11. On the other hand, at time T12, the registry of software A, B, C, D, and E exists in the registry information 33 of the PC 200. Therefore, the increment of the registry information at the time T12 is the registry information of the software A, B, C, D, E (however, the analysis unit 140 does not have the software A, B, C, D, E at this time). Does not know the relationship between and).

分析部140は、時刻T11,T12それぞれで取得したソフトウェア一覧34のソフトウェア名をテキストマッチングする。図13で説明したように、マッチングにはバージョンの相違やテキストの類似度を考慮する。図14の例では、時刻T11の時点では、PC200のソフトウェア一覧34に、ソフトウェアA,B,Cのソフトウェア名は存在していない。一方、時刻T12の時点では、PC200のソフトウェア一覧34に、ソフトウェアA,Bのソフトウェア名が存在している。よって、時刻T12の時点のソフトウェア一覧の増加分はソフトウェアA,Bのソフトウェア名である。   The analysis unit 140 performs text matching on the software names in the software list 34 acquired at times T11 and T12. As described with reference to FIG. 13, version matching and text similarity are considered for matching. In the example of FIG. 14, the software names of the software A, B, and C do not exist in the software list 34 of the PC 200 at the time T11. On the other hand, at the time T12, software names A and B exist in the software list 34 of the PC 200. Therefore, the increment of the software list at the time T12 is the software names of the software A and B.

ソフトウェアCは、時刻T11の後、PC200にインストールされたが、時刻T12の前に、PC200からアンインストールされたため、時刻T12で収集されたPC200のソフトウェア一覧34には含まれない。また、ソフトウェアD,Eは、時刻T12で収集されたPC200のソフトウェア一覧34には含まれない未登録ソフトウェアである。   The software C was installed on the PC 200 after the time T11. However, since the software C was uninstalled from the PC 200 before the time T12, the software C is not included in the software list 34 of the PC 200 collected at the time T12. Software D and E are unregistered software that is not included in the software list 34 of the PC 200 collected at time T12.

分析部140は、同様にして、時刻T11から時刻T12の間にPC200に追加されたフォルダ情報も取得する。
図15は、登録ソフトウェアとレジストリとの対応付けの具体例を示す図である。図15は、時刻T12に収集部120がPC200,200a,200b,200c,200dから収集したソフトウェア一覧およびレジストリ情報について、時刻T11での収集結果からの増加分の例を示している。“検出ソフト(増加分)”で示される行は、PC200,200a,200b,200c,200dから収集したソフトウェア一覧の増加分を示す。“レジストリ情報(増加分)”で示される行は、PC200,200a,200b,200c,200dから収集したレジストリ情報の増加分を示す。
Similarly, the analysis unit 140 also acquires folder information added to the PC 200 between time T11 and time T12.
FIG. 15 is a diagram illustrating a specific example of association between registered software and a registry. FIG. 15 shows an example of an increase from the collection result at time T11 for the software list and registry information collected by the collection unit 120 from the PCs 200, 200a, 200b, 200c, and 200d at time T12. The row indicated by “detection software (increase)” indicates an increase in the software list collected from the PCs 200, 200a, 200b, 200c, and 200d. The row indicated by “registry information (increase)” indicates an increase in registry information collected from the PCs 200, 200a, 200b, 200c, and 200d.

例えば、差分抽出部130は、PC200に対してソフトウェアA,Bのソフトウェア名の増加を検出する。差分抽出部130は、PC200aに対してソフトウェアA,Xのソフトウェア名の増加を検出する。差分抽出部130は、PC200bに対してソフトウェアC,Xのソフトウェア名の増加を検出する。差分抽出部130は、PC200cに対してソフトウェアCのソフトウェア名の増加を検出する。差分抽出部130は、PC200dに対してソフトウェアBのソフトウェア名の増加を検出する。ソフトウェアA,B,C,D,Xは、何れもソフトウェア一覧に登録されている登録ソフトウェアである。   For example, the difference extraction unit 130 detects an increase in the software names of the software A and B for the PC 200. The difference extraction unit 130 detects an increase in the software names of the software A and X with respect to the PC 200a. The difference extraction unit 130 detects an increase in the software names of the software C and X with respect to the PC 200b. The difference extraction unit 130 detects an increase in the software name of the software C with respect to the PC 200c. The difference extraction unit 130 detects an increase in the software name of the software B with respect to the PC 200d. Software A, B, C, D, and X are all registered software registered in the software list.

分析部140は、各PCのソフトウェア一覧の増加分の中からソフトウェアAのみが共通するPC200,200aを特定する。分析部140は、PC200,200aから収集したレジストリ情報の増加分の中から共通のレジストリ群R11を検出する。分析部140は、ソフトウェアAとレジストリ群R11とを対応付ける。   The analysis unit 140 identifies the PCs 200 and 200a that only the software A has in common from the increase in the software list of each PC. The analysis unit 140 detects a common registry group R11 from among the increments of registry information collected from the PCs 200 and 200a. The analysis unit 140 associates the software A with the registry group R11.

分析部140は、各PCのソフトウェア一覧の増加分の中からソフトウェアBのみが共通するPC200,200dを特定する。分析部140は、PC200,200dから収集したレジストリ情報の増加分の中から共通のレジストリ群R12,R14を検出する。分析部140は、ソフトウェアBとレジストリ群R12,R14とを対応付ける(ただし、後述するようにレジストリ群R14は、実際はソフトウェアCに対応付けられるべきである)。   The analysis unit 140 identifies the PCs 200 and 200d that only the software B has in common from the increase in the software list of each PC. The analysis unit 140 detects a common registry group R12, R14 from the increase in registry information collected from the PCs 200, 200d. The analysis unit 140 associates the software B with the registry groups R12 and R14 (however, as described later, the registry group R14 should actually be associated with the software C).

分析部140は、検出ソフトウェアの増加分の中からソフトウェアCのみが共通するPC200b,200cを特定する。分析部140は、PC200b,200cから収集したレジストリ情報の増加分の中から共通のレジストリ群R14を検出する。分析部140は、ソフトウェアCとレジストリ群R14とを対応付ける。   The analysis unit 140 identifies the PCs 200b and 200c that only the software C has in common from the increase in the detection software. The analysis unit 140 detects a common registry group R14 from among the increments of registry information collected from the PCs 200b and 200c. The analysis unit 140 associates the software C with the registry group R14.

分析部140は、検出ソフトウェアの増加分の中からソフトウェアXのみが共通するPC200a,200bを特定する。分析部140は、PC200a,200bから収集したレジストリ情報の増加分の中から共通のレジストリR13を検出する。分析部140は、ソフトウェアXとレジストリ群R13とを対応付ける。   The analysis unit 140 identifies the PCs 200a and 200b that only the software X has in common from the increase in the detection software. The analysis unit 140 detects a common registry R13 from among the increments of registry information collected from the PCs 200a and 200b. The analysis unit 140 associates the software X with the registry group R13.

分析部140は、ここまでで対応付けたソフトウェアとレジストリとの対応関係を見直す。例えば、あるソフトウェアとレジストリ群との対応関係に対し、当該レジストリ群が他のソフトウェアに対応付けられた他のレジストリ群を含む場合は、対応付けを修正する。より具体的には、レジストリ群R14は、PC200b,200cに対する分析によって、ソフトウェアCに対応付けられている。更に、レジストリ群R12,R14は、PC200,200dに対する分析によって、ソフトウェアBに対応付けられている。すなわち、ソフトウェアBに対応付けられたレジストリ群R12,R14は、ソフトウェアCに対応付けられたレジストリ群R14を含む。よって、分析部140は、ソフトウェアBとレジストリ群R12,R14との対応関係を修正し、ソフトウェアBをレジストリ群R12に対応付けしなおす(ソフトウェアCとレジストリ群R14との対応関係を維持する)。   The analysis unit 140 reviews the correspondence relationship between the software and the registry associated so far. For example, when the registry group includes another registry group associated with other software, the correspondence is corrected with respect to the correspondence relationship between certain software and the registry group. More specifically, the registry group R14 is associated with the software C by analysis of the PCs 200b and 200c. Furthermore, the registry groups R12 and R14 are associated with the software B by analysis of the PCs 200 and 200d. That is, the registry groups R12 and R14 associated with the software B include the registry group R14 associated with the software C. Therefore, the analysis unit 140 corrects the correspondence relationship between the software B and the registry groups R12 and R14, and reassociates the software B with the registry group R12 (maintains the correspondence relationship between the software C and the registry group R14).

こうして、各PCにおけるレジストリ情報の増加分のうちの一部が、ソフトウェアA,B,C,Xに対応付けられる。このとき、PC200には、レジストリ情報の増加分のうち、何れのソフトウェアとも対応付けられていない未対応のレジストリ群RAが存在する。PC200cには、レジストリ情報の増加分のうち、何れのソフトウェアとも対応付けられていない未対応のレジストリ群RBが存在する。PC200dには、レジストリ情報の増加分のうち、何れのソフトウェアとも対応付けられていない未対応のレジストリ群RCが存在する。PC200a,200bには、未対応のレジストリ群は存在していない。   In this way, a part of the increase in registry information in each PC is associated with software A, B, C, and X. At this time, the PC 200 includes an unsupported registry group RA that is not associated with any software among the increased registry information. The PC 200c includes an unsupported registry group RB that is not associated with any software among the increments of registry information. The PC 200d has an unsupported registry group RC that is not associated with any software among the increments of registry information. There is no unsupported registry group in the PCs 200a and 200b.

図16は、フォルダ群とレジストリ群との対応付けの具体例を示す図である。ここで、分析部140は、レジストリ情報と同様に、各PCにおけるフォルダ情報の増加分のうち、ソフトウェアA,B,C,Xに対応するフォルダ群を検出できる。具体的には、PC200,200aで共通する部分は、ソフトウェアAに対応するフォルダ群である。また、PC200,200dで共通する部分は、ソフトウェアBに対応するフォルダ群である。PC200b,200cで共通する部分は、ソフトウェアCに対応するフォルダ群である。PC200a,200bで共通する部分は、ソフトウェアXに対応するフォルダ群である。   FIG. 16 is a diagram illustrating a specific example of association between a folder group and a registry group. Here, the analysis unit 140 can detect the folder group corresponding to the software A, B, C, and X from the increase in the folder information in each PC, similarly to the registry information. Specifically, a common part between the PCs 200 and 200a is a folder group corresponding to the software A. Further, a portion common to the PCs 200 and 200d is a folder group corresponding to the software B. A portion common to the PCs 200b and 200c is a folder group corresponding to the software C. A portion common to the PCs 200a and 200b is a folder group corresponding to the software X.

図16では、“フォルダ情報(増加分)”の行に、各PCにおけるフォルダ情報の増加分を例示しているが、ソフトウェアA,B,C,Xに対応するフォルダ群については、対応付けの対象外とする(図16のフォルダ情報の増加分には含まれていない)。これらのフォルダ群は、登録ソフトウェアのフォルダ群であり、登録ソフトウェアは、図15の処理によって、既にレジストリ群との対応付けが済んでいるからである。なお、収集部120が各PCから収集する登録ソフト情報に、登録ソフトウェアと登録ソフトウェアのインストールフォルダとの情報が含まれることも考えられる。その場合、分析部140は、登録ソフト情報から、例えばソフトウェアA,B,C,Xに対応するフォルダ群を検出してもよい。   In FIG. 16, the “folder information (increase)” line illustrates the increase in the folder information in each PC, but the folder groups corresponding to the software A, B, C, and X are associated with each other. It is excluded (not included in the increase in folder information in FIG. 16). This is because these folder groups are registered software folder groups, and the registered software has already been associated with the registry groups by the processing of FIG. Note that the registered software information collected from each PC by the collection unit 120 may include information about the registered software and the installation folder of the registered software. In that case, the analysis unit 140 may detect a group of folders corresponding to the software A, B, C, X, for example, from the registered software information.

更に、分析部140は、フォルダ管理テーブル113の作成時刻と収集時刻テーブル115の収集時刻とを参照し、各PCにおいて作成時刻から収集時刻までが所定期間内のフォルダ群も対応付けの対象外とする(図16のフォルダ情報の増加分には含まれていない)。   Furthermore, the analysis unit 140 refers to the creation time of the folder management table 113 and the collection time of the collection time table 115, and the folder group within the predetermined period from the creation time to the collection time is also excluded from the association in each PC. (It is not included in the increment of folder information in FIG. 16).

したがって、図16で示す“フォルダ情報(増加分)”に含まれるフォルダは、未登録ソフトウェアのインストールフォルダ、または、登録/未登録ソフトウェアとは無関係なフォルダである。登録/未登録ソフトウェアとは無関係なフォルダとして、例えば、ユーザが任意に作成したフォルダや、あるソフトウェアが自ソフトウェアのインストールフォルダとは異なるパスに作成したフォルダである。   Accordingly, the folder included in the “folder information (increase)” shown in FIG. 16 is an installation folder of unregistered software or a folder unrelated to registered / unregistered software. As a folder unrelated to registered / unregistered software, for example, a folder arbitrarily created by the user or a folder created by a certain software in a path different from the installation folder of the own software.

具体的には、分析部140は、上記の処理対象外のフォルダを除いて、PC200のフォルダ増加分としてフォルダ群F21を特定する。分析部140は、上記の処理対象外のフォルダを除くと、PC200aにはフォルダ増加分なしと特定する。分析部140は、同様にPC200bのフォルダ増加分としてフォルダ群F22を特定する。分析部140は、同様にPC200cのフォルダ増加分としてフォルダ群F23を特定する。分析部140は、同様にPC200dのフォルダ増加分としてフォルダ群F24を特定する。   Specifically, the analysis unit 140 identifies the folder group F21 as an increase in the folder of the PC 200, excluding the above-described folders not subject to processing. The analysis unit 140 specifies that there is no folder increase in the PC 200a, except for the above-mentioned folders that are not processing targets. Similarly, the analysis unit 140 identifies the folder group F22 as an increase in the folder of the PC 200b. Similarly, the analysis unit 140 identifies the folder group F23 as an increase in the folder of the PC 200c. Similarly, the analysis unit 140 identifies the folder group F24 as an increase in the folder of the PC 200d.

分析部140は、PC200,200b,200c,200dそれぞれのフォルダ群F21,F22,F23,F24について、未対応のレジストリ群の存在しないPC200bのフォルダ群F22と共通する部分P11を検出する。部分P11は、登録/未登録ソフトウェアとは無関係なフォルダと考えることができる。なぜなら、フォルダ群F22は登録ソフトウェアに対応するものではなく、かつ、PC200bには、未対応のレジストリ群が存在していない(未登録ソフトウェアが存在していない)からである。   The analysis unit 140 detects, for the folder groups F21, F22, F23, and F24 of each of the PCs 200, 200b, 200c, and 200d, a portion P11 that is common to the folder group F22 of the PC 200b that does not have an unsupported registry group. The part P11 can be considered as a folder unrelated to the registered / unregistered software. This is because the folder group F22 does not correspond to registered software, and the PC 200b does not have an unsupported registry group (no unregistered software exists).

分析部140は、フォルダ群F21,F23,F24(部分P11を除く)のうち、共通する部分P12を検出する。部分P12は、PC200,200c,200dで共通するフォルダ群である。また、前述の未対応のレジストリ群RA,RB,RCの共通部分P1も、PC200,200c,200dで共通するレジストリ群である。したがって、フォルダ群F21,F23,F24の共通部分P12は、未対応のレジストリ群RA,RB,RCの共通部分P1に対応するフォルダ群であると考えることができる。よって、分析部140は、フォルダ群F21,F23,F24の共通部分P12に相当するフォルダ群と、レジストリ群RA,RB,RCの共通部分P1に相当するレジストリ群とを対応付ける。通常、ソフトウェアは、インストール時に、自ソフトウェアを動作させるための情報をレジストリへ追加する。したがって、この場合、共通部分P12に相当するフォルダ群は、未登録ソフトウェア(例えば、図14のソフトウェアD)のインストール時に当該未登録ソフトウェアの情報を格納するために作成されたフォルダ(インストールフォルダ)であると考えることができる。例えば、このタイミングで、フォルダ群F24に含まれる全てのフォルダの、未登録ソフトウェアへの対応付けが完了する。   The analysis unit 140 detects a common part P12 among the folder groups F21, F23, and F24 (excluding the part P11). The part P12 is a folder group common to the PCs 200, 200c, and 200d. Further, the common part P1 of the aforementioned unsupported registry groups RA, RB, RC is also a registry group common to the PCs 200, 200c, 200d. Therefore, the common part P12 of the folder groups F21, F23, and F24 can be considered as a folder group corresponding to the common part P1 of the unsupported registry groups RA, RB, and RC. Therefore, the analysis unit 140 associates the folder group corresponding to the common part P12 of the folder groups F21, F23, and F24 with the registry group corresponding to the common part P1 of the registry groups RA, RB, and RC. Usually, at the time of installation, software adds information for operating the software to the registry. Therefore, in this case, the folder group corresponding to the common part P12 is a folder (installation folder) created to store information on the unregistered software when the unregistered software (for example, software D in FIG. 14) is installed. You can think of it. For example, at this timing, the association of all folders included in the folder group F24 with unregistered software is completed.

分析部140は、フォルダ群F21,F23(部分P11,P12を除く)のうち、共通する部分P13を検出する。部分P13は、PC200,200cで共通するフォルダ群である。また、前述の未対応のレジストリ群RA,RBの共通部分P2も、PC200,200cで共通するレジストリ群である。したがって、フォルダ群F21,F23の共通部分P13は、未対応のレジストリ群RA,RBの共通部分P2に対応するフォルダ群であると考えることができる。よって、分析部140は、フォルダ群F21,F23の共通部分P13に相当するフォルダ群と、レジストリ群RA,RBの共通部分P2に相当するレジストリ群とを対応付ける。部分P12の場合と同様に、共通部分P13に相当するフォルダ群は、未登録ソフトウェア(部分P12に対応する未登録ソフトウェアとは異なる未登録ソフトウェアであり、例えば図14のソフトウェアE)のインストールフォルダであると考えることができる。例えば、このタイミングで、フォルダ群F21に含まれる全てのフォルダの、未登録ソフトウェアへの対応付けが完了する。   The analysis unit 140 detects a common part P13 among the folder groups F21 and F23 (excluding the parts P11 and P12). The part P13 is a folder group common to the PCs 200 and 200c. Further, the common portion P2 of the unsupported registry groups RA and RB is also a registry group common to the PCs 200 and 200c. Therefore, the common part P13 of the folder groups F21 and F23 can be considered as a folder group corresponding to the common part P2 of the unsupported registry groups RA and RB. Therefore, the analysis unit 140 associates the folder group corresponding to the common part P13 of the folder groups F21 and F23 with the registry group corresponding to the common part P2 of the registry groups RA and RB. As in the case of the part P12, the folder group corresponding to the common part P13 is an installation folder of unregistered software (unregistered software different from unregistered software corresponding to the part P12, for example, software E in FIG. 14). You can think of it. For example, at this timing, the association of all folders included in the folder group F21 with unregistered software is completed.

PC200cでは、未対応のレジストリ群RBのうち、何れのフォルダ群とも対応付けられていない部分P3が存在する。PC200cでは、フォルダ群F23のうち、何れのレジストリ群とも対応付けられていない部分P14が存在する。分析部140は、部分P3に相当するレジストリ群と、部分P14に相当するフォルダ群とを対応付けてもよい。あるいは、分析部140は、次回以降のポーリングにより収集した情報に基づいて、レジストリ群RBのうち部分P3に対応付けるフォルダ群およびフォルダ群F23のうち部分P14に対応付けるレジストリ群を決定してもよい。   In the PC 200c, there is a portion P3 that is not associated with any folder group in the unsupported registry group RB. In the PC 200c, there is a portion P14 that is not associated with any registry group in the folder group F23. The analysis unit 140 may associate the registry group corresponding to the part P3 and the folder group corresponding to the part P14. Alternatively, the analysis unit 140 may determine a folder group associated with the portion P3 in the registry group RB and a registry group associated with the portion P14 in the folder group F23 based on information collected by the subsequent polling.

分析部140は、こうして決定した登録ソフトウェア名とレジストリ群との対応関係を対応管理テーブル114に登録する。また、分析部140は、フォルダ群とレジストリ群との対応関係を対応管理テーブル114に登録する。ここでレジストリ群に対応付けられたフォルダ群は、未登録ソフトウェアのインストールフォルダであると考えられる。このため、フォルダ群とレジストリ群との対応関係は、未登録ソフトウェアとレジストリ群との対応関係といえる。   The analysis unit 140 registers the correspondence relationship between the registered software name thus determined and the registry group in the correspondence management table 114. The analysis unit 140 registers the correspondence relationship between the folder group and the registry group in the correspondence management table 114. Here, the folder group associated with the registry group is considered to be an installation folder of unregistered software. For this reason, the correspondence between the folder group and the registry group can be said to be the correspondence relation between the unregistered software and the registry group.

更に、分析部140は、次の方法によって、対応付けの対象外とするレジストリ群を決定してもよい。
図17は、対応付けの対象外とするPCの決定方法の例を示す図である。分析部140による登録ソフトウェアとレジストリ群との対応付けは、インストール処理が完了している登録ソフトウェアに対して行われることが好ましい。ポーリング時にインストール中である登録ソフトウェアが存在する場合、ソフトウェア一覧には登録ソフトウェアのソフトウェア名が存在するが、当該登録ソフトウェアに対応するレジストリ群は作成途中であるという状況があり得る。この場合に対応付けを行ってしまうと、登録ソフトウェアと作成途中の未完全なレジストリ群とが対応付けられてしまい、適切な対応関係を管理できなくなる。具体的には次の通りである。
Further, the analysis unit 140 may determine a registry group to be excluded from association by the following method.
FIG. 17 is a diagram illustrating an example of a method for determining a PC to be excluded from association. The association between the registered software and the registry group by the analysis unit 140 is preferably performed on the registered software for which the installation process has been completed. When there is registered software that is being installed at the time of polling, there is a situation in which the software name of the registered software exists in the software list, but a registry group corresponding to the registered software is being created. If the association is performed in this case, the registered software and the incomplete registry group being created are associated with each other, and an appropriate correspondence relationship cannot be managed. Specifically, it is as follows.

仮に、管理サーバ100が、あるタイミングのポーリングにより、PC200,200aに対しソフトウェア一覧にソフトウェアAが追加されたことを検出したとする。このとき、PC200ではソフトウェアAがインストール済であるが、PC200aではソフトウェアAがインストール途中である状況が起こり得る。この場合、PC200のレジストリ情報ではソフトウェアAの完全なレジストリ群R11が含まれる。一方、PC200aのレジストリ情報ではソフトウェアAのレジストリ群R11が全部含まれるわけではなく、レジストリ群R11の一部R11aが含まれるのみである。すなわち、PC200のレジストリ群R11に含まれるレジストリ部分RXが、PC200aのレジストリ情報には欠落している。このような状況で、PC200,200aでレジストリ情報の共通部分を特定してソフトウェアAに対応付けるとすると、レジストリ群R11のうち、レジストリ部分RXを欠いた一部R11aがソフトウェアAに対応付けられてしまう。   Assume that the management server 100 detects that software A has been added to the software list for the PCs 200 and 200a by polling at a certain timing. At this time, the software A is already installed in the PC 200, but the situation may occur in which the software A is being installed in the PC 200a. In this case, the registry information of the PC 200 includes the complete registry group R11 of the software A. On the other hand, the registry information of the PC 200a does not include the entire registry group R11 of the software A, but only includes a part R11a of the registry group R11. That is, the registry portion RX included in the registry group R11 of the PC 200 is missing from the registry information of the PC 200a. In such a situation, when the PC 200 and 200a identify the common part of the registry information and associate it with the software A, a part R11a lacking the registry part RX is associated with the software A in the registry group R11. .

そこで、分析部140は、該当の登録ソフトウェアに対応するフォルダの作成時刻を調べ、ポーリング時刻とほぼ一致(例えば、前述のように、作成時刻からポーリング時刻までが所定期間内である)場合、当該登録ソフトウェアをインストール中であると判断し、レジストリ群の共通部分の抽出対象とするPCから除外してもよい。例えば、図16で説明したように、分析部140は、フォルダ情報のうちソフトウェアAに対応するフォルダ群を特定し得る。   Therefore, the analysis unit 140 checks the creation time of the folder corresponding to the corresponding registered software, and if it substantially matches the polling time (for example, as described above, the time from the creation time to the polling time is within a predetermined period) It may be determined that the registered software is being installed, and may be excluded from the PCs from which the common part of the registry group is to be extracted. For example, as described with reference to FIG. 16, the analysis unit 140 can specify a folder group corresponding to the software A among the folder information.

分析部140は、PC200a以外に、ソフトウェアAが追加されてインストールが完了しているPCがあれば、当該PCとPC200とのレジストリの共通部分を用いてソフトウェアAに対応するレジストリ群の特定を行える。ただし、PC200a以外にソフトウェアAが追加されてインストールが完了しているPCがなければ、今回はソフトウェアAとレジストリとの対応付けを行えないことになる。すなわち、分析部140は、図13のステップS22において、ソフトウェアAを複数のPC間で共通するソフトウェアとして特定しても、ステップS23,S24の処理の対象外とする。これにより作成中のレジストリ群と登録ソフトウェアとが対応付けられることを抑えられる。   In addition to the PC 200a, the analysis unit 140 can specify a registry group corresponding to the software A by using a common part of the registry of the PC and the PC 200 if there is a PC in which the software A is added and installation is completed. . However, if there is no PC other than the PC 200a where the software A is added and the installation is completed, the software A cannot be associated with the registry this time. That is, even if the analysis unit 140 specifies software A as software common to a plurality of PCs in step S22 of FIG. Thereby, it is possible to prevent the registry group being created from being associated with the registered software.

ソフトウェアAを対応付けの対象外とした場合、分析部140は、次回のポーリング結果に応じて、ソフトウェアAとレジストリ群との対応付けを行ってもよい。次回のポーリング時に、PC200aでレジストリ群R11の作成が完了していれば、分析部140は、ソフトウェアAとレジストリ群R11とを適切に対応付けることができる。ただし、次回のポーリングの結果から、ソフトウェアAに対応するレジストリ群を特定する場合、分析部140は、PC200,200aから次回ポーリングで取得したレジストリ情報を、前回との差分をとらずに比較し、共通のレジストリ群R11を特定することになる。そして、分析部140は、当該共通のレジストリ群R11をソフトウェアAに対応付ける。   When the software A is excluded from the association target, the analysis unit 140 may associate the software A with the registry group according to the next polling result. If the creation of the registry group R11 is completed in the PC 200a at the next polling, the analysis unit 140 can appropriately associate the software A with the registry group R11. However, when the registry group corresponding to the software A is specified from the result of the next polling, the analysis unit 140 compares the registry information acquired by the next polling from the PCs 200 and 200a without taking the difference from the previous time, The common registry group R11 is specified. Then, the analysis unit 140 associates the common registry group R11 with the software A.

こうして、管理サーバ100は、登録ソフトウェアおよび未登録ソフトウェアとレジストリとの対応付けを適切に行える。管理サーバ100によれば、登録ソフトウェアだけでなく、未登録ソフトウェアによって使用されるレジストリも、未登録ソフトウェアに対応付けて適切に管理できる。なお、対応管理テーブル114の例では、未登録ソフトウェアのインストールフォルダと、レジストリとを対応付けるものとした。これに対し、分析部140は、インストールフォルダの情報から未登録ソフトウェアの識別名を決定し、当該識別名とレジストリとの対応付けを行ってもよい。例えば、分析部140は、インストールフォルダのパス内において、OSがアプリケーションソフトウェアの格納用に用意した所定のフォルダの直下の文字列を未登録ソフトウェアの識別名としてもよい。あるいは、インストールフォルダに含まれる実行形式のファイル(例えば、exe形式のファイルなど)のファイル名(例えば、appZ.exe)から未登録ソフトウェアの識別名(例えば、appZなど)を決定してもよい。すると、分析部140は、未登録ソフトウェアの識別名とレジストリとを対応付けることができる。この場合にも、分析部140は、未登録ソフトウェアの識別名とインストールフォルダとを対応付けた情報を更に記憶部110に格納して保持することで、対応管理テーブル114と同等の情報を管理できる。   In this way, the management server 100 can appropriately associate the registered software and unregistered software with the registry. According to the management server 100, not only registered software but also a registry used by unregistered software can be appropriately managed in association with the unregistered software. In the example of the correspondence management table 114, the installation folder of unregistered software is associated with the registry. On the other hand, the analysis unit 140 may determine the identification name of the unregistered software from the information of the installation folder and associate the identification name with the registry. For example, the analysis unit 140 may use a character string directly under a predetermined folder prepared by the OS for storing application software in the path of the installation folder as an identification name of unregistered software. Alternatively, an unregistered software identification name (for example, appZ) may be determined from a file name (for example, appZ.exe) of an executable file (for example, an exe format file) included in the installation folder. Then, the analysis unit 140 can associate the identification name of the unregistered software with the registry. Also in this case, the analysis unit 140 can manage information equivalent to the correspondence management table 114 by further storing and storing information in which the identification name of the unregistered software and the installation folder are associated with each other in the storage unit 110. .

そして、不要レジストリ判定部150は、分析部140により作成された対応管理テーブル114に基づいて、PC200,200a,200b,200c,200dにおける不要レジストリを判定する。   Then, the unnecessary registry determination unit 150 determines an unnecessary registry in the PCs 200, 200a, 200b, 200c, and 200d based on the correspondence management table 114 created by the analysis unit 140.

図18は、不要レジストリの判定処理を示す図である。以下、図18に示す処理をステップ番号に沿って説明する。管理サーバ100は、例えば、ポーリング後の分析部140の処理後に以下の手順を開始する。   FIG. 18 is a diagram illustrating a process for determining an unnecessary registry. In the following, the process illustrated in FIG. 18 will be described in order of step number. For example, the management server 100 starts the following procedure after processing by the analysis unit 140 after polling.

(S31)不要レジストリ判定部150は、レジストリとソフトウェアまたはフォルダとの対応関係の情報を対応管理テーブル114から読み出す。
(S32)差分抽出部130は、前回のポーリングで取得したソフトウェア一覧およびフォルダ情報と今回のポーリングで取得したソフトウェア一覧およびフォルダ情報の差分を抽出し、削除されたソフトウェアまたはフォルダを検出する。具体的には、あるPCについて、前回のポーリングで取得したソフトウェア一覧には含まれるが、今回のポーリングで取得したソフトウェア一覧には含まれないソフトウェアが、当該PCから削除されたソフトウェア(未検出ソフトウェア)である。また、あるPCについて、前回のポーリングで取得したフォルダ情報には含まれるが、今回のポーリングで取得したフォルダ情報には含まれないフォルダが、当該PCから削除されたフォルダである。差分抽出部130は抽出結果を不要レジストリ判定部150に通知する。
(S31) The unnecessary registry determination unit 150 reads information on the correspondence between the registry and the software or folder from the correspondence management table 114.
(S32) The difference extraction unit 130 extracts the difference between the software list and folder information acquired in the previous polling and the software list and folder information acquired in the current polling, and detects the deleted software or folder. Specifically, for a certain PC, software that is included in the software list acquired by the previous polling but not included in the software list acquired by this polling has been deleted from the PC (undetected software). ). Further, for a certain PC, a folder that is included in the folder information acquired by the previous polling but not included in the folder information acquired by the current polling is a folder deleted from the PC. The difference extraction unit 130 notifies the unnecessary registry determination unit 150 of the extraction result.

(S33)不要レジストリ判定部150は、対応管理テーブル114から読み出した情報に基づいて、何れかのPCから削除されたソフトウェアまたはフォルダに対応するレジストリが当該PCに残存するか否かを判定する。残存する場合、処理をステップS34に進める。残存しない場合、処理を終了する。例えば、PC200から削除されたソフトウェアまたはフォルダに対応するレジストリが、PC200のマシンIDに対応付けてレジストリ管理テーブル111に存在している場合、当該レジストリはPC200に残存していることになる。   (S33) Based on the information read from the correspondence management table 114, the unnecessary registry determination unit 150 determines whether a registry corresponding to software or a folder deleted from any PC remains in the PC. If it remains, the process proceeds to step S34. If it does not remain, the process ends. For example, if a registry corresponding to software or a folder deleted from the PC 200 exists in the registry management table 111 in association with the machine ID of the PC 200, the registry remains in the PC 200.

(S34)不要レジストリ判定部150は、該当のPCに対し、残存するレジストリを不要レジストリと判定する。不要レジストリ判定部150は、当該PCに対して、不要レジストリの削除を指示する。これにより、当該PCから不要レジストリが削除される。   (S34) The unnecessary registry determination unit 150 determines that the remaining registry is an unnecessary registry for the corresponding PC. The unnecessary registry determination unit 150 instructs the PC to delete the unnecessary registry. As a result, the unnecessary registry is deleted from the PC.

このようにして、管理サーバ100はPC200,200a,200b,200c,200dにおける不要レジストリの判定を行える。管理サーバ100は、PC200,200a,200b,200c,200dにより不要レジストリを削除させることで、PC200,200a,200b,200c,200d上の他のソフトウェアの動作に対し不要レジストリによる悪影響が及ぶことを防げる。   In this way, the management server 100 can determine the unnecessary registry in the PCs 200, 200a, 200b, 200c, and 200d. The management server 100 deletes unnecessary registries by the PCs 200, 200a, 200b, 200c, and 200d, thereby preventing the unnecessary registries from adversely affecting the operation of other software on the PCs 200, 200a, 200b, 200c, and 200d. .

また、登録ソフトウェアに対応付けられていなくても、未登録ソフトウェアに対応付けられたレジストリは、不要レジストリとは判断されないことになる。このため、未登録ソフトウェアによって使用されるレジストリが、不要レジストリと誤判断されて削除されてしまうことを防げる。   Further, even if the registry is not associated with the registered software, the registry associated with the unregistered software is not determined to be an unnecessary registry. Therefore, it is possible to prevent a registry used by unregistered software from being erroneously determined as an unnecessary registry and deleted.

更に、ステップS32,S33では不要レジストリ判定部150は、次のように不要レジストリを判定してもよい。例えば、対応管理テーブル114に登録されたソフトウェア名とレジストリ群との1つの組について、レジストリ管理テーブル111には該当のレジストリ群が存在するが、ソフトウェア管理テーブル112には該当のソフトウェア名が存在しないPCを特定する。この場合、当該PCには該当のソフトウェア名で示されるソフトウェアがアンインストールされたが、アンインストール時にレジストリを消し損なったと判断できる。不要レジストリ判定部150は、当該ソフトウェアに対応するレジストリ群を不要レジストリと判定する。こうして、不要レジストリ判定部150は、各PCに対し、対応管理テーブル114に登録されたソフトウェア名とレジストリ群との組毎に、不要レジストリを判定し得る。また、前回ポーリングと今回ポーリングの間にインストールされアンインストールされたソフトウェア(例えば、ソフトウェアC)に対応するレジストリも不要レジストリとして判定できる。   Furthermore, in steps S32 and S33, the unnecessary registry determination unit 150 may determine an unnecessary registry as follows. For example, for one set of software name and registry group registered in the correspondence management table 114, the corresponding registry group exists in the registry management table 111, but the corresponding software name does not exist in the software management table 112. Identify the PC. In this case, it can be determined that the software indicated by the corresponding software name has been uninstalled on the PC, but the registry has not been deleted during the uninstallation. The unnecessary registry determination unit 150 determines that the registry group corresponding to the software is an unnecessary registry. In this way, the unnecessary registry determination unit 150 can determine an unnecessary registry for each set of software names and registry groups registered in the correspondence management table 114 for each PC. Also, a registry corresponding to software (for example, software C) installed and uninstalled between the previous polling and the current polling can be determined as an unnecessary registry.

同様に、例えば対応管理テーブル114に登録されたフォルダ群とレジストリ群との1つの組について、レジストリ管理テーブル111には該当のレジストリ群が存在するが、フォルダ管理テーブル113には該当のフォルダ群が存在しないPCを特定する。この場合、当該PCには該当のフォルダ群で示される未登録ソフトウェアがアンインストールされたが、アンインストール時にレジストリを消し損なったと判断できる。不要レジストリ判定部150は、当該フォルダ群に対応するレジストリ群を不要レジストリと判定する。こうして、不要レジストリ判定部150は、各PCについて、対応管理テーブル114に登録されたフォルダ群とレジストリ群との組毎に、不要レジストリを判定し得る。また、前回ポーリングと今回ポーリングの間にインストールされアンインストールされた未登録ソフトウェアに対応するレジストリも不要レジストリとして判定できる。   Similarly, for example, for one set of a folder group and a registry group registered in the correspondence management table 114, the corresponding registry group exists in the registry management table 111, but the corresponding folder group exists in the folder management table 113. Identify a nonexistent PC. In this case, it can be determined that the unregistered software indicated by the corresponding folder group has been uninstalled on the PC, but the registry has failed to be deleted during the uninstallation. The unnecessary registry determination unit 150 determines that the registry group corresponding to the folder group is an unnecessary registry. In this way, the unnecessary registry determination unit 150 can determine an unnecessary registry for each set of folder groups and registry groups registered in the correspondence management table 114 for each PC. In addition, a registry corresponding to unregistered software installed and uninstalled between the previous polling and the current polling can be determined as an unnecessary registry.

ここで、あるPCにおいて、あるレジストリ部分が複数のソフトウェアによって共通に利用されることも考えられる。その場合、当該複数のソフトウェアの一部がアンインストールされたからといって、当該レジストリ部分を不要レジストリと判定して削除させてしまうと、他のソフトウェアが動作しなくなるおそれもある。具体的には次の通りである。   Here, in a certain PC, a certain registry part may be commonly used by a plurality of software. In this case, if a part of the plurality of software is uninstalled and the registry part is determined to be an unnecessary registry and deleted, other software may not operate. Specifically, it is as follows.

図19は、複数のソフトウェアによるレジストリの共通利用の例を示す図である。例えば、PC200にソフトウェアY,Zがインストールされ、PC200aにソフトウェアYがインストールされ、PC200bにソフトウェアZがインストールされているケースを考える。例えば、ソフトウェアY,Zは、登録ソフトウェアである。   FIG. 19 is a diagram illustrating an example of common use of a registry by a plurality of software. For example, consider a case where software Y and Z are installed in the PC 200, software Y is installed in the PC 200a, and software Z is installed in the PC 200b. For example, software Y and Z are registered software.

管理サーバ100は、PC200aとソフトウェアYがインストールされた他のPC(図示を省略している)とで、レジストリ情報の共通部分を得ることで、ソフトウェアYに対応するレジストリ群を得る。また、管理サーバ100は、PC200bとソフトウェアZがインストールされた他のPC(図示を省略している)とで、レジストリ情報の共通部分を得ることで、ソフトウェアZに対応するレジストリ群を得る。ソフトウェアYに対応するレジストリ群と、ソフトウェアZに対応するレジストリ群とでは、共通に利用される部分が存在する。   The management server 100 obtains a registry group corresponding to the software Y by obtaining a common part of the registry information between the PC 200a and another PC (not shown) in which the software Y is installed. The management server 100 obtains a registry group corresponding to the software Z by obtaining a common part of the registry information between the PC 200b and another PC (not shown) in which the software Z is installed. The registry group corresponding to the software Y and the registry group corresponding to the software Z have portions that are used in common.

このとき、PC200からソフトウェアYまたはソフトウェアZの何れか一方のみが削除され、削除された方のソフトウェアに対応するレジストリを不要レジストリとして削除してしまうと、残った方のソフトウェアが共通部分のレジストリを利用できなくなる。この場合、残った方のソフトウェアの動作に支障がでる。すなわち、PC200において、ソフトウェアY,Zで共通に利用される部分は、ソフトウェアYおよびソフトウェアZの何れか一方が削除されても不要レジストリとすべきでない部分である。そこで、不要レジストリ判定部150は不要レジストリの判定を次のように行ってもよい。   At this time, if only one of the software Y and the software Z is deleted from the PC 200 and the registry corresponding to the deleted software is deleted as an unnecessary registry, the remaining software sets the registry of the common part. It becomes unavailable. In this case, the operation of the remaining software is hindered. That is, in the PC 200, the part that is commonly used by the software Y and Z is a part that should not be an unnecessary registry even if either the software Y or the software Z is deleted. Therefore, the unnecessary registry determination unit 150 may determine the unnecessary registry as follows.

図20は、不要レジストリの他の判定処理を示すフローチャートである。以下、図20に示す処理をステップ番号に沿って説明する。図20の手順では、図18の手順に対し、ステップS33に代えて、ステップS33a,33b,33cを実行する点が、図18と異なる。そこで、以下の説明では、ステップS33a,S33b,S33cを説明し、他の手順の説明を省略する。   FIG. 20 is a flowchart showing another determination process of the unnecessary registry. In the following, the process illustrated in FIG. 20 will be described in order of step number. The procedure of FIG. 20 differs from the procedure of FIG. 18 in that steps S33a, 33b, and 33c are executed instead of step S33. Therefore, in the following description, steps S33a, S33b, and S33c will be described, and description of other procedures will be omitted.

(S33a)不要レジストリ判定部150は、対応管理テーブル114から読み出した情報に基づいて、何れかのPCから削除されたソフトウェアまたはフォルダに対応するレジストリが当該PCに残存するか否かを判定する。判定方法はステップS33と同様である。残存する場合、処理をステップS33bに進める。残存しない場合、処理を終了する。   (S33a) The unnecessary registry determination unit 150 determines whether or not the registry corresponding to the software or folder deleted from any PC remains on the PC based on the information read from the correspondence management table 114. The determination method is the same as in step S33. If so, the process proceeds to step S33b. If it does not remain, the process ends.

(S33b)不要レジストリ判定部150は、対応管理テーブル114を参照して、残存していると判定されたレジストリのうち、該当のPCからアンインストールされていない他のソフトウェアまたは削除されていない他のフォルダにも対応している部分があるか否かを判定する。ある場合、処理をステップS33cに進める。ない場合、処理をステップS34に進める。   (S33b) The unnecessary registry determination unit 150 refers to the correspondence management table 114, and among the registries determined to remain, other software that has not been uninstalled from the corresponding PC or other software that has not been deleted. It is determined whether there is a corresponding part in the folder. If there is, the process proceeds to step S33c. If not, the process proceeds to step S34.

(S33c)不要レジストリ判定部150は、残存するレジストリのうちアンインストールされていない他のソフトウェアまたは他のフォルダに対応する部分以外を不要と判定する。不要レジストリ判定部150は、不要部分の削除を該当のPCに指示する。これにより、該当のPCからレジストリの当該不要部分が削除される。   (S33c) The unnecessary registry determination unit 150 determines that the remaining registries other than those corresponding to other software or other folders that are not uninstalled are unnecessary. The unnecessary registry determination unit 150 instructs the corresponding PC to delete unnecessary portions. As a result, the unnecessary portion of the registry is deleted from the corresponding PC.

このように、管理サーバ100は、複数のソフトウェアによって共通に利用されるレジストリが存在する場合、複数のソフトウェアの何れかのソフトウェアが削除されても、当該レジストリを不要レジストリとして削除しないよう管理できる。   As described above, when there is a registry commonly used by a plurality of software, the management server 100 can manage not to delete the registry as an unnecessary registry even if any of the plurality of software is deleted.

ここで、通常、ソフトウェアのインストール時に、インストーラがソフトウェアの動作のための設定情報をレジストリに登録する。ソフトウェアのアンインストール時には、アンインストーラが、インストール時に登録したレジストリの情報を削除する。しかし、削除漏れにより、不要なレジストリが残存することがある。不要なレジストリが残存することで、その後のソフトウェアのインストール時(例えば、同ソフトウェアの再インストール、新バージョンのインストール、関連ソフトウェアの新規インストール時)などに、ソフトウェアの動作に不具合が生じることがある。また、不要レジストリが過剰に蓄積することでPCの性能劣化(例えば、記憶容量が無駄に使用されるなど)にもつながる。   Here, usually, at the time of software installation, the installer registers setting information for software operation in the registry. When uninstalling software, the uninstaller deletes the registry information registered during installation. However, unnecessary registries may remain due to omission of deletion. If the unnecessary registry remains, a malfunction may occur in the operation of the software when the software is subsequently installed (for example, when the software is reinstalled, a new version is installed, or a related software is newly installed). In addition, excessive accumulation of unnecessary registries leads to PC performance degradation (for example, storage capacity is wasted).

管理サーバ100によれば、対応管理テーブル114に基づいて、不要レジストリを判定し、各PCから削除できる。その結果、他のソフトウェアの動作に対する影響を抑えられる。また、不要レジストリが過剰に蓄積されないようにすることで、PCの性能劣化も抑えられる。   The management server 100 can determine an unnecessary registry based on the correspondence management table 114 and delete it from each PC. As a result, the influence on the operation of other software can be suppressed. Also, by preventing unnecessary registries from accumulating excessively, PC performance degradation can be suppressed.

なお、管理サーバ100の管理対象のマシンは、PC200,200a,200b,200c,200dのような物理マシンに限らず、物理マシン上で動作する仮想マシンでもよい。   Note that the management target machine of the management server 100 is not limited to a physical machine such as the PCs 200, 200a, 200b, 200c, and 200d, but may be a virtual machine that operates on the physical machine.

また、第1の実施の形態の情報処理は、演算部1bにプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体13に記録できる。   The information processing according to the first embodiment can be realized by causing the computing unit 1b to execute a program. The information processing according to the second embodiment can be realized by causing the processor 101 to execute a program. The program can be recorded on a computer-readable recording medium 13.

例えば、プログラムを記録した記録媒体13を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体13に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。   For example, the program can be distributed by distributing the recording medium 13 on which the program is recorded. Alternatively, the program may be stored in another computer and distributed via a network. For example, the computer stores (installs) a program recorded in the recording medium 13 or a program received from another computer in a storage device such as the RAM 102 or the HDD 103, and reads and executes the program from the storage device. Good.

以上の第1,第2の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1) コンピュータに、
管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、
前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する、
処理を実行させる管理プログラム。
Regarding the embodiments including the first and second embodiments, the following additional notes are disclosed.
(Supplementary note 1)
OS management information, file information, and registered software information managed by the OS are obtained from a plurality of managed machines,
Based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software,
Based on the first management information and the file information of the plurality of machines, the OS management information item group in which the software to be used is not specified and the corresponding file exists is stored in the registration software. It is specified as a first item group that is an item group of OS management information used by the first software not included in the information.
Management program that executes processing.

(付記2) 前記複数のマシンのファイル情報に含まれるフォルダおよびファイルの作成時刻に基づいて、前記第1のソフトウェアと前記第1の項目群とを対応付ける、付記1記載の管理プログラム。   (Supplementary note 2) The management program according to supplementary note 1, wherein the first software and the first item group are associated with each other based on creation times of folders and files included in file information of the plurality of machines.

(付記3) 前記OS管理情報、前記ファイル情報、および、前記登録ソフト情報の前記複数のマシンへの問い合わせ時刻と、前記フォルダの作成時刻との比較に応じて前記対応付けに用いるマシンを選択する、付記2記載の管理プログラム。   (Additional remark 3) The machine used for the said correspondence is selected according to the comparison of the inquiry time to the plurality of machines of the OS management information, the file information, and the registered software information with the creation time of the folder The management program according to appendix 2.

(付記4) 前記比較により前記問い合わせ時刻において前記第1のソフトウェアをインストール途中であるマシンを特定し、当該マシン以外のマシンから取得した情報を用いて、前記対応付けを行う、付記3記載の管理プログラム。   (Supplementary note 4) The management according to supplementary note 3, wherein a machine that is installing the first software at the inquiry time is identified by the comparison, and the association is performed using information acquired from a machine other than the machine. program.

(付記5) 何れかのソフトウェアに対応付けた前記第1の項目群を、他のソフトウェアに対応付けた第2の項目群に基づいて変更する、付記1乃至4の何れか1つに記載の管理プログラム。   (Additional remark 5) The said 1st item group matched with any software is changed based on the 2nd item group matched with other software, Any one of Additional notes 1-4 Management program.

(付記6) 前記第2の項目群は、前記第1の項目群の一部であり、
前記何れかのソフトウェアに対応させる項目群を、前記第1の項目群から前記第2の項目群を除外した項目群に変更する、付記5記載の管理プログラム。
(Supplementary Note 6) The second item group is a part of the first item group,
6. The management program according to appendix 5, wherein an item group corresponding to any one of the software is changed to an item group excluding the second item group from the first item group.

(付記7) 前記第1のソフトウェアを含む複数のソフトウェアと複数の項目群との対応関係の情報を生成し、前記対応関係の情報に基づいて、前記複数のマシンそれぞれが有する前記OS管理情報の項目群を削除対象とするか否かを判定する、付記1乃至6の何れか1つに記載の管理プログラム。   (Additional remark 7) The information of the correspondence of the some software containing the said 1st software, and a some item group is produced | generated, Based on the information of the said correspondence, the said OS management information which each of these machines has The management program according to any one of appendices 1 to 6, which determines whether or not an item group is to be deleted.

(付記8) 何れかのマシンにおいて、前記対応関係の情報に含まれる項目群は存在するが、当該項目群に対応する何れのソフトウェアも存在しない場合、当該項目群のうち、当該マシンに存在する他の何れのソフトウェアにも対応付けられていない部分を削除対象と判定する、付記7記載の管理プログラム。   (Supplementary Note 8) In any machine, if there is an item group included in the correspondence information, but there is no software corresponding to the item group, the item group exists in the machine. The management program according to appendix 7, wherein a part that is not associated with any other software is determined as a deletion target.

(付記9) 前記登録ソフト情報に基づいて、共通のソフトウェアがインストールされた2以上のマシンで共通する項目群を、当該ソフトウェアが使用する項目群と特定する、付記1乃至8の何れか1つに記載の管理プログラム。   (Supplementary note 9) Any one of Supplementary notes 1 to 8, which specifies, based on the registered software information, an item group common to two or more machines in which common software is installed as an item group used by the software. The management program described in.

(付記10) 前記第1の項目群の指定を、使用するソフトウェアが特定されていない前記OS管理情報のうち、2以上のマシンが共通に有するファイルに対応付けられる範囲を特定することで行う、付記1乃至9の何れか1つに記載の管理プログラム。   (Supplementary Note 10) The first item group is designated by specifying a range associated with a file that two or more machines have in common among the OS management information for which software to be used is not specified. The management program according to any one of appendices 1 to 9.

(付記11) 前記OS管理情報、前記ファイル情報、および、前記登録ソフト情報の前回取得分と今回取得分との差分により、前回の取得時から今回の取得時の間に追加された前記OS管理情報の項目群、フォルダ、および、ソフトウェアをマシン毎に検出し、各マシンに追加されたソフトウェアが使用する前記OS管理情報の項目群を、追加された項目群の中から特定する、付記1乃至10の何れか1つに記載の管理プログラム。   (Supplementary note 11) The OS management information, the file information, and the difference between the previous acquisition amount and the current acquisition amount of the registered software information indicate the OS management information added between the previous acquisition time and the current acquisition time. Additional items 1 to 10, wherein an item group, a folder, and software are detected for each machine, and an item group of the OS management information used by the software added to each machine is specified from the added item group The management program according to any one of the above.

(付記12) 管理対象の複数のマシンより取得された、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報を記憶する記憶部と、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用する前記OS管理情報の項目群である第1の項目群として特定する演算部と、
を有する管理装置。
(Supplementary Note 12) A storage unit that stores OS management information, file information, and registered software information managed by the OS, acquired from a plurality of managed machines,
Generating, based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software; Based on the first management information and the file information of the plurality of machines, the software to be used is not specified, and the item group of the OS management information in which the corresponding file exists is referred to as the registered software information. A computing unit that is identified as a first item group that is an item group of the OS management information used by the first software that is not included in
A management device.

(付記13) コンピュータが、
管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、
前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用する前期OS管理情報の項目群である第1の項目群として特定する、
管理方法。
(Supplementary note 13)
OS management information, file information, and registered software information managed by the OS are obtained from a plurality of managed machines,
Based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software,
Based on the first management information and the file information of the plurality of machines, the OS management information item group in which the software to be used is not specified and the corresponding file exists is stored in the registration software. As a first item group that is an item group of the previous period OS management information used by the first software not included in the information,
Management method.

1 管理装置
1a 記憶部
1b 演算部
2,3,4 マシン
DESCRIPTION OF SYMBOLS 1 Management apparatus 1a Memory | storage part 1b Operation part 2,3,4 Machine

Claims (8)

コンピュータに、
管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、
前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用するOS管理情報の項目群である第1の項目群として特定する、
処理を実行させる管理プログラム。
On the computer,
OS management information, file information, and registered software information managed by the OS are obtained from a plurality of managed machines,
Based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software,
Based on the first management information and the file information of the plurality of machines, the OS management information item group in which the software to be used is not specified and the corresponding file exists is stored in the registration software. It is specified as a first item group that is an item group of OS management information used by the first software not included in the information.
Management program that executes processing.
前記複数のマシンのファイル情報に含まれるフォルダおよびファイルの作成時刻に基づいて、前記第1のソフトウェアと前記第1の項目群とを対応付ける、請求項1記載の管理プログラム。   The management program according to claim 1, wherein the first software and the first item group are associated with each other based on a folder and a file creation time included in file information of the plurality of machines. 前記OS管理情報、前記ファイル情報、および、前記登録ソフト情報の前記複数のマシンへの問い合わせ時刻と、前記フォルダの作成時刻との比較に応じて前記対応付けに用いるマシンを選択する、請求項2記載の管理プログラム。   The machine used for the association is selected in accordance with a comparison between an inquiry time of the OS management information, the file information, and the registered software information to the plurality of machines and a creation time of the folder. The management program described. 何れかのソフトウェアに対応付けた前記第1の項目群を、他のソフトウェアに対応付けた第2の項目群に基づいて変更する、請求項1乃至3の何れか1項に記載の管理プログラム。   The management program according to any one of claims 1 to 3, wherein the first item group associated with any software is changed based on a second item group associated with another software. 前記第1のソフトウェアを含む複数のソフトウェアと複数の項目群との対応関係の情報を生成し、前記対応関係の情報に基づいて、前記複数のマシンそれぞれが有する前記OS管理情報の項目群を削除対象とするか否かを判定する、請求項1乃至4の何れか1項に記載の管理プログラム。   Generate correspondence information between a plurality of software including the first software and a plurality of items, and delete the items of the OS management information that each of the plurality of machines has based on the correspondence information The management program of any one of Claims 1 thru | or 4 which determines whether it becomes object. 前記OS管理情報では、前記OS管理情報に属する各項目がツリー構造で管理され、
前記第1の項目群の特定を、前記OS管理情報のツリー構造に基づいて、使用するソフトウェアが特定されていない前記OS管理情報のうち、2以上のマシンが共通に有するファイルに対応付けられる項目群または当該項目群が属する上位項目を特定することで行う、請求項1乃至5の何れか1項に記載の管理プログラム。
In the OS management information, each item belonging to the OS management information is managed in a tree structure,
Identification of the first item group is an item associated with a file shared by two or more machines in the OS management information for which software to be used is not specified based on the tree structure of the OS management information. The management program according to any one of claims 1 to 5, wherein the management program is performed by specifying a group or an upper item to which the item group belongs .
管理対象の複数のマシンより取得された、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報を記憶する記憶部と、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用する前記OS管理情報の項目群である第1の項目群として特定する演算部と、
を有する管理装置。
A storage unit for storing OS management information, file information, and registered software information managed by the OS, acquired from a plurality of managed machines;
Generating, based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software; Based on the first management information and the file information of the plurality of machines, the software to be used is not specified, and the item group of the OS management information in which the corresponding file exists is referred to as the registered software information. A computing unit that is identified as a first item group that is an item group of the OS management information used by the first software that is not included in
A management device.
コンピュータが、
管理対象の複数のマシンより、OSが管理するOS管理情報、ファイル情報、および、登録ソフト情報をそれぞれ取得し、
前記登録ソフト情報、および、前記OS管理情報に基づき、前記複数のマシンそれぞれにインストールされたソフトウェア、および、当該ソフトウェアが使用する前記OS管理情報の項目群に関する第1の管理情報を生成し、
前記第1の管理情報、および、前記複数のマシンの前記ファイル情報に基づき、使用するソフトウェアが特定されておらず、かつ、対応するファイルが存在する前記OS管理情報の項目群を、前記登録ソフト情報に含まれない第1のソフトウェアが使用する前記OS管理情報の項目群である第1の項目群として特定する、
管理方法。
Computer
OS management information, file information, and registered software information managed by the OS are obtained from a plurality of managed machines,
Based on the registered software information and the OS management information, software installed on each of the plurality of machines, and first management information relating to an item group of the OS management information used by the software,
Based on the first management information and the file information of the plurality of machines, the OS management information item group in which the software to be used is not specified and the corresponding file exists is stored in the registration software. Specifying the first item group which is the item group of the OS management information used by the first software not included in the information;
Management method.
JP2015069646A 2015-03-30 2015-03-30 Management program, management apparatus, and management method Expired - Fee Related JP6447307B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015069646A JP6447307B2 (en) 2015-03-30 2015-03-30 Management program, management apparatus, and management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015069646A JP6447307B2 (en) 2015-03-30 2015-03-30 Management program, management apparatus, and management method

Publications (2)

Publication Number Publication Date
JP2016189168A JP2016189168A (en) 2016-11-04
JP6447307B2 true JP6447307B2 (en) 2019-01-09

Family

ID=57240340

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015069646A Expired - Fee Related JP6447307B2 (en) 2015-03-30 2015-03-30 Management program, management apparatus, and management method

Country Status (1)

Country Link
JP (1) JP6447307B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316581A (en) * 2002-04-24 2003-11-07 Hitachi Ltd Software installation device
JP4354314B2 (en) * 2004-03-16 2009-10-28 株式会社日立製作所 Server difference management system and information processing apparatus control method
JP2008077546A (en) * 2006-09-25 2008-04-03 Hitachi Information Systems Ltd Setting information collection support system and setting information collection support program
US8463758B2 (en) * 2011-05-13 2013-06-11 Piriform Ltd. Network registry and file cleaner
CN102831010A (en) * 2012-08-30 2012-12-19 腾讯科技(深圳)有限公司 Method and device for opening unknown file

Also Published As

Publication number Publication date
JP2016189168A (en) 2016-11-04

Similar Documents

Publication Publication Date Title
US12399783B2 (en) Partial database restoration
US8132186B1 (en) Automatic detection of hardware and device drivers during restore operations
US7886185B1 (en) Creation of a device database and synthesis of device driver information during dissimilar system restore
US9208307B2 (en) Automatic algorithm discovery using reverse dataflow analysis
CN101789888B (en) Software installation detection method and device
US8661418B2 (en) Setting program, workflow creating method, and work flow creating apparatus
CN100377532C (en) Management system and management method
US10140195B2 (en) Method, apparatus, and computer program product for backup and failure recovery in a storage device
JP6411696B1 (en) Version control system and version control method
JP6292045B2 (en) Software information management program, software information management apparatus, and software information management method
CN103631603A (en) Software cleaning method and system
US8799716B2 (en) Heap dump occurrence detection
JP2019020798A (en) Information processing device and program
JP6447307B2 (en) Management program, management apparatus, and management method
CN112579330A (en) Method, device and equipment for processing abnormal data of operating system
US7275251B2 (en) Selective process restart based on API changes
US10324700B2 (en) Storing computing component installation information
JP2010191580A (en) File management method, system, and program
JP2017033079A (en) Software introduction support program, software introduction support apparatus, and software introduction support method
US20190065168A1 (en) Apparatus and method to shorten software installation time based on a history of file installation
JP6217440B2 (en) Symbolic execution program, symbolic execution method, and symbolic execution device
CN109213748B (en) Database script file updating method, server and medium
US11354081B2 (en) Information processing apparatus with concealed information
US12547334B2 (en) Refresh of stale reference to physical file locations
CN103514089A (en) Method and system for software installation detecting of software manager

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181024

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181106

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181119

R150 Certificate of patent or registration of utility model

Ref document number: 6447307

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees