# US 11,029,969 B2 · Determining characteristics of configuration files

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,029,969 B2
- Document ID: US11029969B2
- Status: Granted
- Kind: B2
- Application number: 16/030,949
- Filed: 2018-07-10
- Published: 2018-11-01
- Granted: 2021-06-08
- Earliest claimed: 2014-06-30
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Ajay A. Apte; Chang Sheng Li; Fan Jing Meng; Joseph P. Wigglesworth; Jing Min Xu; Bo Yang; Xue Jun Zhuo
- Web page: https://patentgrep.com/patent/US11029969B2

## CPC

- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Determining a characteristic of a configuration file that is used to discover configuration files in a target machine, a computer identifies, using information associated with a configuration item of a machine, a candidate configuration file related to the configuration item of the machine, from among a plurality of files from the machine. The computer extracts a value of a feature of the candidate configuration file and aggregates the candidate configuration file with a second candidate configuration file related to the same configuration item identified from among a plurality of files from a second machine, based on the extracted value. The computer then determines a configuration file related to the configuration item from among the aggregated candidate configuration files based on a result of the aggregation, and determines a characteristic of the configuration file related to the configuration item.

## Claims

### Claim 1

A method for performing configuration management of a computer, the method comprising:
identifying, by the computer, candidate configuration files from among a plurality of files from a training machine by searching the content of the plurality of files from the training machine for keywords associated with configuration items of the machine, wherein a configuration item is a configuration parameter or information that needs to be indicated when installing a system on a machine;
extracting, by the computer, file attribute values of the identified candidate configuration files, wherein the file attribute values have a variable portion;
clustering, by the computer, candidate configuration files identified as having the same configuration item keywords, based on the extracted file attribute values;
classifying, by the computer, each cluster of candidate configuration files related to a configuration item as being configuration files related to the configuration item or as not configuration files;
determining, by the computer, for each cluster of candidate configuration files identified as having the same configuration item keywords, one or more file attribute values that can be used to determine when a candidate configuration file is a configuration file related to the configuration item; and
determining, by the computer using a learning algorithm, the configuration file related to the configuration item from among each cluster of the candidate configuration files based on a result of the determination that the each cluster of candidate configuration files identified as having the same configuration item keywords, wherein the learning algorithm is selected from a group consisting of: a support vector machine (SVM), a decision tree, and a K nearest neighbor (KNN); and
based on determining the configuration file is related to the configuration item, replacing the variable portion with a predetermined identifier.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
receiving, by the computer from a target machine, a plurality of files;
extracting, by the computer, file attribute values of the received files;
determining, by the computer, which of the files are configuration files, based on the determined one or more file attribute values that can be used to determine when a candidate configuration file is a configuration file related to a configuration item of the target machine; and
performing configuration management on one or more of the target machine files determined to be configuration files of the target machine.

### Claim 3 (depends on 1)

The method according to claim 1, wherein the keywords associated with configuration items of the machine include one or more keywords from the list consisting of: configuration item value, configuration item name, and a description of the configuration.

### Claim 4 (depends on 1)

The method according to claim 1, wherein the file attributes are one or more file attributes selected from the list consisting of: file path, file name, file extension name, file size, file access rights, file access time, and file modification time.

### Claim 5 (depends on 1)

The method according to claim 1, wherein clustering candidate configuration files is accomplished by performing one or more clustering methods from the list consisting of: division methods, K-mean value approach, density methods, DBSCAN algorithm, grid methods, and STING algorithm.

### Claim 6 (depends on 1)

The method according to claim 1, further comprising:
filtering, by the computer, the plurality of files from the machine based on a predetermined rule prior to the identifying of the candidate configuration file.

### Claim 7 (depends on 1)

The method according to claim 1, wherein determining, by the computer, the configuration file related to the configuration item from among the each cluster of candidate configuration files based on the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords further comprises:
displaying, by the computer, the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords;
receiving, by the computer, an input from a user; and
modifying, by the computer, the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords based on the input.

### Claim 8 (depends on 1)

The method according to claim 1, further comprising:
filtering, by the computer, the plurality of files from the machine based on a predetermined rule prior to the identifying of the candidate configuration file;
identifying, by the computer, a portion of the extracted file attribute values corresponding to values of one or more configuration items of the machine as a portion of the extracted file attribute values that is specific to the machine; and
replacing, by the computer, the portion of the extracted file attribute values that is specific to the machine with a predefined identifier.

### Claim 9

A computer program product for performing configuration management of a computer, the computer program product comprising one or more computer readable storage medium and program instructions stored on at least one of the one or more computer readable storage medium, the program instructions comprising:
program instructions to identify, by the computer, candidate configuration files from among a plurality of files from a training machine by searching the content of the plurality of files from the training machine for keywords associated with configuration items of the machine, wherein a configuration item is a configuration parameter or information that needs to be indicated when installing a system on a machine;
program instructions to extract, by the computer, file attribute values of the identified candidate configuration files, wherein the file attribute values have a variable portion;
program instructions to cluster, by the computer, candidate configuration files identified as having the same configuration item keywords, based on the extracted file attribute values;
program instructions to classify, by the computer, each cluster of candidate configuration files related to a configuration item as being configuration files related to the configuration item or as not configuration files;
program instructions to determine, by the computer, for each cluster of candidate configuration files identified as having the same configuration item keywords, one or more file attribute values that can be used to determine when a candidate configuration file is a configuration file related to the configuration item; and
program instructions to determine, by the computer using a learning algorithm, the configuration file related to the configuration item from among each cluster of the candidate configuration files based on a result of the determination that the each cluster of candidate configuration files identified as having the same configuration item keywords, wherein the learning algorithm is selected from a group consisting of: a support vector machine (SVM), a decision tree, and a K nearest neighbor (KNN); and
based on determining the configuration file is related to the configuration item, program instructions to replace the variable portion with a predetermined identifier.

### Claim 10 (depends on 9)

The computer program product of claim 9, further comprising:
receiving, by the computer from a target machine, a plurality of files;
extracting, by the computer, file attribute values of the received files;
determining, by the computer, which of the files are configuration files, based on the determined one or more file attribute values that can be used to determine when a candidate configuration file is a configuration file related to a configuration item of the target machine; and
performing configuration management on one or more of the target machine files determined to be configuration files of the target machine.

### Claim 11 (depends on 9)

The computer program product according to claim 9, wherein the keywords associated with configuration items of the machine include one or more keywords from the list consisting of: configuration item value, configuration item name, and a description of the configuration.

### Claim 12 (depends on 9)

The computer program product according to claim 9, wherein the file attributes are one or more file attributes selected from the list consisting of: file path, file name, file extension name, file size, file access rights, file access time, and file modification time.

### Claim 13 (depends on 9)

The computer program product according to claim 9, wherein clustering candidate configuration files is accomplished by performing one or more clustering methods from the list consisting of: division methods, K-mean value approach, density methods, DBSCAN algorithm, grid methods, and STING algorithm.

### Claim 14 (depends on 9)

The computer program product according to claim 9, further comprising:
program instructions to filter, by the computer, the plurality of files from the machine based on a predetermined rule prior to the identifying of the candidate configuration file.

### Claim 15 (depends on 9)

The computer program product according to claim 9, wherein program instructions to determine, by the computer, the configuration file related to the configuration item from among the each cluster of candidate configuration files based on the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords further comprises:
program instructions to display, by the computer, the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords;
program instructions to receive, by the computer, an input from a user; and
program instructions to modify, by the computer, the result of the determination that each cluster of the candidate configuration files identified as having the same configuration item keywords based on the input.

### Claim 16 (depends on 9)

The computer program product according to claim 9, further comprising:
program instructions to filter, by the computer, the plurality of files from the machine based on a predetermined rule prior to the identifying of the candidate configuration file;
program instructions to identify, by the computer, a portion of the extracted file attribute values corresponding to values of one or more configuration items of the machine as a portion of the extracted file attribute values that is specific to the machine; and
program instructions to replace, by the computer, the portion of the extracted file attribute values that is specific to each machine with a predefined identifier.
