IP Library › Granted Patent US 10,796,035
Granted Patent B1
US 10,796,035 · App. 15/076,224 · Granted Oct 6, 2020

Computing system with simulated hardware infrastructure to support development and testing of management and orchestration software

Inventors: Robert Guowu Xia (Shanghai, CN); Joseph James Longever, Jr. (Dorchester, MA); Simon Alexander Jensen-Fellows (Acton, MA); Xiaoxia Shu (Shanghai, CN); Xiaoguang Fu (Shanghai, CN); Chao Wang (Shanghai, CN); Xingwang Cai (Shanghai, CN); Chao Wu (Shanghai, CN); Xin Lin (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F30/20
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,796,035
App. No.
15/076,224
Filed
Mar 21, 2016
Granted
Oct 6, 2020
Kind
B1
Art Unit
2127
USPC
703/21
Abstract

Techniques for building and implementing computing systems with simulated hardware infrastructures are provided to support, for example, development and testing of management and orchestration software. For example, a system includes a processing platform comprising hardware resources, and a simulated computing system executing on top of the processing platform using the hardware resources. The simulated computing system comprises simulated elements including a simulated compute node, a simulated network switch device, and a simulated power distribution device. The simulated compute node comprises a simulated hardware processor and a simulated storage device. The system further comprises a test control interface configured to enable a user to test the simulated computing system by injecting an error into the simulated computing system. For example, error injection includes manipulating a behavior of one or more of the simulated elements and/or simulating a failure of one or more of the simulated elements.

Claims (53)

1. A system, comprising:

a processing platform comprising hardware resources; and

a simulated computing system executing on top of the processing platform using the hardware resources;

wherein the simulated computing system comprises a plurality of simulated elements, the simulated elements comprising:

a simulated compute node, the simulated compute node comprising a simulated hardware processor and a simulated storage device;

a simulated network switch device; and

a simulated power distribution device;

a test control interface configured to enable a user to test the simulated computing system by injecting an error into the simulated computing system, wherein injecting an error comprises at least one of (i) manipulating a behavior of one or more of the simulated elements and (ii) simulating a failure of one or more of the simulated elements; and

a management and orchestration platform executing on top of the simulated computing system, wherein the test control interface is configured to enable a user to inject the error into the simulated computing system to test a functionality of the management and orchestration platform;

wherein the management and orchestration platform is configured to automatically initiate a response upon detection of the error;

wherein the simulated computing system comprises a first hypervisor platform executing on top of the processing platform, and wherein the simulated network switch device comprises a plurality of simulated network switch devices that execute on the first hypervisor platform;

wherein the simulated compute node comprises a second hypervisor platform, wherein the simulated hardware processor and the simulated storage device execute on the second hypervisor platform;

wherein the second hypervisor platform executes on top of the first hypervisor platform; and

wherein the plurality of simulated network switch devices comprises a first set of simulated network switch devices that implement a simulated in-band network, and a second set of simulated network switch devices that implement a simulated out-of-band network.

2. The system of claim 1 , wherein manipulating the behavior of one or more of the simulated elements comprises changing firmware behavior of one or more of the simulated elements.

3. The system of claim 1 , wherein the simulated compute node is configured to emulate a vendor-specific server node, wherein properties of the simulated hardware processor and simulated storage device comprises user-defined properties that emulate functionalities of a vendor-specific hardware processor and a vendor-specific storage device.

4. The system of claim 1 , wherein the simulated computing system further comprises a simulated baseboard management controller (BMC) that is configured to monitor a state of one or more simulated elements of the simulated computing system, and wherein the test control interface is configured to enable the user to access and control the BMC and inject an error into the simulated computing system by user manipulation of the BMC.

5. The system of claim 1 , wherein the processing platform comprises a plurality of server nodes, and wherein the simulated computing system comprises a simulated datacenter that executes on the server nodes and wherein the management and orchestration platform is implemented across the simulated datacenter.

6. The system of claim 1 , wherein injecting an error comprises altering telemetry data of the one or more simulated elements, the telemetry data comprising one or more measurements of power usage, power consumption, network through-put, fan speed, voltage, current, and temperature, associated with the one or more simulated elements.

7. The system of claim 6 , wherein the management and orchestration platform is configured to initiate a migration process in response to the telemetry data.

8. A method, comprising;

executing a simulated computing system on top of a processing platform using hardware resources of the processing platform, wherein the simulated computing system comprises a plurality of simulated elements, the simulated elements comprising a simulated compute node, a simulated network switch device, and a simulated power distribution device, wherein the simulated compute node comprises a simulated hardware processor and a simulated storage device;

presenting a test control interface that is configured to enable a user to test the simulated computing system by injecting an error into the simulated computing system, wherein injecting an error comprises at least one of (i) manipulating a behavior of one or more of the simulated elements and (ii) simulating a failure of one or more of the simulated elements; and

executing a management and orchestration platform executing on top of the simulated computing system, wherein the test control interface is configured to enable a user to inject error into the simulated computing system to test a functionality of the management and orchestration platform;

wherein the management and orchestration platform is configured to automatically initiate a response upon detection of the error;

wherein the simulated computing system comprises a first hypervisor platform executing on top of the processing platform, and wherein the simulated network switch device comprises a plurality of simulated network switch devices that execute on the first hypervisor platform;

wherein the simulated compute node comprises a second hypervisor platform, wherein the simulated hardware processor and the simulated storage device execute on the second hypervisor platform;

wherein the second hypervisor platform executes on top of the first hypervisor platform; and

wherein the plurality of simulated network switch devices comprises a first set of simulated network switch devices that implement a simulated in-band network, and a second set of simulated network switch devices that implement a simulated out-of-band network.

9. The method of claim 8 , wherein manipulating the behavior of one or more of the simulated elements comprises manipulating changing firmware behavior of one or more of the simulated elements.

10. The method of claim 8 , wherein the simulated compute node is configured to emulate a vendor-specific server node, wherein properties of the simulated hardware processor and simulated storage device are user-defined properties that emulate functionalities of a vendor-specific hardware processor and a vendor-specific storage device.

11. The method of claim 8 , wherein the simulated computing system further comprises a simulated baseboard management controller (BMC) that is configured to monitor a state of one or more simulated elements of the simulated computing system, and wherein the test control interface is configured to enable the user to access and control the BMC and inject an error into the simulated computing system by user manipulation of the BMC.

12. An article of manufacture comprising a non-transitory processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by one or more processing devices implement the method of claim 8 .

13. The method of claim 8 , wherein injecting an error comprises altering telemetry data of the one or more simulated elements, the telemetry data comprising one or more measurements of power usage, power consumption, network through-put, fan speed, voltage, current, and temperature, associated with the one or more simulated elements.

14. The method of claim 13 , wherein the management and orchestration platform is configured to initiate a migration process in response to the telemetry data.

15. An article of manufacture comprising a non-transitory processor-readable storage medium having encoded therein executable code of one or more software programs, wherein the one or more software programs when executed by one or more processing devices implement a simulated computing system, wherein the executable code comprises:

executable code to generate a plurality of simulated elements of a simulated computing system, the simulated elements comprising a simulated compute node, a simulated network switch device, and a simulated power distribution device, the simulated compute node comprising a simulated hardware processor and a simulated storage device;

executable code to generate a test control interface configured to enable a user to test the simulated computing system by injecting an error into the simulated computing system, wherein executable code for injecting an error comprises executable code for at least one of (i) manipulating a behavior of one or more of the simulated elements and (ii) simulating a failure of the one or more simulated elements;

executable code for deploying the simulated computing system on a processing platform comprising hardware resources for executing the simulated computing system;

executable code to execute a management and orchestration platform on top of the deployed simulated computing system;

executable code to configure the test control interface to enable the user to test a functionality of the management and orchestration platform; and

executable code for the management and orchestration platform to automatically initiate a response upon detection of the error;

wherein the simulated computing system comprises a first hypervisor platform executing on top of the processing platform, and wherein the simulated network switch device comprises a plurality of simulated network switch devices that execute on the first hypervisor platform;

wherein the simulated compute node comprises a second hypervisor platform, wherein the simulated hardware processor and the simulated storage device execute on the second hypervisor platform;

wherein the second hypervisor platform executes on top of the first hypervisor platform; and

wherein the plurality of simulated network switch devices comprises a first set of simulated network switch devices that implement a simulated in-band network, and a second set of simulated network switch devices that implement a simulated out-of-band network.

16. The article of manufacture of claim 15 , wherein the executable code for manipulating the behavior of one or more of the simulated elements comprises executable code for changing firmware behavior of one or more of the simulated elements.

17. The article of manufacture of claim 15 , wherein the executable code to generate a plurality of simulated elements comprises executable code to emulate the simulated compute node as vendor-specific server node by utilizing user defined properties for the simulated hardware processor and simulated storage device to emulate functionalities of a vendor-specific hardware processor and a vendor-specific storage device.

18. The article of manufacture of claim 15 , further comprising:

executable code to generate a simulated baseboard management controller (BMC) that is configured to monitor a state of one or more simulated elements of the simulated computing system; and

executable code to configure the test control interface to allow the user to access and control the BMC and inject an error into the simulated computing system by user manipulation of the BMC.

19. The article of manufacture of claim 15 , wherein injecting an error comprises altering telemetry data of the one or more simulated elements, the telemetry data comprising one or more measurements of power usage, power consumption, network through-put, fan speed, voltage, current, and temperature, associated with the one or more simulated elements and wherein the management and orchestration platform is configured to initiate a migration process in response to the telemetry data.

20. The article of manufacture of claim 15 , wherein the processing platform comprises a plurality of server nodes, and wherein the simulated computing system comprises a simulated datacenter that executes on the server nodes and wherein the management and orchestration platform is implemented across the simulated datacenter.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2016
From: XIA, ROBERT GUOWU; LONGEVER, JOSEPH JAMES, JR.; JENSEN-FELLOWS, SIMON ALEXANDER; SHU, XIAOXIA; FU, XIAOGUANG; WANG, CHAO; CAI, XINGWANG; WU, CHAO; LIN, XIN
To: EMC CORPORATION
Reel/Frame 038909/0530 →
Cited By (5)
US 12,321,796 US 12,381,846 US 12,393,507 US 12,638,903 US 12,744,717