IP Library Granted Patent US 8,339,952
Granted Patent B1
US 8,339,952 · App. 13/413,196 · Granted Dec 25, 2012

Protocol offload transmit traffic management

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 8,339,952
App. No.
13/413,196
Granted
Dec 25, 2012
Kind
B1
Abstract

Transfer of data is facilitated between at least one application and a peer via a network. Data destined for the peer is provided from the at least one application for transmission to the peer via the network. Modulation event tokens are managed, and protocol processing of the data with the peer is based in part on a result of the modulation event tokens managing such that protocol processed data is caused to be transmitted to the peer via the network nominally with desired data transmission rate characteristics. A result of the protocol processing step is fed back to the to the modulation event tokens managing. The desired data transmission rate characteristics may include, for example, shaping and pacing.

Claims (38)

1. A method of operating a network interface device to facilitate a transfer of data between at least one application, operating on a host, and a peer, the transfer of data according to a particular communication protocol, the network interface device communicatively coupled to the host, the method comprising:

receiving, from the application, data destined for transmission to the peer via the network;

protocol processing with the peer, by a protocol mechanism operating according to the particular communication protocol and based at least in part on an indication of a desired transmission rate characteristic, to provide packets including the data received from the host such that the packets are caused to be provided from the network interface device to the network with the desired transmission rate characteristics;

wherein the protocol processing with the peer is controlled by a transmission rate regulating mechanism operating based on an amount of data to be transmitted and on the desired transmission rate characteristics, to regulate a rate at which the protocol processing mechanism operates with respect to the data, to thus cause the packets to be output from the network interface device to the network with the desired transmission rate characteristic.

2. The method of claim 1 , wherein:

the peer is a particular peer; and

a protocol processing mechanism is configured to operate a plurality of connections between the host and a plurality of peers including the particular peer;

the connections are grouped into a plurality of categories; and

the protocol processing step includes protocol processing for each connection with at least one of the plurality of peers such that, for each connection, the protocol processing for that connection by the protocol processing mechanism is controlled by the transmission rate regulating mechanism based at least in part on a desired transmission rate characteristic for the category to which that connection belongs, to thus cause the packets of each connection to be output from the network interface device to the network with the desired transmission rate characteristic for the category to which that connection belongs.

3. The method of claim 2 , wherein:

at least some of the indications of desired transmission rate characteristics indicate at least one of a group consisting of at least one desired shaping characteristic and at least one desired pacing characteristic.

4. The method of claim 3 , wherein:

the transmission rate regulation mechanism operates, for each connection, based on an estimate of an amount of data to be transmitted for that connection and the desired transmission rate for the category to which that connection belongs, to regulate a rate at which the protocol processing mechanism operates with respect to data of that connection to thus cause the data for that connection to be output to the network with the desired transmission rate characteristic for the category to which that connection belongs.

5. The method of claim 4 , wherein:

the transmission rate regulation mechanism further operates, for each connection, according to a priority associated with the category to which that connection belongs.

6. The method of claim 5 , wherein:

the priorities associated with the categories are based at least in part on an amount of data to be transmitted for the separate categories.

7. The method of claim 5 wherein:

the priorities associated with the categories are based at least in part on the urgency of the data to be transmitted.

8. The method of claim 5 wherein:

the priorities associated with the categories are based at least in part on the customer transmitting the data.

9. The method of claim 1 , wherein:

the protocol processing step includes processing information received from the network and, based in part thereon, controlling the protocol processing step.

10. The method of claim 1 , wherein:

the protocol processing step includes processing information received from the network, and,

the method further comprises determining whether transmission of particular data to the peer should not be deferred, based on a result of processing the information received from the network.

11. The method of claim 10 , wherein:

the protocol processing step includes TCP, and

determining whether transmission of particular data to the peer should not be deferred includes processing the information received from the network to determine if at least part of the data to be transmitted to the peer has previously been transmitted.

12. The method of claim 11 , wherein:

if it is determined that at least part of the data to be transmitted to the peer has previously been transmitted, determining that the transmission of the particular data to the peer should not be deferred.

13. A network interface device configured to facilitate a transfer of data between at least one application, operating on a host, and a peer, the transfer of data according to a particular communication protocol, the network interface device communicatively coupled to the host, the method comprising:

means for receiving, from the application, data destined for transmission to the peer via the network; and

means for protocol processing with the peer, operating according to the particular communication protocol and based at least in part on an indication of a desired transmission rate characteristic, by providing packets including the data received from the host such that the packets are caused to be provided from the network interface device to the network with the desired transmission rate characteristics; wherein the means for protocol processing with the peer is controlled by a transmission rate regulating mechanism operating based on an amount of data to be transmitted and on the desired transmission rate characteristics, to regulate a rate at which the protocol processing mechanism operates with respect to the data, to thus cause the packets to be output from the network interface device to the network with the desired transmission rate characteristic.

14. A network interface controller configured to facilitate a transfer of data between at least one application and a peer via a network using a protocol processing mechanism, wherein data destined for the peer is provided from the at least one application, operating on a host, for transmission to the peer via the network, to a protocol processing mechanism, according to a particular transmission protocol, to cause the data to be provided from the network interface device to the network, the controller comprising:

means for managing a data structure of tokens, each token including an estimate of an amount of data in the data to be transmitted, managing the data structure including retrieving tokens out of the data structure based on the included estimate of an amount of data in the data to be transmitted and based on desired data transmission rate characteristics;

protocol processing means for protocol processing with the peer, for each token retrieved out of the data structure by the protocol processing mechanism according to the particular transmission protocol, to cause data packets including the data provided from the at least one application to be transmitted to the peer via the network, such that data packet transmission to the peer via the network is modulated to nominally have desired data transmission rate characteristics; and

means for feeding back a result of the protocol processing step to cause a token to be stored into the data structure of tokens.

Assignments (12)
CHANGE OF NAME Recorded May 5, 2026
From: CHELSIO COMMUNICATIONS, INC.
To: SPEEDNIC LLC
Reel/Frame 075561/0001 →
RELEASE OF SECURITY INTEREST Recorded Dec 26, 2025
From: CSNK WORKING CAPITAL FINANCE CORP.
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 074070/0784 →
RELEASE OF SECURITY INTEREST Recorded Dec 18, 2025
From: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 073264/0525 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE FIRST PAGE OF THE INTELLECTUAL PROPERTY SECURITY AGREEMENT HAS AN INCORRECT DATE THAT NEEDS TO BE CORRECTED PREVIOUSLY RECORDED ON REEL 050050 FRAME 0396. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Aug 15, 2019
From: CHELSIO COMMUNICATIONS, INC.
To: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
Reel/Frame 050112/0234 →
SECURITY INTEREST Recorded Aug 14, 2019
From: CHELSIO COMMUNICATIONS, INC.
To: WESTERN ALLIANCE BANK, AN ARIZONA CORPORATION
Reel/Frame 050050/0396 →
RELEASE OF SECURITY INTEREST Recorded Apr 25, 2017
From: NOVIRIAN CAPITAL
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 042142/0232 →
SECURITY INTEREST Recorded Jul 29, 2016
From: CHELSIO COMMUNICATIONS, INC.
To: NOVIRIAN CAPITAL
Reel/Frame 039296/0550 →
RELEASE OF SECURITY INTEREST Recorded Jul 15, 2016
From: EAST WEST BANK
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 039360/0596 →
SECURITY INTEREST Recorded Oct 21, 2014
From: CHELSIO COMMUNICATIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033990/0451 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2014
From: EAST WEST BANK
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 033989/0930 →
SECURITY AGREEMENT Recorded May 9, 2013
From: CHELSIO COMMUNICATIONS, INC.
To: EAST WEST BANK
Reel/Frame 030389/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2012
From: EIRIKSSON, ASGEIR THOR; NOUREDDINE, WAEL; MAO, CHRIS YUHONG
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 029456/0403 →