IP Library Granted Patent US 12,301,454
Granted Patent B2
US 12,301,454 · App. 18/195,884 · Granted May 13, 2025

Support for multi-AZ management appliance networking

Inventors: Manoj Krishnan (Santa Clara, CA); Gabriel Tarasuk-Levin (Sunnyvale, CA)
Assignee: VMWare LLC
H04L45/586G06F9/45558H04L61/5061G06F2009/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 12,301,454
App. No.
18/195,884
Granted
May 13, 2025
Kind
B2
Abstract

Processes for managing computing processes within a plurality of data centers configured to provide a cloud computing environment are described. An exemplary process includes executing a process on a first host of a plurality of hosts. When the process is executing on the first host, a first network identifier associated with the plurality of hosts is not a network identifier of a pool of network identifiers associated with the cloud computing environment and first and second route tables respectively corresponding to first and second data centers of the plurality of data centers associate the first network identifier with the first host. The exemplary process further includes detecting an event associated with the process. In response to detecting the event associated with the process, the first and second route tables are respectively updated to associate the first network identifier with a second host of the plurality of hosts.

Claims (95)

1. A method for managing processes within a virtual private cloud associated with a pool of network identifiers, the method comprising:

executing a process on a first virtual machine operating in a first availability zone of the virtual private cloud, wherein when the process is executing on the first virtual machine:

a first network identifier associated with the first virtual machine is not a network identifier of the pool of network identifiers;

a first route table corresponding to the first availability zone associates the first network identifier with the first virtual machine; and

a second route table corresponding to a second availability zone of the virtual private cloud associates the first network identifier with the first virtual machine;

detecting an event associated with the process; and

in response to detecting the event associated with the process:

executing the process on a second virtual machine operating in the second availability zone; and

concurrently updating each of the first route table and the second route table to associate the first network identifier with the second virtual machine;

wherein:

the first availability zone and the second availability zone correspond to a same region; and

a network policy of the virtual private cloud specifies that a subnet of the pool of network identifiers can only be assigned to a single availability zone of the same region.

2. The method of claim 1 , wherein the first network identifier is an IP address.

3. The method of claim 1 , wherein the first availability zone is associated with a first set of one or more network identifiers, wherein the second availability zone is associated with a second set of one or more network identifiers different from the first set of one or more network identifiers, and wherein the pool of network identifiers includes each network identifier of the first set of one or more network identifiers and the second set of one or more network identifiers.

4. The method of claim 1 , wherein executing the process on the first virtual machine comprises executing a virtualization manager on the first virtual machine.

5. The method of claim 1 , wherein the event associated with the process is a failure of the process on the first virtual machine to execute.

6. The method of claim 1 , wherein the event associated with the process is a migration of the process from the first virtual machine to the second virtual machine.

7. The method of claim 1 , wherein:

the first availability zone corresponds to a first set of one or more physical data centers;

the second availability zone corresponds to a second set of one or more physical data centers; and

each physical data center of the first set of one or more physical data centers and the second set of one or more physical data centers is located in a different physical location.

8. The method of claim 1 , wherein detecting the event associated with the process includes receiving, from a host of the first virtual machine, data indicative of the event.

9. The method of claim 1 , wherein:

a first subnet of the virtual private cloud corresponds to the first availability zone; and

a second subnet of the virtual private cloud corresponds to the second availability zone.

10. The method of claim 1 , wherein the first virtual machine is different from the second virtual machine.

11. The method of claim 1 , wherein the first virtual machine is the second virtual machine.

12. The method of claim 1 , wherein:

the first virtual machine has a first virtual network interface;

the second virtual machine has a second virtual network interface; and

concurrently updating each of the first route table and the second route table to associate the first network identifier with the second virtual machine includes updating each of the first route table and the second route table to associate the first network identifier with the second virtual network interface.

13. The method of claim 1 , wherein:

the first route table corresponds to a first networking device of the first availability zone; and

the second route table corresponds to a second networking device of the second availability zone.

14. One or more non-transitory computer-readable storage media storing one or more programs configured to be executed by one or more processors for managing processes within a virtual private cloud associated with a pool of network identifiers, the one or more programs including instructions for:

executing a process on a first virtual machine operating in a first availability zone of the virtual private cloud, wherein when the process is executing on the first virtual machine:

a first network identifier associated with the first virtual machine is not a network identifier of the pool of network identifiers;

a first route table corresponding to the first availability zone associates the first network identifier with the first virtual machine; and

a second route table corresponding to a second availability zone of the virtual private cloud associates the first network identifier with the first virtual machine;

detecting an event associated with the process; and

in response to detecting the event associated with the process:

executing the process on a second virtual machine operating in the second availability zone; and

concurrently updating each of the first route table and the second route

table to associate the first network identifier with the second virtual machine;

wherein:

the first availability zone and the second availability zone correspond to a same region; and

a network policy of the virtual private cloud specifies that a subnet of the pool of network identifiers can only be assigned to a single availability zone of the same region.

15. The one or more non-transitory computer-readable storage media of claim 14 , wherein the first network identifier is an IP address.

16. The one or more non-transitory computer-readable storage media of claim 14 , wherein the first availability zone is associated with a first set of one or more network identifiers, wherein the second availability zone is associated with a second set of one or more network identifiers different from the first set of one or more network identifiers, and wherein the pool of network identifiers includes each network identifier of the first set of one or more network identifiers and the second set of one or more network identifiers.

17. The one or more non-transitory computer-readable storage media of claim 14 , wherein executing the process on the first virtual machine comprises executing a virtualization manager on the first virtual machine.

18. The one or more non-transitory computer-readable storage media of claim 14 , wherein the event associated with the process is a failure of the process on the first virtual machine to execute.

19. The one or more non-transitory computer-readable storage media of claim 14 , wherein the event associated with the process is a migration of the process from the virtual machine to the second virtual machine.

20. The one or more non-transitory computer-readable storage media of claim 14 , wherein:

the first availability zone corresponds to a first set of one or more physical data centers;

the second availability zone corresponds to a second set of one or more physical data centers; and

each physical data center of the first set of one or more physical data centers and the second set of one or more physical data centers is located in a different physical location.

21. The one or more non-transitory computer-readable storage media of claim 14 , wherein detecting the event associated with the process includes receiving, from a host of the first virtual machine, data indicative of the event.

22. The one or more non-transitory computer-readable storage media of claim 14 , wherein:

a first subnet of the virtual private cloud corresponds to the first availability zone; and

a second subnet of the virtual private cloud corresponds to the second availability zone.

23. The one or more non-transitory computer-readable storage media of claim 14 , wherein the first virtual machine is different from the second virtual machine.

24. The one or more non-transitory computer-readable storage media of claim 14 , wherein the first virtual machine is the second virtual machine.

25. The one or more non-transitory computer-readable storage media of claim 14 , wherein:

the first virtual machine has a first virtual network interface;

the second virtual machine has a second virtual network interface; and

concurrently updating each of the first route table and the second route table to associate the first network identifier with the second virtual machine includes updating each of the first route table and the second route table to associate the first network identifier with the second virtual network interface.

26. The one or more non-transitory computer-readable storage media of claim 14 , wherein:

the first route table corresponds to a first networking device of the first availability zone; and

the second route table corresponds to a second networking device of the second availability zone.

27. A computer system, comprising:

one or more processors; and

memory storing one or more programs configured to be executed by the one or more processors for managing processes within a virtual private cloud associated with a pool of network identifiers, the one or more programs including instructions for:

executing a process on a first virtual machine operating in a first availability zone of the virtual private cloud, wherein when the process is executing on the first virtual machine:

a first network identifier associated with the first virtual machine is not a network identifier of the pool of network identifiers;

a first route table corresponding to the first availability zone associates the first network identifier with the first virtual machine; and

a second route table corresponding to a second availability zone of the virtual private cloud associates the first network identifier with the first virtual machine;

detecting an event associated with the process; and

in response to detecting the event associated with the process:

executing the process on a second virtual machine operating in the second availability zone; and

concurrently updating each of the first route table and the second route

table to associate the first network identifier with the second virtual machine;

wherein:

the first virtual machine has a first virtual network interface;

the second virtual machine has a second virtual network interface; and

concurrently updating each of the first route table and the second route table to associate the first network identifier with the second virtual machine includes updating each of the first route table and the second route table to associate the first network identifier with the second virtual network interface.

28. The computer system of claim 27 , wherein executing the process on the first virtual machine comprises executing a virtualization manager on the first virtual machine.

29. The computer system of claim 27 , wherein the event associated with the process is a failure of the process on the first virtual machine to execute.

30. The computer system of claim 27 , wherein the event associated with the process is a migration of the process from the first virtual machine to the second virtual machine.

31. The computer system of claim 27 , wherein:

the first availability zone corresponds to a first set of one or more physical data centers;

the second availability zone corresponds to a second set of one or more physical data centers; and

each physical data center of the first set of one or more physical data centers and the second set of one or more physical data centers is located in a different physical location.

32. The computer system of claim 27 , wherein:

the first availability zone and the second availability zone correspond to a same region; and

a network policy of the virtual private cloud specifies that a subnet of the pool of network identifiers can only be assigned to a single availability zone of the same region.

Assignments (1)
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
Priority Claims (1)
IN 201841028749 · Jul 31, 2018 · national
Continuity (3)
Continuation 17580414 · Jan 20, 2022
Continuation 16507081 · Jul 10, 2019
Related Publication 20230283546A1 · Sep 7, 2023
References Cited (35)
US 8433802B2 · Head et al. · 2013 [cited by applicant]
US 8874749B1 · Vittal · 2014 [cited by examiner]
US 10148493B1 · Ennis et al. · 2018 [cited by applicant]
US 10608942B1 · Shaikh · 2020 [cited by examiner]
US 11106551B1 · Featonby et al. · 2021 [cited by applicant]
US 11169893B2 · Krishnan et al. · 2021 [cited by applicant]
US 11194680B2 · Konka et al. · 2021 [cited by applicant]
US 20090055507A1 · Oeda · 2009 [cited by applicant]
US 20090119664A1 · Pike et al. · 2009 [cited by applicant]
US 20110321041A1 · Bhat et al. · 2011 [cited by applicant]
US 20130044641A1 · Koponen · 2013 [cited by examiner]
US 20150012665A1 · Kang et al. · 2015 [cited by applicant]
US 20150100958A1 · Banavalikar · 2015 [cited by examiner]
US 20150237132A1 · Antony · 2015 [cited by applicant]
US 20150355982A1 · Ganesan et al. · 2015 [cited by applicant]
US 20160085643A1 · Mcalister et al. · 2016 [cited by applicant]
US 20170168903A1 · Dornemann et al. · 2017 [cited by applicant]
US 20170177840A1 · Srivastava et al. · 2017 [cited by applicant]
US 20180173554A1 · Caradonna et al. · 2018 [cited by applicant]
US 20190108099A1 · Mazumdar · 2019 [cited by examiner]
US 20200042411A1 · Krishnan et al. · 2020 [cited by applicant]
US 20200044966A1 · Krishnan et al. · 2020 [cited by applicant]
US 20220027244A1 · Krishnan et al. · 2022 [cited by applicant]
US 20220150165A1 · Krishnan et al. · 2022 [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/496,434, mailed on Dec. 19, 2022, 15 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/496,434, mailed on May 18, 2023, 6 pages. [cited by applicant]
Chen et al., “Survivability Modeling and Analysis of Cloud Service in Distributed Data Centers”, Online available at: https://academic.oup.com/comjnl/article-abstract/61/9/1296/4683984, The Computer Journal, vol. 61, No… [cited by applicant]
Final Office Action received for U.S. Appl. No. 16/507,081, mailed on Sep. 28, 2021, 22 pages. [cited by applicant]
Loveland et al., “Leveraging virtualization to optimize high-availability system configurations”, IBM Systems Journal, vol. 47, No. 4, DOI: 10.1147/SJ.2008.5386515, 2008, pp. 591-604. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 16/507,081, mailed on May 12, 2021, 21 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 16/507,083, mailed on Mar. 12, 2021, 18 pages. [cited by applicant]
Non-Final Office Action received for U.S. Appl. No. 17/580,414, mailed on Oct. 27, 2022, 29 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 16/507,081, mailed on Nov. 10, 2021, 8 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 16/507,083, mailed on Jul. 7, 2021, 22 pages. [cited by applicant]
Notice of Allowance received for U.S. Appl. No. 17/580,414, mailed on Feb. 15, 2023, 8 pages. [cited by applicant]