US11847219B2ActiveUtilityA1

Determining a state of a network

48
Assignee: 1E LTDPriority: Jun 20, 2019Filed: Jun 11, 2020Granted: Dec 19, 2023
Est. expiryJun 20, 2039(~12.9 yrs left)· nominal 20-yr term from priority
Inventors:Andrew Mayo
G06F 21/564G06F 16/137G06F 16/152G06F 16/1748G06F 21/50G06F 21/565G06F 21/64H03M 7/3088H04L 41/0853G06F 21/57
48
PatentIndex Score
0
Cited by
22
References
10
Claims

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-modified
The 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.