IP Library Granted Patent US 10,944,585
Granted Patent B1
US 10,944,585 · App. 16/570,344 · Granted Mar 9, 2021

Migration for network appliances

Inventors: Sami Boutros (Union City, CA); Mani Kancherla (Cupertino, CA); Jayant Jain (Cupertino, CA); Ankur Dubey (Palo Alto, CA); Rajeev Nair (Palo Alto, CA)
Assignee: VMware, Inc.
H04L12/2816H04L45/38H04L45/745H04L47/2483H04L61/2567H04L2012/285
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,944,585
App. No.
16/570,344
Granted
Mar 9, 2021
Kind
B1
Abstract

Embodiments described herein involve appliance migration. Embodiments include connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service. Embodiments include connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected. Embodiments include determining, by the second appliance, existing flows processed by the first appliance. Embodiments include processing, by the second appliance, a plurality of packets received via the first endpoint by: forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.

Claims (56)

1. A method for appliance migration, comprising:

connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service;

connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected;

determining, by the second appliance, existing flows processed by the first appliance; and

processing, by the second appliance, a plurality of packets received via the first endpoint by:

forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and

performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.

2. The method of claim 1 , further comprising identifying, by the second appliance, ports contained in outbound flows from the first appliance as occupied ports, wherein the occupied ports are not used by the second appliance when performing the service.

3. The method of claim 1 , further comprising generating at least one flow table based on the existing flows, wherein the at least one flow table includes information related to the existing flows.

4. The method of claim 3 , wherein forwarding, by the second appliance, the first packets to the first appliance comprises:

determining, based on at least a subset of the at least one flow table, that the first packets correspond to respective flows of the existing flows; and

forwarding the first packets to the first appliance.

5. The method of claim 1 , further comprising:

determining that the existing flows have completed; and

decommissioning the first appliance.

6. The method of claim 1 , wherein performing, by the second appliance, the service for the second packets comprises performing network address translation (NAT).

7. The method of claim 1 , wherein determining, by the second appliance, the existing flows of the first appliance comprises:

monitoring, by the second appliance for a monitoring time period, inbound flows and outbound flows to and from the first endpoint and the second endpoint; and

identifying, by the second appliance, the inbound flows and the outbound flows as the existing flows.

8. A computer system comprising:

one or more processors; and

a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the computer system to perform a method for appliance migration, the method comprising:

connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service;

connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected;

determining, by the second appliance, existing flows processed by the first appliance; and

processing, by the second appliance, a plurality of packets received via the first endpoint by:

forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and

performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.

9. The computer system of claim 8 , wherein the method further comprises identifying, by the second appliance, ports contained in outbound flows from the first appliance as occupied ports, wherein the occupied ports are not used by the second appliance when performing the service.

10. The computer system of claim 8 , wherein the method further comprises generating at least one flow table based on the existing flows, wherein the at least one flow table includes information related to the existing flows.

11. The computer system of claim 10 , wherein forwarding, by the second appliance, the first packets to the first appliance comprises:

determining, based on at least a subset of the at least one flow table, that the first packets correspond to respective flows of the existing flows; and

forwarding the first packets to the first appliance.

12. The computer system of claim 8 , wherein the method further comprises:

determining that the existing flows have completed; and

decommissioning the first appliance.

13. The computer system of claim 8 , wherein performing, by the second appliance, the service for the second packets comprises performing network address translation (NAT).

14. The computer system of claim 8 , wherein determining, by the second appliance, the existing flows of the first appliance comprises:

monitoring, by the second appliance for a monitoring time period, inbound flows and outbound flows to and from the first endpoint and the second endpoint; and

identifying, by the second appliance, the inbound flows and the outbound flows as the existing flows.

15. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method for appliance migration, the method comprising:

connecting, by a second appliance that is configured to perform a service, to a first uplink and a first downlink of a first appliance that is configured to perform the service;

connecting, by the second appliance, to a first endpoint and a second endpoint to which the first appliance is connected;

determining, by the second appliance, existing flows processed by the first appliance; and

processing, by the second appliance, a plurality of packets received via the first endpoint by:

forwarding, by the second appliance, first packets of the plurality of packets that correspond to the existing flows to the first appliance; and

performing, by the second appliance, the service for second packets of the plurality of packets that do not correspond to the existing flows.

16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises identifying, by the second appliance, ports contained in outbound flows from the first appliance as occupied ports, wherein the occupied ports are not used by the second appliance when performing the service.

17. The non-transitory computer readable medium of claim 15 , wherein the method further comprises generating at least one flow table based on the existing flows, wherein the at least one flow table includes information related to the existing flows.

18. The non-transitory computer readable medium of claim 17 , wherein forwarding, by the second appliance, the first packets to the first appliance comprises:

determining, based on at least a subset of the at least one flow table, that the first packets correspond to respective flows of the existing flows; and

forwarding the first packets to the first appliance.

19. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

determining that the existing flows have completed; and

decommissioning the first appliance.

20. The non-transitory computer readable medium of claim 15 , wherein performing, by the second appliance, the service for the second packets comprises performing network address translation (NAT).

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: BOUTROS, SAMI; KANCHERLA, MANI K.; JAIN, JAYANT; DUBEY, ANKUR; NAIR, RAJEEV
To: VMWARE, INC.
Reel/Frame 050370/0177 →