IP Library › Granted Patent US 11,316,824
Granted Patent B1
US 11,316,824 · App. 17/151,665 · Granted Apr 26, 2022

Hybrid and efficient method to sync NAT sessions

Inventors: Saurav Suri (Bangalore, IN); Varun Lakkur Ambaji Rao (Bangalore, IN)
Assignee: VMWARE, INC.
H04L61/255H04L45/38H04L61/2514
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 11,316,824
App. No.
17/151,665
Granted
Apr 26, 2022
Kind
B1
Abstract

The method of synchronizes network address translation (NAT) records between an active gateway and a standby gateway. The method of some embodiments synchronizes NAT records of long-term data flows more frequently than those of short-term flows. Multiple data flows pass between a device at an internal source address and a device at an external destination address through the active NAT gateway. For each flow, the method generates a NAT record. The method then determines whether the data flow is a short-term flow or a long-term flow and synchronizes the NAT records of the long-term flows, but not the NAT records of the short-term flows, with the standby gateway. The method of some embodiments synchronizing NAT records more frequently when NAT records are being generated quickly relative to prior generation rates and less frequently when NAT records are being generated slowly relative to the prior generation rates.

Claims (24)

1. A method of synchronizing network address translation (NAT) records between an active gateway and a standby gateway, the method comprising:

for each of a plurality of data flows between a device at an internal source IP address and a device at an external destination address that pass through the active NAT gateway:

generating a NAT record; and

determining whether the data flow is a short-term flow or a long-term flow; and

synchronizing the NAT records of the long-term flows, but not the NAT records of the short-term flows, with the standby gateway.

2. The method of claim 1 , wherein determining whether a particular data flow is a short-term flow or a long-term flow comprises identifying a data type of the data flow and comparing the data type to a set of identifiers of each of a plurality of data types as indicating a short-term flow or a long-term flow.

3. The method of claim 2 , wherein the data type comprises at least one of a video file, a video call, an HTML, file, an audio file, an audio call, and a data file.

4. The method of claim 1 , wherein determining whether a particular data flow is a short-term flow or a long-term flow comprises receiving a soft termination of the data flow and inspecting an application layer of at least one packet of the data flow.

5. The method of claim 1 , wherein determining whether a particular data flow is a short-term flow or a long-term flow comprises identifying a packet size of packets of the flow.

6. The method of claim 1 , wherein determining whether a particular data flow is a short-term flow or a long-term flow comprises identifying an incoming request for data and determining an amount of data requested by the incoming request.

7. The method of claim 1 , wherein the data flow is a TCP flow.

8. The method of claim 1 further comprising performing a plurality of synchronizations of NAT records, wherein performing the plurality of synchronizations of NAT records comprises synchronizing the NAT records of the long-term flows more frequently and synchronizing the NAT records of the short-term flows less frequently.

9. A non-transitory machine readable medium storing a program which when executed by at least one processing unit synchronizes network address translation (NAT) records between an active gateway and a standby gateway, the program comprising sets of instructions for:

for each of a plurality of data flows between a device at an internal source IP address and a device at an external destination address that pass through the active NAT gateway:

generating a NAT record; and

determining whether the data flow is a short-term flow or a long-term flow; and

synchronizing the NAT records of the long-term flows, but not the NAT records of the short-term flows, with the standby gateway.

10. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for determining whether a particular data flow is a short-term flow or a long-term flow comprises sets of instructions for identifying a data type of the data flow and comparing the data type to a set of identifiers of each of a plurality of data types as indicating a short-term flow or a long-term flow.

11. The non-transitory machine readable medium of claim 10 , wherein the data type comprises at least one of a video file, a video call, an HTML, file, an audio file, an audio call, and a data file.

12. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for determining whether a particular data flow is a short-term flow or a long-term flow comprises sets of instructions for receiving a soft termination of the data flow and inspecting an application layer of at least one packet of the data flow.

13. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for determining whether a particular data flow is a short-term flow or a long-term flow comprises a set of instructions for identifying a packet size of packets of the flow.

14. The non-transitory machine readable medium of claim 9 , wherein the set of instructions for determining whether a particular data flow is a short-term flow or a long-term flow comprises sets of instructions for identifying an incoming request for data and determining an amount of data requested by the incoming request.

15. The non-transitory machine readable medium of claim 9 , wherein the data flow is a TCP flow.

16. The non-transitory machine readable medium of claim 9 , wherein the program further comprises a set of instructions for performing a plurality of synchronizations of NAT records, wherein the set of instructions for performing the plurality of synchronizations of NAT records comprises sets of instructions for synchronizing the NAT records of the long-term flows more frequently and synchronizing the NAT records of the short-term flows less frequently.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2021
From: SURI, SAURAV; RAO, VARUN LAKKUR AMBAJI
To: VMWARE, INC.
Reel/Frame 054950/0332 →
Priority Claims (1)
IN 202041052107 · Nov 30, 2020 · national
Cited By (2)
US 12,375,512 US 12,432,171