IP Library Granted Patent US 7,724,658
Granted Patent B1
US 7,724,658 · App. 11/217,661 · Granted May 25, 2010

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 7,724,658
App. No.
11/217,661
Granted
May 25, 2010
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 (55)

1. A method to facilitate the 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, the data encapsulated in data packets formed using the protocol processing mechanism, according to a particular transmission protocol, comprising:

managing a data structure of tokens, each token including an estimate of an amount of data in the data packets to be transmitted, the step of 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 packets to be transmitted and based on desired data transmission rate characteristics;

for each token retrieved out of the data structure, protocol processing with the peer, by the protocol processing mechanism according to the particular transmission protocol, to encapsulate data provided from the at least one application into a data packet and to cause the data packet 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

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

2. The method of claim 1 , wherein:

the tokens data structure managing step includes categorizing the tokens, such that each category of tokens corresponds to a separate desired date rate transmission characteristic indication.

3. The method of claim 2 , wherein:

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

4. The method of claim 2 , wherein:

the tokens data structure managing step includes retrieving the tokens from the data structure wherein the tokens in each category are retrieved with a timing that corresponds to the desired data transmission rate characteristic indication to which that category corresponds.

5. The method of claim 4 , wherein:

notwithstanding the desired rate transmission characteristic indications, the step of retrieving the tokens from the data structure is additionally subject to priority processing based on priorities associated with the categories.

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 1 , wherein:

the data structure includes a plurality of portions, each portion corresponding to a separate desired data rate transmission characteristic; and

the tokens data structure managing step includes separately managing the retrieving of tokens out of each portion of the data structure based on the separate desired data transmission rate characteristic to which that portion of the data structure corresponds.

8. The method of claim 7 , wherein:

the priorities associated with the data structure portions are based at least in part on an amount of data to be transmitted with the indicated desired transmission rate characteristics.

9. The method of claim 1 , wherein:

the method is accomplished by at least one of the group consisting of an intelligent interface device coupling a host, on which the at least one application is executing, to the network; and

processing on a host, on which the at least one application is executing.

10. The method of claim 9 , wherein the tokens data structure managing step is accomplished by an intelligent protocol processing offload device that interoperates with the host.

11. The method of claim 1 , wherein:

the protocol processing step includes processing information received from the network and, based thereon, determining whether to provide a token to the tokens data structure.

12. The method of claim 11 , wherein:

the information received from the network includes an acknowledgement originating from the peer that data has been successfully received by the peer.

13. The method of claim 12 , wherein:

based on the information received from the network, including an acknowledgement originating from the peer that data has been successfully received by the peer, not deferring the transmission of data without necessarily providing a token to the tokens data structure.

14. The method of claim 1 , wherein:

in association with the protocol processing of data with the peer, determining whether transmission of particular data to the peer should not be deferred, and

based on a result of the determination of whether transmission of particular data to the peer should not be deferred, controlling whether a result of the protocol processing step is fed back to cause a token to be provided to the data structure of tokens.

15. The method of claim 14 , wherein:

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

the step of determining whether transmission of particular data to the peer should not be deferred is based on a result of processing the information received from the network.

16. The method of claim 15 , 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.

17. The method of claim 16 , 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.

18. The method of claim 1 , wherein:

the token provided to the tokens data structure includes a parameter indicative of the estimated amount of data to be transmitted in association with processing the token by the protocol processing step.

19. The method of claim 18 , wherein:

the protocol processing step includes processing to modify the amount of data to be transmitted based on a then-current state when the token is actually processed.

20. A method to facilitate the transfer of data between at least one application and a peer via a network, wherein data destined for the peer is provided from the at least one application for transmission to the peer via the network, comprising:

protocol processing of the data with the peer, such that protocol processed data is formed into packets to be transmitted to the peer via the network;

managing tokens;

processing tokens, to cause the protocol processing to form said data packets for transmission out to the network; and

feeding back a result of the tokens processing step to cause a token to be provided to the tokens managing step,

wherein at least some of the tokens provided to the tokens managing step includes information that is based at least in part on information received by the protocol processing step from the network; and

wherein the tokens processing step considers the information included in at least some of the tokens, that is based at least in part on information received by the protocol processing step from the network.

21. The method of claim 20 , wherein:

the feedback from the token processing step results in said data packets being transmitted out to the network at a nominal rate.

22. The method of claim 20 , wherein:

the token processing step includes the determination of the size of each packet.

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 Mar 8, 2006
From: EIRIKSSON, ASGEIR THOR; NOUREDDINE, WAEL; MAO, CHRIS YUHONG
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 017276/0805 →