IP Library Granted Patent US 10,868,875
Granted Patent B2
US 10,868,875 · App. 16/043,926 · Granted Dec 15, 2020

Transparent network service migration across service devices

Inventors: Kiron Haltore (San Jose, CA); Murali Basavaiah (Sunnyvale, CA); Ranganathan Rajagopalan (Fremont, CA)
Assignee: VMWARE, INC.
H04L67/16G06F9/4856H04L61/103H04L61/1511H04L61/6022H04L67/148
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,868,875
App. No.
16/043,926
Granted
Dec 15, 2020
Kind
B2
Abstract

Migrating a network service that is currently being performed by a first device to be performed by a second device includes: instructing the second device to notify an upstream network device to forward traffic that is to be serviced by the network service to the second device instead of to the first device, the network service being associated with an Internet Protocol (IP) address; and instructing the first device to migrate the network service to the second device, wherein the migration includes moving or copying state information associated with an existing flow currently serviced by the first device to the second device; the existing flow being an existing flow between a client application and a network application.

Claims (45)

1. A method performed by a controller to migrate a network service at a first device to a second device without interrupting traffic flows for which the network service is being performed, the network service associated with a particular Internet Protocol (IP) address, the method comprising:

instructing the first device to migrate the network service to the second device, wherein the migration includes sending, to the second device, state information associated with at least one existing flow currently serviced by the network service at the first device, wherein the first device is not configured to terminate a TCP connection from a client, and migrates state information of the existing flow associated with the network service by (i) slowing down client transmission associated with the existing flow by at least one of stopping and slowing an opening of a TCP window associated with the existing flow, and (ii) sending state information required to reconstruct the existing flow to the second device; and

instructing the second device to send a gratuitous address resolution protocol (GARP) message to an upstream network device to associate the particular IP address with a particular network interface of the second device at the upstream network device such that future traffic destined for the particular IP address received at the upstream network device is directed to the particular network interface of the second device.

2. The method of claim 1 , wherein, after the GARP message is sent by the second device but before the state information for a particular existing flow is sent to the second device,

the second device receives a packet belonging to the particular existing flow, and

the second device forwards the packet to the first device for processing.

3. The method of claim 1 , wherein prior to the gratuitous ARP being sent, traffic that is associated with a new flow is received by the first device, and forwarded by the first device to the second device.

4. The method of claim 1 , wherein the first device and the second device include at least one of a physical device and a virtual device.

5. A controller system comprising:

one or more networking interfaces configured to transmit and receive data;

one or more processing units; and

a non-transitory machine readable medium storing a program for execution by the processing units, the program for migrating a network service at a first device to a second device without interrupting traffic flows for which the network service is being performed, the network service associated with a particular Internet Protocol (IP) address, the program comprising sets of instructions for:

instructing the first device to migrate the network service to the second device, wherein the migration includes sending, to the second device, state information associated with at least one existing flow currently serviced by the network service at the first device, wherein the first device is configured to terminate to a TCP connection from a client, and migrates state information of the existing flow associated with the network service by (i) slowing down client transmission associated with the existing flow by at least one of stopping and slowing an opening of a TCP window associated with the existing flow, (ii) stopping data buffering operations associated with the existing flow, and (iii) sending state information required to reconstruct the existing flow to the second device; and

instructing the second device to send a gratuitous address resolution protocol (GARP) message to an upstream network device to associate the particular IP address with a particular network interface of the second device at the upstream network device such that future traffic destined for the particular IP address received at the upstream network device is directed to the particular network interface of the second device.

6. The controller system of claim 5 , wherein, after the GARP message is sent by the second device but before the state information for a particular existing flow is sent to the second device,

the second device receives a packet belonging to the particular existing flow, and

the second device forwards the packet to the first device for processing.

7. The controller system of claim 5 , wherein prior to the gratuitous ARP being sent, traffic that is associated with a new flow is received by the first device, and forwarded by the first device to the second device.

8. The controller system of claim 5 , wherein the first device and the second device include at least one of a physical device and a virtual device.

9. A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for migrating a network service at a first device to a second device without interrupting traffic flows for which the network service is being performed, the network service associated with a particular Internet Protocol (IP) address, the program comprising sets of instructions for:

instructing the first device to migrate the network service to the second device, wherein the migration includes sending, to the second device, state information associated with at least one existing flow currently serviced by the network service at the first device, wherein the first device is configured to terminate to a TCP connection from a client, and migrates state information of the existing flow associated with the network service by (i) slowing down client transmission associated with the existing flow by at least one of stopping and slowing an opening of a TCP window associated with the existing flow, (ii) stopping data buffering operations associated with the existing flow, and (iii) sending state information required to reconstruct the existing flow to the second device; and

instructing the second device to send a gratuitous address resolution protocol (GARP) message to an upstream network device to associate the particular IP address with a particular network interface of the second device at the upstream network device such that future traffic destined for the particular IP address received at the upstream network device is directed to the particular network interface of the second device.

10. The method of claim 1 , wherein, after state information for a particular existing flow has been sent to the second device, but before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device forwards the packet to the second device for processing.

11. The method of claim 1 , wherein, before state information for a particular existing flow has been sent to the second device, and before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device performs the network service.

12. The controller system of claim 5 , wherein, after state information for a particular existing flow has been sent to the second device, but before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device forwards the packet to the second device for processing.

13. The controller system of claim 5 , wherein, before state information for a particular existing flow has been sent to the second device, and before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device performs the network service.

14. The non-transitory machine readable medium of claim 9 , wherein, after the GARP message is sent by the second device but before the state information for a particular existing flow is sent to the second device,

the second device receives a packet belonging to the particular existing flow, and

the second device forwards the packet to the first device for processing.

15. The non-transitory machine readable medium of claim 9 , wherein prior to the gratuitous ARP being sent, traffic that is associated with a new flow is received by the first device, and forwarded by the first device to the second device.

16. The non-transitory machine readable medium of claim 9 , wherein the first device and the second device include at least one of a physical device and a virtual device.

17. The non-transitory machine readable medium of claim 9 , wherein, after state information for a particular existing flow has been sent to the second device, but before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device forwards the packet to the second device for processing.

18. The non-transitory machine readable medium of claim 9 , wherein, before state information for a particular existing flow has been sent to the second device, and before the GARP message is sent,

the first device receives a packet of the particular existing flow, and

the first device performs the network service.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
NUNC PRO TUNC ASSIGNMENT Recorded Oct 24, 2019
From: AVI NETWORKS, INC.
To: VMWARE, INC.
Reel/Frame 050826/0640 →
Cited By (1)
US 12,489,822