IP Library Granted Patent US 9,385,959
Granted Patent B2
US 9,385,959 · App. 14/290,509 · Granted Jul 5, 2016

System and method for improving TCP performance in virtualized environments

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 9,385,959
App. No.
14/290,509
Granted
Jul 5, 2016
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 (54)

1. A method comprising:

observing one of a plurality of data flows for transmitting a plurality of data packets between a protocol sender and a protocol receiver using TCP stack configuration information of the protocol sender, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

identifying, using a processor of a machine, policy-based TCP stack configuration information for the one of the plurality of data flows;

overriding, between a protocol acceleration module and the protocol receiver, the TCP stack configuration information of the protocol sender with the policy-based TCP stack configuration information for the one of the plurality of data flows identified; and

transmitting the one of the plurality of data flows identified using the TCP stack configuration information of the sender between the protocol sender and the protocol acceleration module, and using the policy-based TCP stack configuration information between the protocol acceleration module and the protocol receiver.

2. The method of claim 1 , wherein overriding, between the protocol acceleration module and the protocol receiver, the TCP stack configuration information of the protocol sender with the policy-based TCP stack configuration information for the one of the plurality of data flows identified further comprising:

overriding, between the protocol acceleration module and the protocol receiver, the TCP stack configuration information of the protocol sender with the policy-based TCP stack configuration information for the one of the plurality of data flows identified without changing the TCP stack configuration information of the protocol sender.

3. The method of claim 1 , wherein the policy-based TCP stack configuration information for the plurality of data flows represents flow classification information for organizing the plurality of data packets with different characteristics into different classes using certain criteria.

4. The method of claim 3 , wherein the flow classification information may classify one or more of the plurality of data packets according to particular applications.

5. The method of claim 1 , further comprising:

generating, by the protocol acceleration module, diagnostic information related to TCP performance of the data packets transmitted between the protocol sender and the protocol receiver; and

transmitting the diagnostic information to a management interface.

6. The method of claim 5 , wherein the diagnostic information includes measurement information from one or more portions of a data path:

between the protocol sender and the protocol acceleration module; and

between the protocol acceleration module and the protocol receiver.

7. The method of claim 6 , wherein the diagnostic information includes one or more TCP connection characteristics.

8. The method of claim 6 , further comprising:

receiving, from a management interface, the policy-based TCP stack configuration information for the plurality of data flows; and

storing the policy-based TCP stack configuration information for the plurality of data flows.

9. The method of claim 5 , further comprising:

receiving, from the management interface, adjusted policy-based TCP stack configuration information for the one of the plurality of data flows, the one of the plurality of data flows having corresponding classifier information, the adjusted policy-based TCP stack configuration information adjusted based on the diagnostic information.

10. The method of claim 1 , further comprising:

wherein storing the policy-based TCP stack configuration information further comprises storing the policy-based TCP stack configuration information within the protocol acceleration module, the policy-based TCP stack configuration information stored in a flow table;

wherein observing the one of the plurality of data flows further comprises observing, by the protocol acceleration module, the one of the plurality of data flows; and

wherein identifying, using the processor of the machine, the policy-based TCP stack configuration information for the one of the plurality of data flows further comprises identifying, by the protocol acceleration module, the policy-based TCP stack configuration information for the one of the plurality of data flows.

11. A method, comprising:

creating policy-based TCP stack configuration information for a plurality of data flows for transmitting a plurality of data packets between a protocol sender and a protocol receiver over a portion of a data path between a protocol acceleration module and the protocol receiver without modifying TCP stack configuration information of the protocol sender, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

providing the policy-based TCP stack configuration information to the protocol acceleration module, wherein creating the policy-based TCP stack configuration information comprises adjusting one or more TCP stack configuration values included within the policy-based TCP stack configuration information for at least one data flow in the plurality of data flows;

receiving, from the protocol acceleration module, diagnostic information related to TCP performance of the plurality of data packets corresponding to one of the plurality of data flows transmitted between the protocol sender and the protocol receiver;

adjusting the policy-based TCP stack configuration information based on the diagnostic information; and

providing the adjusted policy-based TCP stack configuration information to the protocol acceleration module.

12. The method of claim 11 , wherein the diagnostic information includes measurement information from one or more portions of the data path:

between the protocol sender and the protocol acceleration module; and

between the protocol acceleration module and the protocol receiver.

13. The method of claim 11 , wherein the diagnostic information includes one or more TCP connection characteristics.

14. A system comprising:

a processor of a machine;

an observer module configured to observe one of a plurality of data flows for transmitting a plurality of data packets between a protocol sender and a protocol receiver using policy-based TCP stack configuration information of the protocol sender, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

a data flow identification module configured to identify, using the processor of the machine, the policy-based TCP stack configuration information for the one of the plurality of data flows;

a protocol override module configured to override, between a protocol acceleration module and the protocol receiver, the policy-based TCP stack configuration of the protocol sender with the policy-based TCP stack configuration information for the one of the plurality of data flows identified; and

a transmitter module configured to transmit the one of the plurality of data flows identified using the policy-based TCP stack configuration of the protocol sender between the protocol sender and the protocol acceleration module, and using the policy-based TCP stack configuration information between the protocol acceleration module and the protocol receiver.

15. The system of claim 14 , further comprising:

a monitoring module configured to diagnose information related to TCP performance of the one of the plurality of data flows transmitting the plurality of data packets between the protocol sender and the protocol receiver.

16. The system of claim 15 , wherein the diagnostic information includes measurement information from one or more portions of a data path:

between the protocol sender and the protocol acceleration module; and

between the protocol acceleration module and the protocol receiver.

17. The system of claim 15 , wherein the diagnostic information includes one or more TCP connection characteristics.

18. The system of claim 14 , further comprising:

a management interface configured to create the policy-based TCP stack configuration information for the plurality of data flows.

19. A tangible machine-readable storage medium having no transitory signals, and embodying instructions that, when executed by a machine, cause the machine to perform operations comprising:

observing one of a plurality of data flows used to transmit a plurality of data packets between a protocol sender and a protocol receiver using TCP stack configuration information of the protocol sender, the one of the plurality of data flows including transmitting one or more data packets, wherein at least one of the protocol sender and the protocol receiver resides within a virtualized host;

identifying, using a processor of a machine, policy-based TCP stack configuration information for the one of the plurality of data flows;

overriding, between a protocol acceleration module and the protocol receiver, the policy-based TCP stack configuration of the protocol sender with the policy-based TCP stack configuration information for the one of the plurality of data flows identified; and

transmitting the one of the plurality of data flows identified using the policy-based TCP stack configuration of the sender between the protocol sender and the protocol acceleration module, and using the policy-based TCP stack configuration information between the protocol acceleration module and the protocol receiver.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2020
From: APPFORMIX INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 052127/0270 →
CHANGE OF NAME Recorded Feb 2, 2017
From: ACELIO, INC.
To: APPFORMIX INC.
Reel/Frame 041605/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: KOMPELLA, RAMANA; SINGH, SUMEET
To: ACELIO, INC
Reel/Frame 033758/0484 →