IP Library › Granted Patent US 9,870,246
Granted Patent B2
US 9,870,246 · App. 14/616,927 · Granted Jan 16, 2018

Systems and methods for defining virtual machine dependency mapping

Inventors: Krishnaprasad Koladi (Bangalore, IN); Shiva Prasad Katta (Bangalore, IN); Rudramuni Basavarajappa (Bangalore, IN)
Assignee: Dell Products L.P.
G06F9/45558G06F2009/4557G06F2009/45575
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 9,870,246
App. No.
14/616,927
Filed
Feb 9, 2015
Granted
Jan 16, 2018
Kind
B2
Art Unit
2199
USPC
718/1
Abstract

In accordance with these and other embodiments of the present disclosure, a system may include a processor and a hypervisor comprising a program of executable instructions embodied in non-transitory computer-readable media accessible to the processor. The hypervisor may be configured to, when read and executed by the processor: instantiate one or more virtual machines to execute on the hypervisor; maintain a virtual machine dependency map having one or more entries, each entry setting forth a target virtual machine and one or more virtual machines to which the target virtual machine is dependent; and determine whether to power on a target virtual machine based on information set forth in the virtual machine dependency map.

Claims (65)

1. A method, performed by a hypervisor, for instantiating virtual machines to perform operations, the method comprising:

maintaining a virtual machine dependency map, the virtual machine dependency map having a plurality of entries, each of the plurality of entries indicating a target virtual machine and one or more other virtual machines upon which the target virtual machine is dependent;

responsive to receiving a power on command for a first virtual machine, performing dependency check operations comprising:

determining, from the virtual machine dependency map, depended-upon virtual machines upon which the first virtual machine is dependent;

determining whether the depended-upon virtual machines include one or more non-operational virtual machines wherein a non-operational virtual machine includes:

a virtual machine in a powered off state; and

a virtual machine with a non-functional guest operating system;

responsive to determining that the depended-upon virtual machines do not include any non-operational virtual machines, executing the power on command;

responsive to determining that the depended-upon virtual machines include one or more non-operational virtual machines, determining whether an equivalent virtual machine exists for each of the one or more non-operational virtual machines;

responsive to determining that that no equivalent virtual machine exists for one or more of the non-operational virtual machines, preventing the power on command from executing;

responsive to determining that at least one operational, equivalent virtual machine exists for each non-operational virtual machine, executing the power on command.

2. The method of claim 1 , wherein determining whether the depended-upon virtual machines include one or more non-operational virtual machine comprises:

communicating a power status message to a hypervisor of each depended-upon virtual machine to determine whether the depended-upon virtual machines include one or more virtual machine in a powered off state.

3. The method of claim 1 , wherein determining whether the depended-upon virtual machines include one or more non-operational virtual machine comprises:

communicating a command to fetch a heartbeat status of the depended-upon virtual machine to determine whether the depended-upon virtual machines include one or more virtual machines with a non-functional guest operating system.

4. The method of claim 1 , further comprising:

maintaining a virtual machine equivalency table, the virtual machine equivalency table having a plurality of entries, each of the plurality of entries indicating a particular virtual machine and one or more other virtual machines equivalent to the particular virtual machine, wherein determining whether an equivalent virtual machine exists for each of the one or more non-operational virtual machines includes determining from the virtual machine equivalency table.

5. The method of claim 4 , further comprising:

determining whether one or more of the equivalent virtual machines include a virtual machine in a powered off state.

6. The method of claim 4 , further comprising:

determining whether the one or more of the equivalent virtual machines include a virtual machine with a non-functioning guest operating system.

7. The method of claim 1 , wherein the processor is associated with a first information handling system coupled to a network and wherein the system includes hypervisors of a plurality of additional information handling systems coupled to the network.

8. A system comprising:

a processor; and

a first hypervisor for instantiating virtual machines, the first hypervisor comprising a program of executable instructions embodied in non-transitory computer-readable media accessible to the processor, and configured to, when read and executed by the processor cause the processor to perform operations comprising:

maintaining a virtual machine dependency map, the virtual machine dependency map having a plurality of entries, each of the plurality of entries indicating a target virtual machine and one or more other virtual machines upon which the target virtual machine is dependent;

responsive to receiving a power on command for a first virtual machine, performing dependency check operations comprising:

determining, from the virtual machine dependency map, depended-upon virtual machines upon which the first virtual machine is dependent;

determining whether the depended-upon virtual machines include one or more non-operational virtual machines wherein a non-operational virtual machine includes:

a virtual machine in a powered off state; and

a virtual machine with a non-functional guest operating system;

responsive to determining that the depended-upon virtual machines do not include any non-operational virtual machines, executing the power on command;

responsive to determining that the depended-upon virtual machines include one or more non-operational virtual machines, determining whether an equivalent virtual machine exists for each of the one or more non-operational virtual machines;

responsive to determining that that no equivalent virtual machine exists for one or more of the non-operational virtual machines, preventing the power on command from executing;

responsive to determining that at least one operational, equivalent virtual machine exists for each non-operational virtual machine, executing the power on command.

9. The system of claim 1 , wherein determining whether the depended-upon virtual machines include one or more virtual machines in a powered off state includes communicating a power status message to a hypervisor of each depended-upon virtual machine.

10. The system of claim 1 , wherein determining whether the depended-upon virtual machines include one or more virtual machine within a non-functional guest operating system includes communicating a command to fetch a heartbeat status of the depended-upon virtual machine.

11. The system of claim 1 , wherein the processor is associated with a first information handling system coupled to a network and wherein the system includes hypervisors of a plurality of additional information handling systems coupled to the network.

12. The system of claim 10 , further comprising:

maintaining a virtual machine equivalency table, the virtual machine dependency map having a plurality of entries, each of the plurality of entries indicating a particular virtual machine and one or more other virtual machines equivalent to the particular virtual machine, wherein determining whether an equivalent virtual machine exists for each of the one or more non-operational virtual machines includes determining from the virtual machine equivalency table.

13. The system of claim 12 , further comprising:

determining whether one or more of the equivalent virtual machines include a virtual machine in a powered off state.

14. The system of claim 12 , further comprising:

determining whether the one or more of the equivalent virtual machines include a virtual machine with a non-functioning guest operating system.

15. An article of manufacture comprising: a non-transitory computer readable medium; and

computer-executable instructions carried on the computer readable medium, the instructions readable by a processor, the instructions, when read and executed by the processor, causing the processor to perform hypervisor operations for instantiating virtual machines, the hypervisor operations comprising:

maintaining a virtual machine dependency map, the virtual machine dependency map having a plurality of entries, each of the plurality of entries indicating a target virtual machine and one or more other virtual machines upon which the target virtual machine is dependent;

responsive to receiving a power on command for a first virtual machine, performing dependency check operations comprising:

determining, from the virtual machine dependency map, depended-upon virtual machines upon which the first virtual machine is dependent; and

determining whether the depended-upon virtual machines include one or more non-operational virtual machines wherein a non-operational virtual machine includes:

a virtual machine in a powered off state; and

a virtual machine with a non-functional guest operating system;

responsive to determining that the depended-upon virtual machines do not include any non-operational virtual machines, executing the power on command;

responsive to determining that the depended-upon virtual machines include one or more non-operational virtual machines, determining whether an equivalent virtual machine exists for each of the one or more non-operational virtual machines;

responsive to determining that that no equivalent virtual machine exists for one or more of the non-operational virtual machines, preventing the power on command from executing; and

responsive to determining that at least one operational, equivalent virtual machine exists for each non-operational virtual machine, executing the power on command.

16. The article of manufacture of claim 15 , wherein determining whether to send a power on command to the target virtual machine includes:

sending the power on command only if each of the depended-upon virtual machines has a powered on status.

17. The article of manufacture of claim 16 , wherein determining whether to send a power on command to the target virtual machine further includes:

sending the power on command only if each of the guest operating systems has a functional status.

18. The article of manufacture of claim 17 , wherein determining whether to send a power on command further comprises determining, for each depended-upon virtual machine that does not have a powered on status and a functional status, whether an equivalent virtual machine exists for the depended-upon virtual machine.

19. The article of manufacture of claim 18 , wherein determining whether to send a power on command comprises determining a powered on status and functional status of each equivalent virtual machine.

20. The article of manufacture of claim 19 , wherein the operations include:

maintaining an equivalency map for the plurality of virtual machines, the equivalency map having a plurality of entries, each of the plurality of entries setting forth a target virtual machine and one or more equivalent virtual machines comprising virtual machines with functionality equivalent to target virtual machine.

21. The article of manufacture of claim 15 , wherein services performed by the target virtual machine are dependent on services performed by the depended-upon virtual machines.

Assignments (15)
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 →
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 →
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 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: KOLADI, KRISHNAPRASAD; KATTA, SHIVA PRASAD; BASAVARAJAPPA, RUDRAMUNI
To: DELL PRODUCTS L.P.
Reel/Frame 034917/0108 →
Continuity (1)
Related Publication 20160232023A1 · Aug 11, 2016