Method for traffic scheduling in intelligent network interface circuitry
First Claim
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, wherein the process executing on the host computer includes at least transport layer protocol processing, with respect to data being provided from the host computer to the peer, to at least partially form the packets, and wherein each of the partially formed packets belongs to one of a plurality of flows;
maintaining a plurality of desired transmission rate characteristics, each maintained desired transmission rate characteristic corresponding to a different one of the plurality of flows;
determining to which of the plurality of flows each packet belongs based on a characteristic of the packet;
transmitting the received packets out to the network such that, for each of the plurality of flows, packets belonging to that flow are transmitted based on an indication of the desired transmission rate characteristic corresponding to that flow, maintained by the network interface controller;
whereby the packets are tunneled through the network interface circuitry and the transmission of the packets is modulated out to the network.
9 Assignments
0 Petitions
Accused Products
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.
-
Citations
21 Claims
-
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, wherein the process executing on the host computer includes at least transport layer protocol processing, with respect to data being provided from the host computer to the peer, to at least partially form the packets, and wherein each of the partially formed packets belongs to one of a plurality of flows; maintaining a plurality of desired transmission rate characteristics, each maintained desired transmission rate characteristic corresponding to a different one of the plurality of flows; determining to which of the plurality of flows each packet belongs based on a characteristic of the packet; transmitting the received packets out to the network such that, for each of the plurality of flows, packets belonging to that flow are transmitted based on an indication of the desired transmission rate characteristic corresponding to that flow, maintained by the network interface controller; whereby the packets are tunneled through the network interface circuitry and the transmission of the packets is modulated out to the network. - View Dependent Claims (2, 3, 4, 5)
-
-
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; maintaining a plurality of desired transmission rate characteristics, each maintained desired transmission rate characteristic corresponding to a different one of a plurality of flows, and each of a plurality of packets including the received data belonging to one of the plurality of flows; determining to which of the plurality of flows each packet belongs based on a characteristic of the packet; for each of the plurality of flows, deciding whether to transmit packets belonging to that flow out to the network based on data indicative of the desired transmission rate characteristic for that flow; and transmitting the packets based on the deciding step. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. 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, wherein the process executing on the host computer includes at least transport layer protocol processing, with respect to data being provided from the host computer to the peer, to at least partially form the packets; and transmitting the received packets out to the network based on an indication of a desired transmission rate characteristic, corresponding to a flow, maintained by the network interface controller; whereby the packets are tunneled through the network interface circuitry and the transmission of the packets is modulated out to the network, the method further comprising computing and inserting at least one checksum into the packets that are received from the process executing on the host computer and are transmitted in the packets transmitting step, 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.
-
-
21. 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; deciding whether to transmit packets including the received data out to the network based on data indicative of a desired transmission rate characteristic for a flow to which the packets correspond; and transmitting the packets based on the deciding step, the method further comprising computing and inserting at least one checksum into a packet that is transmitted in the packets transmitting step, 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.
-
Specification