Determining a state of a network
Abstract
A client computing device has a storage device storing a plurality of files and a system agent. The system agent applies a hash function to binary data read from the plurality of files to generate a set of data signatures. A server computing device has a database interface to access a database representing a state of the network and storage for a set of exemplar data signatures resulting from a scan of one or more exemplar computing devices, each data signature generated by applying a hash function to binary data representing a file. The client computing device is configured to receive and compare the set of exemplar data signatures with the generated set of data signatures, and to transmit data to the server computing device based on the comparison. The server computing device is configured to obtain data received from the client computing device and update records in the database.
Claims
exact text as granted — not AI-modifiedThe invention claimed is:
1. A method of determining a state of a network of computing devices, the method comprising:
obtaining a set of exemplar data signatures resulting from a scan of one or more exemplar computing devices, each data signature in the set of exemplar data signatures being generated by applying a hash function to binary data from a file in a set of files accessible to the one or more exemplar computing devices;
transmitting the set of exemplar data signatures to the computing devices over the network;
receiving state data from the computing devices over the network;
processing the state data to extract state bitmaps for the computing devices, the state bitmaps indicating a presence or absence of each data signatures in the set of exemplar data signatures; and
using the state bitmaps to update a database representing the state of the network, the database comprising data records indicating which files are present in each of the computing devices.
2. A method according to claim 1 , wherein the set of exemplar data signatures comprises a first set of exemplar data signatures associated with a first set of files, and wherein the method comprises:
obtaining a second set of exemplar data signatures associated with a second set of files; and
transmitting the second set of exemplar data signatures to the computing devices over the network;
wherein the state bitmaps further indicate a presence or absence of each data signature in the second set of exemplar data signatures.
3. A method according to claim 1 , comprising:
transmitting a first state request to the computing devices over the network and receiving the state data in response to the first state request;
transmitting a further state request to the computing devices over the network;
receiving state update data from the computing devices over the network in response to the further state request,
wherein the state update data comprises differences between a plurality of state bitmaps generated at different times; and
using the state update data to update the database representing the state of the network.
4. A method according to claim 3 , wherein receiving state update data from the computing devices over the network comprises:
receiving a first subset of the state update data, corresponding to a first subset of the computing devices, at a first time;
receiving a second subset of the state update data, corresponding to a second subset of the computing devices, at a second time that is separated from the first time by a predefined time period.
5. A method according to claim 3 , wherein the update request comprises a count request, the method comprising, before receiving the state update data:
receiving count data from the computing devices over the network, the count data indicating a number of differences to be sent in the state update data;
determining that the number of differences for one or more of the computing devices exceeds a predetermined threshold; and
in response to the determining, retransmitting the set of exemplar data signatures to the said one or more of the computing devices.
6. A method according to claim 1 , comprising:
receiving, from one or more computing devices over the network, additional state data indicative of one or more data signatures which correspond, respectively, to one or more files present on the one or more computing devices that do not have a representative data signature in the set of exemplar data signatures; and
using the additional state data to update the database representing the state of the network.
7. A method according to claim 6 , comprising receiving additional state data from a plurality of computing devices;
determining, based on the received additional state data, that a file not having a representative data signature in the set of exemplar data signatures is present on a number of the plurality of computing devices, the number exceeding a predetermined threshold; and
adding the data signature representing the file to the set of exemplar data signatures for subsequently transmitting to the computing devices over the network.
8. A method of generating a set of exemplar data signatures for use in determining a state of a network of computing devices, the method comprising:
initiating an installation of a predefined operating system on a virtual computing device;
during the installation, determining whether a set of primary files for the operating system have been extracted;
responsive to the extraction of the set of primary files, pausing the installation;
copying data stored on a virtual storage device for the virtual computing device to a prepared volume of data storage;
generating the set of exemplar data signatures by parsing a file-system data file for the prepared volume of data storage to obtain data locations for a plurality of files and applying a hash function to binary data read from the obtained data locations.
9. A method according to claim 8 , wherein the set of exemplar data signatures comprises a first set of exemplar data signatures, and wherein the method comprises:
generating a second set of exemplar data signatures, including:
scanning a computing device, having a predetermined configuration, to obtain a superset of data signatures for a plurality of files that are stored on at least one volume of data storage accessible by the computing device;
removing data signatures present in the first set of exemplar data signatures from the superset of data signatures to obtain the second set of exemplar data signatures.
10. A server computing device comprising:
a database interface to access a database representing a state of a network;
data storage to store a set of exemplar data signatures resulting from a scan of one or more exemplar computing devices, each data signature being generated by applying a hash function to binary data representing a file;
a memory comprising computer program code for a network server;
at least one processor configured to execute the computer program code for the network server to:
instruct a transmission of the set of exemplar data signatures to one or more computing devices coupled to the network;
obtain state data communicated from the computing devices over the network;
process the state data to extract state bitmaps for the computing devices, the state bitmaps indicating a presence or absence of each of the set of exemplar data signatures; and
update data records for the database using the state bitmaps, the data records indicating which files are present in each of the computing devices coupled to the network.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.