IP Library Granted Patent US 10,275,328
Granted Patent B2
US 10,275,328 · App. 14/791,275 · Granted Apr 30, 2019

Fault tolerance for hybrid cloud deployments

Inventors: Jinto Antony (Bangalore, IN); Madhusudhanan Gangadharan (Bangalore, IN); Sudhish P. T. (Bangalore, IN); Sreekanth Pillalamarri (Bangalore, IN)
Assignee: VMWARE, INC.
G06F11/203G06F9/00G06F11/1451G06F21/577H04L41/08H04L67/1002H04L67/1095H04L67/2842G06F2201/805H04L61/1511H04L61/2076H04L61/2582H04L67/1034H04L69/40
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,275,328
App. No.
14/791,275
Granted
Apr 30, 2019
Kind
B2
Abstract

A technique for providing fault tolerance for virtual machines in a hybrid cloud computing system is discussed. When a primary virtual machine (VM) in a private data center is configured for fault tolerance, a secondary VM is instantiated in a public cloud computing system. Changes to the execution state of the primary VM are recorded and relayed to the secondary VM by way of caching modules, which provide acknowledgements messages back to the primary VM. A technique for failback from the public cloud computing system to the private data center is also discussed.

Claims (58)

1. A method for managing a hybrid cloud computing system, the method comprising:

instantiating a secondary virtual machine in a public cloud computing system by creating and running the secondary virtual machine in the public cloud computing system, the secondary virtual machine having an execution state corresponding to a primary virtual machine in a private data center;

configuring the secondary virtual machine to run in a virtual lockstep with the primary virtual machine;

in response to configuring the secondary virtual machine to run in a virtual lockstep with the primary virtual machine, recording changes to the execution state of the primary virtual machine;

receiving, at the public cloud computing system, the changes to the execution state of the primary virtual machine from a first caching module in the private data center; and

updating state data and a virtual disk of the instantiated secondary virtual machine according to the received changes to the execution state of the primary virtual machine, wherein at least a portion of output activity of the instantiated secondary virtual machine is suppressed.

2. The method of claim 1 , further comprising initiating a failover operation responsive to failure of the primary virtual machine, the failover operation comprising:

receiving remaining changes that occurred to the execution state of the primary virtual machine from the first caching module until a point of failure of the primary virtual machine;

updating the state data and the virtual disk of the secondary virtual machine according to the remaining changes; and

operating the secondary virtual machine in the public cloud computing system as a new primary virtual machine in place of the prior primary virtual machine.

3. The method of claim 2 , further comprising:

updating a network routing entry in a router in the private data center to redirect traffic to the secondary virtual machine in the public cloud computing system.

4. The method of claim 2 , further comprising:

dynamically updating a domain name service (DNS) to refer to the secondary virtual machine in the public cloud computing system.

5. The method of claim 2 , further comprising:

instantiating a tertiary virtual machine in the private data center, the tertiary virtual machine having an execution state corresponding to the secondary virtual machine in the public cloud computing system; and

initiating a failback operation from the secondary virtual machine to the tertiary virtual machine.

6. The method of claim 1 , wherein the first caching module transmits acknowledgements to the primary virtual machine indicating that changes to the execution state of the primary virtual machine have been logged.

7. The method of claim 1 , wherein the primary virtual machine updates a virtual disk in the private data center, and the secondary virtual machine updates a second virtual disk stored in the public cloud computing system.

8. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, manage a hybrid cloud computing system, by performing the steps of:

instantiating a secondary virtual machine in a public cloud computing system by creating and running the secondary virtual machine in the public cloud computing system, the secondary virtual machine having an execution state corresponding to a primary virtual machine in a private data center;

configuring the secondary virtual machine to run in a virtual lockstep with the primary virtual machine;

in response to configuring the secondary virtual machine to run in a virtual lockstep with the primary virtual machine, recording changes to the execution state of the primary virtual machine;

receiving, at the public cloud computing system, the changes to the execution state of the primary virtual machine from a first caching module in the private data center; and

updating state data and a virtual disk of the instantiated secondary virtual machine according to the received changes to the execution state of the primary virtual machine wherein at least a portion of output activity of the instantiated secondary virtual machine is suppressed.

9. The non-transitory computer-readable storage medium of claim 8 , further comprising initiating a failover operation responsive to failure of the primary virtual machine, the failover operation comprising:

receiving remaining changes that occurred to the execution state of the primary virtual machine from the first caching module until a point of failure of the primary virtual machine;

updating the state data and the virtual disk of the secondary virtual machine according to the remaining changes; and

operating the secondary virtual machine in the public cloud computing system as a new primary virtual machine in place of the prior primary virtual machine.

10. The non-transitory computer-readable storage medium of claim 9 , further comprising:

updating a network routing entry in a router in the private data center to redirect traffic to the secondary virtual machine in the public cloud computing system.

11. The non-transitory computer-readable storage medium of claim 9 , further comprising:

dynamically updating a domain name service (DNS) to refer to the secondary virtual machine in the public cloud computing system.

12. The non-transitory computer-readable storage medium of claim 9 , further comprising:

instantiating a tertiary virtual machine in the private data center, the tertiary virtual machine having an execution state corresponding to the secondary virtual machine in the public cloud computing system; and

initiating a failback operation from the secondary virtual machine to the tertiary virtual machine.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the first caching module transmits acknowledgements to the primary virtual machine indicating that changes to the execution state of the primary virtual machine have been logged.

14. The non-transitory computer-readable storage medium of claim 8 , wherein the primary virtual machine updates a virtual disk in the private data center, and the secondary virtual machine updates a second virtual disk stored in the public cloud computing system.

15. A hybrid cloud computing system comprising:

a private data center comprising a host computer executing a primary virtual machine; and

a public cloud computing system configured to:

instantiate a secondary virtual machine in the public cloud computing system by creating and running the secondary virtual machine in the public cloud computing system, the secondary virtual machine having an execution state corresponding to the primary virtual machine in the private data center;

configure the secondary virtual machine to run in a virtual lockstep with the primary virtual machine;

in response to configuring the secondary virtual machine to run in a virtual lockstep with the primary virtual machine, record changes to the execution state of the primary virtual machine;

receive, at the public cloud computing system, the changes to the execution state of the primary virtual machine from a first caching module in the private data center; and

update state data and a virtual disk of the instantiated secondary virtual machine according to the received changes to the execution state of the primary virtual machine, wherein at least a portion of output activity of the instantiated secondary virtual machine is suppressed.

16. The hybrid cloud computing system of claim 15 , wherein the public cloud computing system is further configured to initiate a failover operation responsive to failure of the primary virtual machine, the failover operation comprising:

receiving remaining changes that occurred to the execution state of the primary virtual machine from the first caching module until a point of failure of the primary virtual machine;

updating the state data and the virtual disk of the secondary virtual machine according to the remaining changes; and

operating the secondary virtual machine in the public cloud computing system as a new primary virtual machine in place of the prior primary virtual machine.

17. The hybrid cloud computing system of claim 16 , wherein the public cloud computing system is further configured to:

update a network routing entry in a router in the private data center to redirect traffic to the secondary virtual machine in the public cloud computing system; and

dynamically update a domain name service (DNS) to refer to the secondary virtual machine in the public cloud computing system.

18. The hybrid cloud computing system of claim 16 , wherein the public cloud computing system is further configured to:

instantiate a tertiary virtual machine in the private data center, the tertiary virtual machine having an execution state corresponding to the secondary virtual machine in the public cloud computing system; and

initiate a failback operation from the secondary virtual machine to the tertiary virtual machine.

19. The hybrid cloud computing system of claim 15 , wherein the first caching module transmits acknowledgements to the primary virtual machine indicating that changes to the execution state of the primary virtual machine have been logged.

20. The hybrid cloud computing system of claim 15 , wherein the primary virtual machine updates a virtual disk in the private data center, and the secondary virtual machine updates a second virtual disk stored in the public cloud computing system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 3, 2015
From: ANTONY, JINTO; GANGADHARAN, MADHUSUDHANAN; P.T., SUDHISH; PILLALAMARRI, SREEKANTH
To: VMWARE, INC.
Reel/Frame 035976/0082 →
Priority Claims (1)
IN 1768/CHE/2015 · Apr 2, 2015 · national
Continuity (1)
Related Publication 20160292053A1 · Oct 6, 2016
Cited By (1)
US 12,284,217