# US 9,519,648 B2 · Software detection

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

- Number: US 9,519,648 B2
- Document ID: US9519648B2
- Status: Granted
- Kind: B2
- Application number: 13/609,459
- Filed: 2012-09-11
- Published: 2013-03-28
- Granted: 2016-12-13
- Earliest claimed: 2011-09-27
- Assignees: International Business Machines Corporation
- Applicants: Grzegorz Majka; Artur Obrzut; Ryszard Olkusnik; Marcin Skalski
- Inventors: Grzegorz Majka; Artur Obrzut; Ryszard Olkusnik; Marcin Skalski
- Web page: https://patentgrep.com/patent/US9519648B2

## CPC

- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, system and computer program product for software discovery in a computer system comprising a server and a client. Data defining at least one file category is received at the client from the server. File information pertaining to files belonging to the respective file category is established at the client for each of the at least one file category. The file information for each of the at least one file category is communicated from the client to the server. For each of the at least one file category, a checksum is calculated from the file information.

## Claims

### Claim 1

A method for software discovery in a computer system comprising a server and a client, the method comprising:
receiving, at said client from said server, data defining at least one file category based on one or more file attributes;
establishing, at said client for each of said at least one file category, file information pertaining to files belonging to the respective file category;
communicating said file information for each of said at least one file category from said client to said server;
calculating, by a processor, for each of said at least one file category, a checksum from said file information; and
comparing said checksum for a given file category for a given realm of a file system with a previously calculated checksum for said given file category for said given realm of said file system, wherein a checksum mismatch indicates a change within said given file category for said given realm of said file system.

### Claim 2 (depends on 1)

The method as recited in claim 1 further comprising:
storing, for each of said at least one file category, said calculated checksum in a database of said server.

### Claim 3

A method for software discovery in a computer system comprising a server and a client, the method comprising:
receiving, at said client from said server, data defining at least one file category based on one or more file attributes;
establishing, at said client for each of said at least one file category, file information pertaining to files belonging to the respective file category;
calculating, for each of said at least one file category, a checksum from said file information; and
establishing, by a processor, from among each of said at least one file category, a set of file categories for which said checksum mismatches a corresponding checksum for the respective file category stored in at least one of said server and said client.

### Claim 4 (depends on 3)

The method as recited in claim 3 further comprising:
selecting, based on said set of file categories, file data to be communicated from said client to said server, said file data being selected from said file information of said set of file categories; and
communicating said file data from said client to said server.

### Claim 5 (depends on 4)

The method as recited in claim 4, wherein said selecting comprises selecting said file data from an intersection of file information of a first file category of said set of file categories and file information of a second file category of said set of file categories.

### Claim 6 (depends on 3)

The method as recited in claim 3 further comprising:
communicating, for each of said set of file categories, said calculated checksum from said client to said server.

### Claim 7 (depends on 3)

The method as recited in claim 3, wherein said files are files located on a volume accessible solely via said client.

### Claim 8

A computer program product embodied in a non-transitory computer readable storage medium for software discovery in a computer system comprising a server and a client, the computer program product comprising the programming instructions for:
receiving, at said client from said server, data defining at least one file category based on one or more file attributes;
establishing, at said client for each of said at least one file category, file information pertaining to files belonging to the respective file category;
calculating, for each of said at least one file category, a checksum from said file information; and
establishing from among each of said at least one file category, a set of file categories for which said checksum mismatches a corresponding checksum for the respective file category stored in at least one of said server and said client.

### Claim 9 (depends on 8)

The computer program product as recited in claim 8 further comprising the programming instructions for:
selecting, based on said set of file categories, file data to be communicated from said client to said server, said file data being selected from said file information of said set of file categories; and
communicating said file data from said client to said server.

### Claim 10 (depends on 9)

The computer program product as recited in claim 9, wherein the programming instructions for selecting comprises the programming instructions for selecting said file data from an intersection of file information of a first file category of said set of file categories and file information of a second file category of said set of file categories.

### Claim 11 (depends on 8)

The computer program product as recited in claim 8 further comprising the programming instructions for:
communicating, for each of said set of file categories, said calculated checksum from said client to said server.

### Claim 12 (depends on 8)

The computer program product as recited in claim 8, wherein said files are files located on a volume accessible solely via said client.

### Claim 13

A system, comprising:
a memory unit for storing a computer program for software discovery in a computer system comprising a server and a client; and
a processor coupled to the memory unit, wherein the processor, responsive to the computer program, comprises:
circuitry for communicating data defining at least one file category based on one or more file attributes from said server to said client;
circuitry for establishing, at said client for each of said at least one file category, file information pertaining to files belonging to the respective file category;
circuitry for calculating, for each of said at least one file category, a checksum from said file information; and
circuitry for establishing from among each of said at least one file category, a set of file categories for which said checksum mismatches a corresponding checksum for the respective file category stored in at least one of said server and said client.

### Claim 14 (depends on 13)

The system as recited in claim 13, wherein said processor further comprises:
circuitry for selecting, based on said set of file categories, file data to be communicated from said client to said server, said file data being selected from said file information of said set of file categories; and
circuitry for communicating said file data from said client to said server.

### Claim 15 (depends on 14)

The system as recited in claim 14, wherein the circuitry for selecting comprises circuitry for selecting said file data from an intersection of file information of a first file category of said set of file categories and file information of a second file category of said set of file categories.

### Claim 16 (depends on 13)

The system as recited in claim 13, wherein said processor further comprises:
circuitry for communicating, for each of said set of file categories, said calculated checksum from said client to said server.

### Claim 17 (depends on 13)

The system as recited in claim 13, wherein said files are files located on a volume accessible solely via said client.
