IP Library Granted Patent US 11,601,356
Granted Patent B2
US 11,601,356 · App. 17/227,044 · Granted Mar 7, 2023

Emulating packet flows to assess network links for SD-WAN

Inventors: Rohan Gandhi (Pune, IN); Avinash Nigam (Pune, IN); Sandip Shah (Fremont, CA); Philip Brighten Godfrey (Champaign, IL); Ambarish P. Pande (Akola, IN); Gourab Ghosh (Siliguri, IN); Prashant Jain (Jaipur, IN); Shashank Ranjan (Pune, IN)
Assignee: VMWARE, INC.
H04L43/12H04L43/0876H04L45/50
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,601,356
App. No.
17/227,044
Granted
Mar 7, 2023
Kind
B2
Abstract

Some embodiments provide a novel method for assessing the suitability of network links for connecting compute nodes located at different geographic sites. The method of some embodiments identifies and analyzes sample packets from a set of flows exchanged between first and second compute sites that are connected through a first network link in order to identify attributes of the sampled packets. The method also computes attributes of predicted packets between the identified samples in order to identify attributes of each flow in the set of flows. The method then uses the identified and computed attributes of each flow in the set of flows to emulate the set of flows passing between the two compute sites through the second network link in order to assess whether a second network link should be used for future flows (e.g., future flows exchanged between the first and second compute sites).

Claims (43)

1. A method of assessing changes to network links used to connect different compute sites, the method comprising:

identifying packets of a subset of flows exchanged between first and second compute sites connected through a first network link;

identifying, for each identified packet, at least one packet-traversal attribute that relates to the packet's traversal from the first site to the second site through the first network link;

adjusting the identified packet-traversal attributes of the identified packets in order to make the identified packet-traversal attributes independent of a set of conditions associated with the first network link;

using the adjusted packet-traversal attributes of the packets to perform an emulation of the subset of flows being exchanged between the two compute sites through a second network link in order to assess whether the second network link could be used for future flows without a performance degradation that is more than a threshold amount, wherein the second network link is less expensive and has lower performance than the first network link.

2. The method of claim 1 , wherein the future flows comprise future flows exchanged between the first and second compute sites.

3. The method of claim 1 , wherein

the identified packet-traversal attributes comprise packet delay attributes, and

adjusting the identified packet-traversal attributes comprises normalizing the identified packet-traversal delays by removing delays associated with traversal of packets between the first and second compute sites through the first network link, said normalizing producing normalized delays representing communication delays between processes that exchange the flows in the subset of flows and that execute on devices at the first and second sites.

4. The method of claim 3 , wherein the removed delays are predicted delays associated with traversal of packets between the first and second compute sites through the first network link.

5. The method of claim 3 , wherein the normalizing is performed to render the assessment regarding the use of the second network link independent of operating conditions of the first network link.

6. The method of claim 3 , wherein normalizing comprises:

identifying sets of request flows and response flows between the first and second compute sites;

computing the delay between each request flow and the response flow associated with the request flow;

removing from the computed delay the delay associated with traversal of packets between the first and second sites through the first network link.

7. The method of claim 1 , wherein using the adjusted packet-traversal attributes comprises:

monitoring a set of operating conditions associated with the second network link; and

using the monitored set of operating conditions to perform the emulation.

8. The method of claim 1 , wherein using the adjusted packet-traversal attributes comprises:

generating predicted-traversal attributes for the subset of flows if the subset of flows had been exchanged through the second network link; and

comparing the generated predicted attributes for the packet flows through the second network link with the identified packet-traversal attributes associated with packet flows through the first network link to compare a quality of the second network link to a quality of the first network link.

9. The method of claim 1 , wherein the assessment is performed to determine whether the second network link should be used for a subset of future flows between the first and second sites.

10. A non-transitory machine readable medium storing a program for assessing changes to network links used to connect different compute sites, the program for execution by at least one processing unit of a computer, the program comprising sets of instructions for:

identifying packets of a subset of flows exchanged between first and second compute sites connected through a first network link;

identifying, for each identified packet, at least one packet-traversal attribute that relates to the packet's traversal from the first site to the second site through the first network link;

adjusting the identified packet-traversal attributes of the identified packets in order to make the identified packet-traversal attributes independent of a set of conditions associated with the first network link;

using the adjusted packet-traversal attributes of the packets to perform an emulation of the subset of flows being exchanged between the two compute sites through a second network link in order to assess whether the second network link could be used for future flows, wherein the second network link is less expensive and has lower performance than the first network link.

11. The non-transitory machine readable medium of claim 10 , wherein the future flows comprise future flows exchanged between the first and second compute sites.

12. The non-transitory machine readable medium of claim 10 , wherein the identified packet-traversal attributes comprise packet delay attributes, and the set of instructions for adjusting the identified packet-traversal attributes comprises a set of instructions for normalizing the identified packet-traversal delays by removing delays associated with traversal of packets between the first and second compute sites through the first network link, said normalizing producing normalized delays representing communication delays between processes that exchange the flows in the subset of flows and that execute on devices at the first and second sites.

13. The non-transitory machine readable medium of claim 12 , wherein the removed delays are predicted delays associated with traversal of packets between the first and second compute sites through the first network link.

14. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for the normalizing is performed to render the assessment regarding the use of the second network link independent of operating conditions of the first network link.

15. The non-transitory machine readable medium of claim 12 , wherein the set of instructions for normalizing comprises the sets of instructions for:

identifying sets of request flows and response flows between the first and second compute sites;

computing the delay between each request flow and the response flow associated with the request flow; and

removing from the computed delay the delay associated with traversal of packets between the first and second sites through the first network link.

16. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for using the adjusted packet-traversal attributes comprises sets of instructions for:

monitoring a set of operating conditions associated with the second network link; and

using the monitored set of operating conditions to perform the emulation.

17. The non-transitory machine readable medium of claim 10 , wherein the set of instructions for using the adjusted packet-traversal attributes comprises sets of instructions for:

generating predicted-traversal attributes for the subset of flows if the subset of flows had been exchanged through the second network link; and

comparing the generated predicted attributes for the packet flows through the second network link with the identified packet-traversal attributes associated with packet flows through the first network link to compare a quality of the second network link to a quality of the first network link.

18. The non-transitory machine readable medium of claim 10 , wherein the identified packets are packets captured by a packet mirror.

19. The non-transitory machine readable medium of claim 18 , wherein the identified packets are packets having a particular type of payload.

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 Apr 9, 2021
From: GANDHI, ROHAN; NIGAM, AVINASH; SHAH, SANDIP; GODFREY, PHILIP BRIGHTEN; PANDE, AMBARISH P.; GHOSH, GOURAB; JAIN, PRASHANT; RANJAN, SHASHANK
To: VMWARE, INC.
Reel/Frame 055886/0363 →
Priority Claims (2)
IN 202041056980 · Dec 29, 2020 · national
IN 202041056982 · Dec 29, 2020 · national
Continuity (1)
Related Publication 20220210042A1 · Jun 30, 2022
Cited By (35)
US 12,218,800 US 12,218,845 US 12,237,990 US 12,250,114 US 12,261,777 US 12,267,364 US 12,316,524 US 12,335,131 US 12,355,655 US 12,368,676 US 12,375,403 US 12,401,544 US 12,425,332 US 12,425,335 US 12,425,347 US 12,425,395 US 12,483,968 US 12,489,672 US 12,506,678 US 12,507,120 US 12,507,148 US 12,507,153 US 12,526,183 US 12,549,465 US 12,549,948 US 12,563,438 US 12,568,039 US 12,587,468 US 12,603,827 US 12,603,848 US 12,632,330 US 12,652,217 US 12,659,719 US 12,695,763 US 12,719,782