IP Library Granted Patent US 10,700,960
Granted Patent B2
US 10,700,960 · App. 15/412,075 · Granted Jun 30, 2020

Enablement of multi-path routing in virtual edge systems

Inventor: Sudheendra Bangalore Krishnamurthy (Bangalore, IN)
Assignee: NICIRA, INC.
H04L45/24H04L12/4641H04L45/021H04L47/22H04L67/142H04L69/16
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,700,960
App. No.
15/412,075
Granted
Jun 30, 2020
Kind
B2
Abstract

The technology disclosed herein enables multi-path routing in virtual edge systems of a virtual network environment. In a particular embodiment, a method provides establishing a connection for a communication with a client outside of the virtual network environment through a first virtual edge system of a plurality of virtual edge systems. The method further provides generating state information about the connection that indicates properties of the connection with respect to the first virtual edge system and updating a state information base of the first virtual edge system with the state information. Also, the method provides transferring the state information to one or more other virtual edge systems of the plurality of virtual edge systems and updating respective state information bases of the one or more other virtual edge systems with the state information.

Claims (49)

1. A method of enabling multi-path routing in edge systems of a virtual network environment, the method comprising:

establishing a first connection between a first edge system of a plurality of edge systems and a client outside of the virtual network environment, wherein the first connection is established for a communication between the client and a destination within the virtual network environment through the first edge system;

generating state information about the connection that includes properties of the connection with respect to the first edge system;

updating a state information base of the first edge system with the state information;

transferring the state information to one or more other edge systems of the plurality of edge systems;

updating respective state information bases of the one or more other edge systems with the state information;

in the one or more other edge systems, using the state information to initiate establishment of respective additional connections with the client; and

routing traffic for the communication to the client through the first edge system and the one or more other edge systems over the first connection and the respective additional connections.

2. The method of claim 1 , wherein the state information includes a source port, a destination port, and a network address of the client.

3. The method of claim 1 , wherein the destination comprises a virtual application server and wherein routing the traffic is performed by a virtual router.

4. The method of claim 1 , wherein using the state information to initiate the establishment of the respective additional connections comprises:

using the state information to initiate a handshake between each of the one or more other edge systems and the client to establish the respective additional connections.

5. The method of claim 1 , wherein the first connection and the respective additional connections comprise a Transmission Control Protocol (TCP) connections.

6. The method of claim 5 , wherein establishing the first connection comprises, in the first edge system:

receiving a TCP synchronize (SYN) message from the client that indicates a source port and a destination port, wherein the source port and the destination port are included in the state information;

responding to the TCP SYN message with a TCP SYN-acknowledge (ACK) message; and

receiving a TCP ACK message from the client in response to the TCP SYN-ACK message.

7. The method of claim 1 , wherein transferring the state information comprises:

transferring the state information to a controller of the plurality of edge systems;

in the controller, identifying the one or more edge systems from the plurality of edge systems as edge systems configured for multi-path routing; and

transferring the state information from the controller to the one or more other edge systems.

8. The method of claim 1 , wherein the traffic comprises packets transferred from the destination in response to a request received from the client over the first connection.

9. The method of claim 1 , wherein the state information is transferred over a control plane channel employed by the controller and the plurality of edge systems.

10. The method of claim 1 , wherein the first edge system and the one or more other edge systems include respective firewalls that identify the traffic from the state information and allow the traffic to pass.

11. A system hosting a first edge system of a plurality of edge systems of a virtual network environment to enable multi-path routing, the system comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

establish a first connection between the first edge system of a plurality of edge systems and a client outside of the virtual network environment, wherein the first connection is established for a communication between the client and a destination within the virtual network environment through the first edge system;

generate state information about the connection that indicates properties of the connection with respect to the first edge system;

update a state information base of the first edge system with the state information;

transfer the state information to one or more other edge systems of the plurality of edge systems,

wherein the one or more other edge systems update their respective state information bases with the state information and use the state information to initiate establishment of respective additional connections with the client; and

route traffic for the communication to the client through the first edge system over the first connection, wherein the traffic is also routed through the one or more other edge systems over the respective additional connections.

12. The system of claim 11 , wherein the state information includes a source port, a destination port, and a network address of the client.

13. The system of claim 11 , wherein the destination comprises a virtual application server and wherein routing the traffic is performed by a virtual router.

14. The system of claim 11 , wherein to use the state information to initiate the establishment of the respective additional connections, the one or more other edge systems:

use the state information to initiate a handshake between each of the one or more other edge systems and the client to establish the respective additional connections.

15. The system of claim 11 , wherein the first connection and the respective additional connections comprise Transmission Control Protocol (TCP) connections.

16. The system of claim 15 , wherein to establish the first connection the program instructions direct the processing system to:

receive a TCP synchronize (SYN) message from the client that indicates a source port and a destination port, wherein the source port and the destination port are included in the state information;

respond to the TCP SYN message with a TCP SYN-acknowledge (ACK) message; and

receive a TCP ACK message from the client in response to the TCP SYN-ACK message.

17. The system of claim 11 , wherein to transfer the state information the program instructions direct the processing system to:

transfer the state information to a controller of the plurality of edge systems; and

wherein the controller identifies the one or more edge systems from the plurality of edge systems as edge systems configured for multi-path routing and transfers the state information from the controller to the one or more other edge systems.

18. The system of claim 11 , wherein the traffic comprises packets transferred from the destination in response to a request received from the client over the first connection.

19. The system of claim 11 , wherein the state information is transferred over a control plane channel employed by the controller and the plurality of edge systems.

20. The system of claim 11 , wherein the first edge system and the one or more other edge systems include respective firewalls that identify the traffic from the state information and allow the traffic to pass.

Assignments (2)
MERGER Recorded Jan 27, 2025
From: NICIRA, INC.
To: VMWARE LLC
Reel/Frame 070187/0487 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2017
From: BANGALORE KRISHNAMURTHY, SUDHEENDRA
To: NICIRA, INC.
Reel/Frame 041036/0253 →