IP Library Granted Patent US 7,660,264
Granted Patent B1
US 7,660,264 · App. 11/313,003 · Granted Feb 9, 2010

Method for traffic schedulign in intelligent network interface circuitry

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,660,264
App. No.
11/313,003
Granted
Feb 9, 2010
Kind
B1
Abstract

A method of operating intelligent network interface circuitry facilitates the tunneling of packets between at least one process, executing on a host computer, and a peer via a network, via the network interface circuitry. Packets are received from the process executing on the host computer. Modulation event tokens are managed, including receiving and providing modulation event tokens. Modulation events are processed. It is decided whether to transmit the received packets out to the network in association with modulation event processing, and the received packets are transmitted out to the network based on the deciding step. Based on a result of the modulation events processing step, modulation event tokens are caused to be fed back for receipt by the modulation event tokens managing step. As a result, the packets are tunneled through the network interface circuitry and the transmission of the packets is modulated out to the network.

Claims (75)

1. A method of operating intelligent network interface circuitry to facilitate the tunneling of packets between at least one process, executing on a host computer, and a peer via a network, via the network interface circuitry, comprising:

receiving packets from the process executing on the host computer;

managing modulation event tokens, including receiving and providing modulation event tokens;

processing modulation events;

deciding whether to transmit the received packets out to the network in association with modulation event processing;

transmitting the received packets out to the network based on the deciding step; and

based on a result of the modulation events processing step, causing modulation event tokens to be fed back for receipt by the modulation event tokens managing step,

whereby the packets are tunneled through the network interface circuitry and the transmission of the packets is modulated out to the network.

2. The method of claim 1 , further comprising:

computing and inserting at least one checksum into the packets that are transmitted in the packets transmitting step.

3. The method of claim 2 , wherein:

receiving a packet from the process executing on the host includes:

storing the received packet into a first in, first out data structure; and

receiving an indication of the starting byte offset for computing the checksum; and

computing the checksum for the received packet; and

receiving an indication of the byte offset for inserting the checksum; and

the computed checksum is inserted into the packet at the indicated offset in the packet transmitting step, as the packet data is retrieved out of the first in, first out data structure.

4. The method of claim 2 , wherein:

a partial checksum is provided to the intelligent network interface circuitry from the host; and

the partial checksum is used in the checksum computing step.

5. The method of claim 1 , wherein:

at least part of the packet is held in a memory associated with the intelligent network interface circuitry prior to being transmitted over the network; and

as a result of the modulation event processing step, the packet framing is recovered in part through accessing the memory.

6. A method of operating intelligent network interface circuitry to facilitate the transfer of data between at least one process, executing on a host computer, and a peer via a network, comprising:

receiving data from the process executing on the host computer;

managing modulation event tokens, including receiving and providing modulation event tokens;

processing modulation events;

deciding whether to transmit packets including the received data out to the network in association with modulation event processing;

transmitting the packets based on the deciding step; and

based on a result of the modulation events processing step, causing modulation event tokens to be fed back for receipt by the modulation event tokens managing step.

7. The method of claim 6 , wherein:

the modulation event tokens managing step includes categorizing the modulation event tokens into at least one category, such that each category of modulation event tokens corresponds to a separate desired data rate transmission characteristic.

8. The method of claim 7 , wherein:

receiving data from the process executing on the host includes associating packets, including the received data, with one of the at least one modulation event token category.

9. The method of claim 7 , wherein:

receiving data from the process executing on the host includes associating each packet, including the received data, with one of at least one packet stream; and

the method further comprises associating each packet stream with one of the at least one modulation event token category.

10. The method of claim 9 , wherein:

the step of deciding whether to transmit packets is, for each of the at least one packet stream, based at least in part on at least one of a group consisting of an indication received from the peer and a state of the network.

11. The method of claim 9 , wherein

the step of deciding whether to transmit packets is, for each of the at least one packet stream, based at least in part on a desired data rate transmission characteristic.

12. The method of claim 7 , wherein:

the modulation event tokens in each category are provided with a timing that corresponds to the desired rate transmission characteristic indication for that category.

13. The method of claim 12 , wherein:

notwithstanding the desired rate transmission characteristic indications, the step of providing the modulation event tokens is additionally subject to priority processing based on priorities associated with the categories.

14. The method of claim 13 , 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.

15. The method of claim 6 , wherein:

receiving data from the process executing on the host includes associating packets, including the received data, with the desired data rate transmission characteristic; and

the method further comprises associating the packets with the desired transmission data rate characteristics includes providing at least a portion of the packets to a content-addressable memory.

16. The method of claim 15 , wherein:

the content addressable memory includes, for at least some of the entries, mask information that is applied to the at least a portion of the packets before providing the at least a portion to the content-addressable memory.

17. The method of claim 6 , wherein:

the desired transmission rate characteristics include at least one of a group consisting of a rate of packet transmission and a number of bytes to be transmitted per unit of time.

18. The method of claim 6 , further comprising:

computing and inserting at least one checksum into a packet that is transmitted in the packets transmitting step.

19. The method of claim 18 , wherein:

the checksum computing and inserting step includes processing offset indications provided to the intelligent network interface circuitry, wherein the offset indications indicate a start checksum offset into the packet and insert checksum offset into the packet, for each checksum.

20. The method of claim 18 , wherein:

a partial checksum is provided to the intelligent network interface circuitry from the host; and

the partial checksum is used in the checksum computing step.

21. The method of claim 6 , wherein:

a data structure is provided that holds the modulation event tokens;

the modulation event tokens managing step includes managing the storage of modulation event tokens into the data structure based on the fed back modulation event tokens and providing the modulation event tokens from the data structure based on the desired data rate transmission characteristics; and

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

22. The method of claim 6 , wherein:

the modulation event processing step includes determining a size of a packet to which the modulation event corresponds.

23. The method of claim 6 , wherein:

the transmit packets deciding step is based at least in part on at least one of the group consisting of an indication received from the peer, and a state of the network.

24. The method of claim 6 , further comprising:

providing, by the intelligent network interface circuitry, indications of progress of the packets transmitting step, and

using the indications of progress in the receiving data from the process step.

25. The method of claim 6 , wherein:

at least part of the packet is held in a memory of the intelligent network interface circuitry prior to being transmitted over the network; and

as a result of the modulation event processing step, the packet framing is recovered in part through accessing the memory.

Assignments (9)
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 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2014
From: EAST WEST BANK
To: CHELSIO COMMUNICATIONS, INC.
Reel/Frame 033989/0930 →
SECURITY INTEREST Recorded Oct 21, 2014
From: CHELSIO COMMUNICATIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 033990/0451 →