Protocol offload transmit traffic management
First Claim
1. A method of operating a network interface device to facilitate the transfer of data between at least one application, operating on a host, and a peer, the transfer of data encapsulated in packets 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 encapsulate the data received from the host into packets such that the packets are 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 encapsulate the data into packets and to cause the packets to be output from the network interface device to the network.
9 Assignments
0 Petitions
Accused Products
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.
-
Citations
12 Claims
-
1. A method of operating a network interface device to facilitate the transfer of data between at least one application, operating on a host, and a peer, the transfer of data encapsulated in packets 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 encapsulate the data received from the host into packets such that the packets are 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 encapsulate the data into packets and to cause the packets to be output from the network interface device to the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
- receiving, from the application, data destined for transmission to the peer via the network;
-
11. A network interface device configured to facilitate the transfer of data between at least one application, operating on a host, and a peer, the transfer of data encapsulated in packets 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 encapsulating the data received from the host into packets such that the packets are 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 encapsulate the data into packets and to cause the packets to be output from the network interface device to the network.
- means for receiving, from the application, data destined for transmission to the peer via the network; and
-
12. A network interface controller configured 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:
- means for managing a data structure of tokens, each token including an estimate of an amount of data in the data packets 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 packets 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, by encapsulating 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
means for feeding back a result of the protocol processing step to cause a token to be stored into the data structure of tokens.
- means for managing a data structure of tokens, each token including an estimate of an amount of data in the data packets 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 packets to be transmitted and based on desired data transmission rate characteristics;
Specification