IP Library Granted Patent US 10,862,753
Granted Patent B2
US 10,862,753 · App. 15/831,372 · Granted Dec 8, 2020

High availability for stateful services in public cloud logical networks

Inventors: Mukesh Hira (Los Altos, CA); Ganesan Chandrashekhar (Campbell, CA); Jayant Jain (Palo Alto, CA); Rahul Jain (Sunnyvale, CA)
Assignee: NICIRA, INC.
H04L41/0893H04L12/1435H04L41/0806H04L41/12H04L45/42H04M15/60H04M15/8033H04M15/8083H04M15/8088
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,862,753
App. No.
15/831,372
Granted
Dec 8, 2020
Kind
B2
Abstract

Some embodiments provide a method for a network controller that manages a logical network spanning multiple physical locations. For each physical location hosting data compute nodes (DCNs) belonging to the logical network, the method defines a centralized routing component for processing data messages between the DCNs hosted at the physical location and networks external to the logical network, assigns an active instance of the centralized routing component to operate at the physical location, and assigns a standby instance of the centralized routing component to operate at one of the other physical locations.

Claims (33)

1. For a network controller that manages a logical network spanning a plurality of datacenters, a method comprising:

for each datacenter hosting data compute nodes (DCNs) belonging to the logical network:

defining a centralized routing component for processing data messages between the DCNs hosted at the datacenter and networks external to the logical network;

assigning an active instance of the centralized routing component to execute on a first gateway DCN that operates on a first host computer at the datacenter; and

assigning a standby instance of the centralized routing component to execute on a second gateway DCN that operates on a second host computer at one of the other datacenters spanned by the logical network.

2. The method of claim 1 , wherein the network controller operates within a private datacenter, wherein each of the plurality of datacenters is a different public datacenter.

3. The method of claim 1 , wherein the active instance of a particular centralized routing component for a particular datacenter executes on a particular gateway DCN that operates on a particular host computer at the particular datacenter.

4. The method of claim 3 , wherein the network controller is a first network controller, the method further comprising distributing configuration data for the active instance of the particular centralized routing component to a second network controller that executes on the particular gateway DCN.

5. The method of claim 4 , wherein the second network controller and the active instance of the particular centralized routing component use different network interfaces of the particular gateway DCN.

6. The method of claim 3 , wherein the standby instance of the particular centralized routing component for the particular datacenter executes on a different gateway DCN that operates on a different host computer at a different datacenter.

7. The method of claim 3 , wherein the particular centralized routing component is a first centralized routing component and the particular datacenter is a first datacenter, wherein the standby instance of a second centralized routing component for a second datacenter also executes on the particular gateway DCN.

8. The method of claim 1 , wherein the plurality of datacenters are different datacenters of a public cloud provider, wherein the public cloud provider charges higher fees for data traffic sent between datacenters than for data traffic sent between DCNs in a single datacenter.

9. The method of claim 1 , wherein the active instance and the standby instance of each centralized routing component share connection state data.

10. The method of claim 1 , wherein the DCNs belonging to the logical network at a particular datacenter operate forwarding elements that implement the logical network.

11. The method of claim 10 , wherein the logical network comprises a distributed logical router, wherein the forwarding elements operating on the logical network DCNs at the particular datacenter to implement the distributed logical router include (i) a first route having a first priority that specifies the active instance of the centralized routing component for the particular datacenter and (ii) a second route having a second, lower priority that specifies the standby instance of the centralized routing component for the particular datacenter.

12. The method of claim 11 , wherein the network controller is a first network controller, wherein the first and second routes are configured by a second network controller that operates in a same gateway DCN as the active instance of the centralized routing component for the particular datacenter.

13. The method of claim 11 , wherein the first priority is one greater than the second priority.

14. The method of claim 11 , wherein the forwarding elements operating on the logical network DCNs only send data messages from the logical network DCNs to the standby instance of the centralized routing component for the particular datacenter when the active instance of the centralized routing component for the particular datacenter is unavailable.

15. A non-transitory machine-readable medium storing a network controller program which when executed by at least one processor manages a logical network spanning a plurality of datacenters, the network controller program comprising sets of instructions for:

for each datacenter hosting data compute nodes (DCNs) belonging to the logical network:

defining a centralized routing component for processing data messages between the DCNs hosted at the datacenter and networks external to the logical network;

assigning an active instance of the centralized routing component to execute on a first gateway DCN that operates on a first host computer at the datacenter; and

assigning a standby instance of the centralized routing component to execute on a second gateway DCN that operates on a second host computer at one of the other datacenters spanned by the logical network.

16. The non-transitory machine-readable medium of claim 15 , wherein the network controller program operates within a private datacenter, wherein each of the plurality of datacenters is a different public datacenter.

17. The non-transitory machine-readable medium of claim 15 , wherein the active instance of a particular centralized routing component for a particular datacenter executes on a particular gateway DCN that operates on a particular host computer at the particular datacenter.

18. The non-transitory machine-readable medium of claim 17 , wherein the network controller program is a first network controller, the method further comprising distributing configuration data for the active instance of the particular centralized routing component to a second network controller that executes on the particular gateway DCN.

19. The non-transitory machine-readable medium of claim 17 , wherein the standby instance of the particular centralized routing component for the particular datacenter executes on a different gateway DCN that operates on a different host computer at a different datacenter.

20. The non-transitory machine-readable medium of claim 17 , wherein the particular centralized routing component is a first centralized routing component and the particular datacenter is a first datacenter, wherein the standby instance of a second centralized routing component for a second datacenter also executes on the particular gateway DCN.

21. The non-transitory machine-readable medium of claim 15 , wherein:

the DCNs belonging to the logical network at a particular datacenter operate forwarding elements that implement the logical network;

the logical network comprises a distributed logical router; and

the forwarding elements operating on the logical network DCNs at the particular datacenter to implement the distributed logical router include (i) a first route having a first priority that specifies the active instance of the centralized routing component for the particular datacenter and (ii) a second route having a second, lower priority that specifies the standby instance of the centralized routing component for the particular datacenter.

22. The non-transitory machine-readable medium of claim 21 , wherein the forwarding elements operating on the logical network DCNs only send data messages from the logical network DCNs to the standby instance of the centralized routing component for the particular datacenter when the active instance of the centralized routing component for the particular datacenter is unavailable.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2017
From: HIRA, MUKESH; CHANDRASHEKHAR, GANESAN; JAIN, JAYANT; JAIN, RAHUL
To: NICIRA, INC.
Reel/Frame 044292/0622 →
Continuity (1)
Related Publication 20190173757A1 · Jun 6, 2019
Cited By (5)
US 12,250,194 US 12,255,804 US 12,399,886 US 12,489,681 US 12,647,346