IP Library Granted Patent US 10,116,574
Granted Patent B2
US 10,116,574 · App. 15/162,589 · Granted Oct 30, 2018

System and method for improving TCP performance in virtualized environments

Inventors: Ramana Kompella (Santa Clara, CA); Sumeet Singh (Saratoga, CA)
Assignee: Juniper Networks, Inc.
H04L47/2483G06F9/45558H04L41/0893H04L47/12H04L47/193H04L47/20H04L47/2475H04L47/27H04L47/28H04L69/161G06F2009/45595
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,116,574
App. No.
15/162,589
Granted
Oct 30, 2018
Kind
B2
Abstract

Example embodiments described herein provide systems and methods for transmitting data packets between a protocol sender and a protocol receiver in a cloud environment, having either the protocol sender or the protocol receiver residing within a virtualized host. A protocol acceleration module may observe the data packets transmitted along the data path between the protocol sender and the protocol receiver using protocol stack configuration information of the protocol sender. The protocol acceleration module may override the protocol stack configuration information with policy-based protocol stack configuration information such that data packets transmitted from the protocol acceleration module to the protocol receiver use the policy-based protocol stack configuration information. For various embodiments, the protocol stack configuration information of the protocol sender is not modified.

Claims (50)

1. A system, comprising:

a memory that stores computer executable components;

a processor that executes computer executable components stored in the memory, wherein the computer executable components comprise:

a data flow identification component configured to identify first configuration data indicative of TCP stack configuration information for a data flow transmitted between a protocol sender and a protocol receiver, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

a protocol override component configured to override the first configuration data with second configuration data indicative of policy-based TCP stack configuration information for the data flow;

a transmitter component configured to transmit the data flow to the protocol receiver using the second configuration data indicative of the policy-based TCP stack configuration; and

a diagnostics component configured to generate diagnostics data indicative of TCP performance associated with the data flow and determine, based on the diagnostics data, that the data flow to the protocol receiver is being slowed by resource scheduling being performed by the virtualized host.

2. The system of claim 1 , wherein

generating diagnostics data indicative of TCP performance associated with the data flow includes determining round-trip times associated with transmitting the data flow to the protocol receiver.

3. The system of claim 2 , wherein the protocol override component is configured to adjust the second configuration data based on the diagnostic data.

4. The system of claim 2 , wherein the diagnostics data comprises one or more TCP connection characteristics associated with the data flow.

5. The system of claim 1 , wherein the computer executable components further comprise:

a measurement component configured to generate measurement data indicative of a measurement associated with a data path between the protocol sender and the system.

6. The system of claim 5 , wherein the protocol override component is configured to adjust the second configuration data based on the measurement data.

7. The system of claim 1 , wherein the computer executable components further comprise:

a measurement component configured to generate measurement data indicative of a measurement associated with a data path between the system and the protocol receiver.

8. The system of claim 7 , wherein the protocol override component is configured to adjust the second configuration data based on the measurement data.

9. A method, comprising:

determining, by a system comprising a processor, first configuration data indicative of TCP stack configuration information for a data flow transmitted by a protocol sender;

overriding the first configuration data with second configuration data indicative of policy-based TCP stack configuration information for the data flow;

sending the data flow to a protocol receiver based on the second configuration data indicative of the policy-based TCP stack configuration, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

generating diagnostic data indicative of TCP performance of one or more data packets corresponding to the data flow transmitted by the protocol sender; and

determining, based on the diagnostic data, that the data flow transmitted by the protocol sender is being slowed by resource scheduling being performed by the virtualized host.

10. The method of claim 9 , wherein the overriding comprises overriding the first configuration data with the second configuration data without altering the TCP stack configuration information.

11. The method of claim 9 , further comprising:

observing a plurality of data flows transmitted between the protocol sender and the protocol receiver to facilitate the identifying the first configuration data.

12. The method of claim 9 , further comprising:

adjusting the second configuration data based on the diagnostic data.

13. The method of claim 9 , further comprising:

generating measurement data indicative of measurement information associated with a data path between the system and the protocol sender; and

adjusting the second configuration data based on the measurement data.

14. The method of claim 9 , further comprising:

generating measurement data indicative of measurement information associated with a data path between the system and the protocol receiver; and

adjusting the second configuration data based on the measurement data.

15. The method of claim 9 , further comprising:

storing the second configuration data in a flow data structure shared between the protocol sender and the protocol receiver.

16. A non-transitory machine-readable storage medium comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:

generating configuration data indicative of policy-based TCP stack configuration information for a data flow transmitted between a protocol sender and a protocol receiver, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

generating diagnostic data indicative of TCP performance associated with the data flow;

determining, based on the diagnostics data, that the data flow transmitted between the protocol sender and the protocol receiver is being slowed by resource scheduling being performed by the virtualized host;

adjusting the configuration data based on the diagnostic data; and

transmitting the data flow to the protocol receiver based on the configuration data indicative of the policy-based TCP stack configuration.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the operations further comprise:

identifying other configuration data indicative of TCP stack configuration information for the data flow.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the operations further comprise:

overriding the other configuration data with the configuration data indicative of the policy-based TCP stack configuration information.

19. The non-transitory machine-readable storage medium of claim 16 , wherein the operations further comprise:

generating measurement data indicative of measurement information associated with a data path between the protocol sender and a protocol acceleration module associated with the processor.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the operations further comprise:

adjusting the configuration data based on the measurement data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: APPFORMIX INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 054340/0447 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2020
From: KOMPELLA, RAMANA; SINGH, SUMEET
To: ACELIO, INC.
Reel/Frame 054388/0490 →
CHANGE OF NAME Recorded Nov 11, 2020
From: ACELIO, INC.
To: APPFORMIX INC.
Reel/Frame 054388/0996 →
Continuity (4)
Continuation 14290509 · May 29, 2014
Continuation In Part 14149621 · Jan 7, 2014
Provisional Application 61882768 · Sep 26, 2013
Related Publication 20160269302A1 · Sep 15, 2016
Cited By (1)
US 12,489,696