Meta-heuristics based on heat maps for software discovery
AssigneeInternational Business Machines Corporation
InventorsTomasz Andrzej Stopa, Grzegorz Sawina, Marcin Labenski
Life of this patent
Estimating the term…
Abstract
An initial software scan is performed to detect a set of software deployed on an endpoint. An ongoing scan of the endpoint is performed to map a set of file directories associated with each software within the set of software. Via the ongoing scan, a usage frequency for each mapped file directory is determined. A heat map is generated for each mapped file directory, according to usage frequency, using a randomized meta-heuristic. A request is received for a software discovery scan result. The software discovery scan, based on the heat map, is performed in response to the request. The result of the software discovery scan is provided to a user.
Claims20
A computer-implemented method for software discovery, the method comprising:
- performing an initial software scan to detect a set of software deployed on an endpoint;
- performing an ongoing scan of the endpoint to map a set of file directories associated with each software within the set of software;
- determining, via the ongoing scan, a usage frequency for each mapped file directory;
- generating a heat map for each mapped file directory, according to the usage frequency, using a randomized meta-heuristic;
- receiving a request for a software discovery scan result;
- performing, in response to the request, a software discovery scan based on the heat map, wherein the software discovery scan comprises performing a new scan of only one or more hotspots on the heatmap and combining the new scan with a most recent scan of each non-hotspot file directory, a hotspot is a file directory with a likelihood of change is above predetermined threshold, and the likelihood of change is determined from a previous scan;
- and
- providing the software discovery scan result to a user.
A computer program product for software discovery, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a device to cause the device to:
- perform an initial software scan to detect a set of software deployed on an endpoint;
- perform an ongoing scan of the endpoint to map a set of file directories associated with each software within the set of software;
- determine, via the ongoing scan, a usage frequency for each mapped file directory;
- generate a heat map for each mapped file directory, according to the usage frequency, using a randomized meta-heuristic;
- receive a request for a software discovery scan result;
- perform, in response to the request, a software discovery scan based on the heat map, wherein the software discovery scan comprises performing a new scan of only one or more hotspots on the heatmap and combining the new scan with a most recent scan of each non-hotspot file directory, a hotspot is a file directory with a likelihood of change is above predetermined threshold, and the likelihood of change is determined from a previous scan;
- and
- provide the software discovery scan result to a user.
A system for software discovery, comprising:
- a memory with program instructions included thereon;
- and
- a processor in communication with the memory, wherein the program instructions cause the processor to:
- perform an initial software scan to detect a set of software deployed on an endpoint;
- perform an ongoing scan of the endpoint to map a set of file directories associated with each software within the set of software, wherein the ongoing scan further comprises updating the heat map according to randomized sampling of the set of file directories, the randomized sampling is performed according to the randomized meta-heuristic, and the randomized meta-heuristic includes a simulated annealing algorithm for determining a logical distance between two accessed files;
- determine, via the ongoing scan, a usage frequency for each mapped file directory;
- generate a heat map for each mapped file directory, according to the usage frequency, using a randomized meta-heuristic;
- receive a request for a software discovery scan result;
- perform, in response to the request, a software discovery scan based on the heat map;
- and
- provide the software discovery scan result to a user.
Dependencies are inferred from the claim text.