# US 10,310,881 B2 · Compositing data model information across a network

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

- Number: US 10,310,881 B2
- Document ID: US10310881B2
- Status: Granted
- Kind: B2
- Application number: 14/927,097
- Filed: 2015-10-29
- Published: 2017-05-04
- Granted: 2019-06-04
- Earliest claimed: 2015-10-29
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: David Byard; Wit Riewrangboonya; Nick Tenczar
- Web page: https://patentgrep.com/patent/US10310881B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for managing a virtual infrastructure is described. The method includes: generating a configuration information model representing a virtual infrastructure based on known virtual machines and network settings thereon; querying one or more sources of truth other than the known virtual machines, wherein the one or more sources of truth includes a data storage that stores at least one data object that answers a particular question; and comparing the data from the one or more sources of truth with a store of configuration model information, wherein the configuration model information comprises a time stamp and a source identifier; based on the comparing, generates a set of rules; and based on the set of rules, updates the configuration information model.

## Claims

### Claim 1

A non-transitory, computer-readable medium comprising instructions that, when executed by a processor of a computing device, cause the computing device to:
generate a configuration information model representing a virtual infrastructure based on known virtual machines and network settings thereon;
retrieve a data object stored in a data storage, the data object associated with an unconfigured computer service that is not represented by the configuration information model;
compare the data object to the configuration information model, wherein said configuration information model comprises a time stamp and a source identifier;
determine, based on the comparison, that the configuration information model does not include the unconfigured computer service; and
based on the determination, update the configuration information model to include the unconfigured computer service.

### Claim 2 (depends on 1)

The non-transitory, computer-readable medium of claim 1, the instructions further causing the computing device to receive a request for said configuration information model and sends an updated configuration information model.

### Claim 3 (depends on 1)

The non-transitory, computer-readable medium of claim 1, the instructions further causing the computing device to retrieve a data object associated with an out-of-network service that is not represented by the configuration information model, and further updating the configuration information model to include the out-of-network service.

### Claim 4 (depends on 1)

The non-transitory, computer-readable medium of claim 1, the instructions further causing the computing device to:
initiate at least one triggering action, wherein a triggering action of said at least one triggering action comprises:
monitoring a state of said data object; and
updating said configuration information model if said state of said data object changes.

### Claim 5 (depends on 1)

The non-transitory, computer-readable medium article of manufacture of claim 1, the instructions further causing the computing device to receive a set of rules, wherein said set of rules associates an update to the configuration information model with the data object.

### Claim 6 (depends on 1)

The non-transitory, computer-readable medium of claim 1, the instructions further causing the computing device to update a portion of the configuration information model based on receiving a request to update the portion of the configuration information model.

### Claim 7 (depends on 1)

The non-transitory, computer-readable medium of claim 1, the instructions further causing the computing device to send the updated configuration information model to one or more nodes.

### Claim 8 (depends on 7)

The non-transitory, computer-readable medium of claim 7, the instructions further causing the computing device to maintain a list of nodes and select at least one node from said list of nodes to which to send the updated configuration information model.

### Claim 9 (depends on 8)

The non-transitory, computer-readable medium of claim 8, the instructions further causing the computing device to select at least one node from said list of nodes using a random selection algorithm.

### Claim 10

A method for managing a virtual infrastructure, the method comprising:
generating a configuration information model representing a virtual infrastructure based on known virtual machines and network settings thereon;
retrieving a data object stored in a data storage, the data object associated with an unconfigured computer service that is not represented by the configuration information model;
comparing the data object to the configuration information model, wherein said configuration information model comprises a time stamp and a source identifier;
determine, based on the comparison, that the configuration information model does not include the unconfigured computer service; and
based on the determination, update the configuration information model to include the unconfigured computer service.

### Claim 11 (depends on 10)

The method of claim 10, further comprising:
receiving a request for said configuration information model; and
sending the updated configuration information model.

### Claim 12 (depends on 10)

The method of claim 10, further comprising retrieving a data object associated with an out-of-network service that is not represented by the configuration information model, and further updating the configuration information model to include the out-of-network service.

### Claim 13 (depends on 10)

The method of claim 10, further comprising:
initiating at least one triggering action, wherein said at least one triggering action comprises:
monitoring a state of said data object; and
updating said configuration information model if said state of said data object changes.

### Claim 14 (depends on 10)

The method of claim 10, further comprising:
receiving a set of rules that associates an update to the configuration information model with the data object.

### Claim 15 (depends on 10)

The method of claim 10, further comprising updating a portion of the configuration information model based on receiving a request to update the portion of the configuration information model.

### Claim 16 (depends on 10)

The method of claim 10, further comprising causing the computing device to send the updated configuration information model to one or more nodes.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
maintaining a list of nodes; and
selecting at least one node from said list of nodes to which to send the updated configuration information model.

### Claim 18

An apparatus for managing a virtual infrastructure, said apparatus comprising:
a memory store; and
a hardware processor configured to execute a non-transitory, computer-readable medium comprising instructions that cause the processor to:
generating a configuration information model representing a virtual infrastructure based on known virtual machines and network settings thereon;
retrieve a data object stored in a data storage, the data object associated with an unconfigured computer service that is not represented by the configuration information model;
comparing the data object to the configuration information model, wherein said configuration information model comprises a time stamp and a source identifier;
determining, based on the comparison, that the configuration information model does not include the unconfigured computer service; and
based on the determination, updating the configuration information model to include the unconfigured computer service.
