IP Library Granted Patent US 10,936,354
Granted Patent B2
US 10,936,354 · App. 15/952,263 · Granted Mar 2, 2021

Rebuilding a virtual infrastructure based on user data

Inventors: Yu Wu (Shanghai, CN); Sifan Liu (Shanghai, CN); Jin Feng (Shanghai, CN)
Assignee: VMWARE, INC.
G06F9/45558G06F2009/4557G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,936,354
App. No.
15/952,263
Granted
Mar 2, 2021
Kind
B2
Abstract

A method for replicating a first virtual infrastructure of a customer includes receiving configuration data of the first virtual environment from a first management server of the first virtual infrastructure, replicating the first virtual infrastructure by creating a second virtual infrastructure with a hierarchy of the first virtual infrastructure in a virtual environment, applying a workload to the second virtual infrastructure, and detecting any error in the second virtual infrastructure.

Claims (79)

1. A method to replicate a first virtual infrastructure of a customer, the method comprising:

receiving, from a first management server of the first virtual infrastructure, configuration data of the first virtual infrastructure in a first virtual environment;

pre-processing the configuration data;

creating a first multi-dimensional array based on the pre-processed configuration data;

determining a second multi-dimensional array that represents the first multi-dimensional array, wherein the second multi-dimensional array is determined by applying dimensionality reduction to the first multi-dimensional array;

based on the configuration data, replicating the first virtual infrastructure by creating a second virtual infrastructure, which includes a reproduction of a hierarchy of the first virtual infrastructure, in a second virtual environment, wherein creating the second virtual infrastructure includes creating the second virtual infrastructure based on the second multi-dimensional array;

applying a workload to the second virtual infrastructure that includes the reproduction of the hierarchy of the first virtual infrastructure; and

identifying an error in the first virtual infrastructure for debugging, by detecting any error in the second virtual infrastructure that results from the applied workload and that is a reproduction of the error in the first virtual infrastructure.

2. The method of claim 1 , wherein the configuration data comprises configurations of machines, networks, and storage in the first virtual infrastructure.

3. The method of claim 1 , wherein the configuration data comprises configurations of one or more of:

a virtual datacenter managed by the first management server;

a cluster in the virtual datacenter;

cluster storage in the cluster;

clustered hosts in the cluster;

a standard virtual switch in each clustered host;

a distributed virtual switch in the virtual datacenter; and

one or more un-clustered hosts in the virtual datacenter.

4. The method of claim 3 , further comprising:

configuring a second management server in the second virtual infrastructure with a configuration of the first management server; and

implementing the clustered hosts and the one or more un-clustered hosts with virtual machines in the second virtual environment.

5. The method of claim 1 , further comprising:

receiving workload data, system failure data, and management workflow data; and

pre-processing the workload data, system failure data, and management workflow data,

wherein the first multi-dimensional array is created further based on the pre-processed workload data, system failure data, and management workflow data,

wherein the second multi-dimensional array includes at least some of the pre-processed workload data, system failure data, and management workflow data from the first multi-dimensional array, and

wherein applying the workload to the second virtual infrastructure includes injecting at least some of the pre-processed workload data, system failure data, and management workflow data of the second multi-dimensional array into the second virtual infrastructure.

6. A computer system, comprising:

a system replicator to replicate a first virtual infrastructure of a customer, wherein the system replicator is configured to:

receive, from a first management server of the first virtual infrastructure, configuration data of the first virtual infrastructure in a first virtual environment;

a pre-processor configured to pre-process the configuration data;

a system simulator configured to create a first multi-dimensional array based on the pre-processed configuration data;

a system profiler configured to determine a second multi-dimensional array that represents the first multi-dimensional array, wherein system profiler determines the second multi-dimensional array by application of a dimensionality reduction to the first multi-dimensional array,

wherein the system replicator is further configured to:

based on the configuration data, replicate the first virtual infrastructure by creation of a second virtual infrastructure, which includes a reproduction of a hierarchy of the first virtual infrastructure, in a second virtual environment, wherein the system replicator is configured to create the second virtual infrastructure based on the second multi-dimensional array;

apply a workload to the second virtual infrastructure that includes the reproduction of the hierarchy of the first virtual infrastructure; and

identify an error in the first virtual infrastructure for debugging, by detection of any error in the second virtual infrastructure that results from the applied workload and that is a reproduction of the error in the first virtual infrastructure.

7. The system of claim 6 , wherein the configuration data comprises configurations of machines, networks, and storage in the first virtual infrastructure.

8. The system of claim 6 , wherein the configuration data comprises configurations of one or more of:

a virtual datacenter managed by the first management server;

a cluster in the virtual datacenter;

cluster storage in the cluster;

clustered hosts in the cluster;

a standard virtual switch in each clustered host;

a distributed virtual switch in the virtual datacenter; and

one or more un-clustered hosts in the virtual datacenter.

9. The system of claim 8 , wherein the system replicator is further configured to:

configure a second management server in the second virtual infrastructure with a configuration of the first management server; and

implement the clustered hosts and the one or more un-clustered hosts with virtual machines in the second virtual environment.

10. The system of claim 6 , wherein:

the pre-processor is configured to receive workload data, system failure data, and management workflow data, and configured to pre-process the workload data, system failure data, and management workflow data,

the first multi-dimensional array is created by the system replicator further based on the pre-processed workload data, system failure data, and management workflow data,

the second multi-dimensional array includes at least some of the pre-processed workload data, system failure data, and management workflow data from the first multi-dimensional array, and

the system replicator is configured to apply the workload to the second virtual infrastructure by injection of at least some of the pre-processed workload data, system failure data, and management workflow data of the second multi-dimensional array into the second virtual infrastructure.

11. A non-transitory, computer-readable storage medium encoded with instructions executable by a processor to replicate a first virtual storage system of a customer, wherein the instructions, in response to execution by the processor cause the processor to perform or control performance of operations comprising:

receiving, from a first management server of the first virtual infrastructure, configuration data of the first virtual infrastructure in a first virtual environment;

pre-processing the configuration data;

creating a first multi-dimensional array based on the pre-processed configuration data;

determining a second multi-dimensional array that represents the first multi-dimensional array, wherein the second multi-dimensional array is determined by applying dimensionality reduction to the first multi-dimensional array;

based on the configuration data, replicating the first virtual infrastructure by creating a second virtual infrastructure, which includes a reproduction of a hierarchy of the first virtual infrastructure, in a second virtual environment, wherein creating the second virtual infrastructure includes creating the second virtual infrastructure based on the second multi-dimensional array;

applying a workload to the second virtual infrastructure that includes the reproduction of the hierarchy of the first virtual infrastructure; and

identify an error in the first virtual infrastructure for debugging, by detecting any error in the second virtual infrastructure that results from the applied workload and that is a reproduction of the error in the first virtual infrastructure.

12. The non-transitory, computer-readable storage medium of claim 11 , wherein the configuration data comprises configurations of machines, networks, and storage in the first virtual infrastructure.

13. The non-transitory, computer-readable storage medium of claim 11 , wherein the configuration data comprises configurations of one or more of:

a virtual datacenter managed by the first management server;

a cluster in the virtual datacenter;

cluster storage in the cluster;

clustered hosts in the cluster;

a standard virtual switch in each clustered host;

a distributed virtual switch in the virtual datacenter; and

one or more un-clustered hosts in the virtual datacenter.

14. The non-transitory, computer-readable storage medium of claim 13 , wherein the operations further comprise:

configuring a second management server in the second virtual infrastructure with a configuration of the first management server; and

implementing the clustered hosts and the one or more un-clustered hosts with virtual machines in the second virtual environment.

15. The non-transitory, computer-readable storage medium of claim 11 , wherein the operations further comprise:

receiving workload data, system failure data, and management workflow data; and

pre-processing the workload data, system failure data, and management workflow data,

wherein the first multi-dimensional array is created further based on the pre-processed workload data, system failure data, and management workflow data,

wherein the second multi-dimensional array includes at least some of the pre-processed workload data, system failure data, and management workflow data from the first multi-dimensional array, and

wherein applying the workload to the second virtual infrastructure includes injecting at least some of the pre-processed workload data, system failure data, and management workflow data of the second multi-dimensional array into the second virtual infrastructure.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2018
From: WU, YU; LIU, SIFAN; FENG, JIN
To: VMWARE, INC.
Reel/Frame 045530/0599 →
Continuity (1)
Related Publication 20190317787A1 · Oct 17, 2019