Method for UDP transmit protocol offload processing with traffic management
First Claim
1. A method of operating intelligent network interface circuitry to facilitate the transfer of application data between at least one application, executing on a host, and at least one peer via a network, wherein application data destined for the at least one peer is provided from the at least one application in frames, via the network interface circuitry, for transmission from the intelligent network interface circuitry to the at least one peer via the network encapsulated according to a connectionless transport layer protocol, comprising:
- subdividing each application data frame into a plurality of parts based on packet size criteria with respect to the network layer;
for each application data frame, encapsulating the parts of that application data frame into a transport layer packet by encapsulating each part into a separate network layer packet, the transport layer packet comprising a plurality of the separate network layer packets;
allocating the network layer packets to streams, each such stream being characterized by a desired data rate transmission characteristic; and
transmitting the network layer packets of the streams to the at least one peer via the network according to the desired data rate transmission characteristics characterizing the streams,wherein,the transmission is subjected to a limit on the amount of data to be sent; and
the limit is based at least in part on a communication received from the peer,wherein the communication received from the peer includes at least an indication of an amount of buffering available at the peer to hold the data destined to the peer from the at least one application via the network interface circuitry.
11 Assignments
0 Petitions
Accused Products
Abstract
Transfer of data over UDP is facilitated between at least one application and at least one peer via a network. Data destined for the at least one peer is provided from the at least one application for transmission to the peer via the network. The data is encapsulated into UDP segments, which may further be fragmented according to packet size or application level framing constraints. Modulation event tokens are managed, and protocol processing of the data with the at least one peer is based in part on a result of the modulation event tokens managing such that data is caused to be transmitted to the at least one peer via the network nominally with desired data transmission rate characteristics. A result of the modulation event processing step is fed back to the to the modulation event tokens managing.
-
Citations
25 Claims
-
1. A method of operating intelligent network interface circuitry to facilitate the transfer of application data between at least one application, executing on a host, and at least one peer via a network, wherein application data destined for the at least one peer is provided from the at least one application in frames, via the network interface circuitry, for transmission from the intelligent network interface circuitry to the at least one peer via the network encapsulated according to a connectionless transport layer protocol, comprising:
-
subdividing each application data frame into a plurality of parts based on packet size criteria with respect to the network layer; for each application data frame, encapsulating the parts of that application data frame into a transport layer packet by encapsulating each part into a separate network layer packet, the transport layer packet comprising a plurality of the separate network layer packets; allocating the network layer packets to streams, each such stream being characterized by a desired data rate transmission characteristic; and transmitting the network layer packets of the streams to the at least one peer via the network according to the desired data rate transmission characteristics characterizing the streams, wherein, the transmission is subjected to a limit on the amount of data to be sent; and the limit is based at least in part on a communication received from the peer, wherein the communication received from the peer includes at least an indication of an amount of buffering available at the peer to hold the data destined to the peer from the at least one application via the network interface circuitry. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating intelligent network interface circuitry to facilitate the transfer of data between at least one application, executing on a host, and at least one peer via a network, wherein data destined for the at least one peer is provided from the at least one application, via the network interface circuitry, for transmission from the intelligent network interface circuitry to the at least one peer via the network, encapsulated according to a connectionless transport layer protocol, the method comprising:
-
processing at least one connectionless transport layer protocol packet by subdividing the at least one connectionless transport layer protocol packet into a plurality of network layer packets; managing modulation event tokens, including graduating modulation event tokens according to desired data transmission rate characteristics; transmitting the network layer packets to the at least one peer via the network in part as a result of processing graduated modulation event tokens; and feeding back a result of the processing step to cause a modulation event token to be provided to the modulation event tokens managing step; wherein the modulation event tokens managing step includes categorizing the modulation event tokens, such that each category of modulation event tokens corresponds to a separate desired data rate transmission characteristic, wherein, the transmission is subjected to a limit on the amount of data to be sent; and the limit is based at least in part on a communication received from the peer, wherein the communication received from the peer includes at least an indication of an amount of buffering available at the peer to hold the data destined to the peer from the at least one application via the network interface circuitry. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of operating intelligent network interface circuitry to facilitate the transfer of application payload data between at least one application, executing on a host, and at least one peer via a network, comprising:
-
forming a connectionless transport layer protocol segment by fragmenting the application payload data into a plurality of connectionless transport layer protocol fragments encapsulated in network layer packets; providing, in one of the plurality of fragments, a header that includes a characterization of the connectionless transport layer protocol segment, according to the connectionless transport layer protocol; and modulating the transmission of the network layer packets out to the network, wherein the network layer packet, encapsulating the fragment in which the header is provided, is transmitted after at least one of the network layer packets encapsulating other fragments of the connectionless transport layer protocol segment, wherein, the transmission is subjected to a limit on the amount of data to be sent; and the limit is based at least in part on a communication received from the peer, wherein the communication received from the peer includes at least an indication of an amount of buffering available at the peer to hold the data destined to the peer from the at least one application via the network interface circuitry. - View Dependent Claims (18, 19, 20)
-
-
21. A method to facilitate the transfer of application payload data between at least one application, executing on a host computer, and at least one peer via a network, wherein application payload data destined for the at least one peer is provided from the at least one application to intelligent network interface circuitry, the method comprising:
-
operating the intelligent network interface circuitry to encapsulate the application payload data according to a connectionless transport layer protocol, into at least one stream of connectionless transport layer protocol packets, and further according to a network layer protocol; transmitting the network layer packets from the intelligent network interface circuitry out to the network for transmission to the at least one peer; controlling the transmitting step to control the flow of transmitting the at least one stream out to the network, wherein controlling the flow of transmitting the at least one stream out to the network is based on information that is received by the intelligent network interface circuitry out of band from the at least one peer via the network with respect to communication according to the connectionless transport layer protocol, wherein the information that is received by the intelligent network interface circuitry out of band from the at least one peer includes at least an indication of an amount of buffering available at the at least one peer to hold the data destined to the peer from the at least one application via the network interface circuitry.
-
-
22. A method of operating intelligent network interface circuitry to facilitate the transfer of data between at least one application, executing on a host, and at least one peer via a network, wherein data destined for the at least one peer is provided from the at least one application, via the network interface circuitry, for transmission from the intelligent network interface circuitry to the at least one peer via the network, encapsulated according to a connectionless transport layer protocol, the method comprising:
-
processing at least one connectionless transport layer protocol packet by subdividing the at least one connectionless transport layer protocol packet into a plurality of network layer packets; managing modulation event tokens, including graduating modulation event tokens according to desired data transmission rate characteristics; transmitting the network layer packets to the at least one peer via the network in part as a result of processing graduated modulation event tokens; and feeding back a result of the processing step to cause a modulation event token to be provided to the modulation event tokens managing step; wherein the modulation event tokens managing step includes categorizing the modulation event tokens, such that each category of modulation event tokens corresponds to a separate desired data rate transmission characteristic; a data structure is provided that holds the modulation event tokens; and the modulation event tokens managing step includes managing the storage of modulation event tokens into the data structure based on the fed back result of the processing step and retrieving modulation event tokens out of 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. - View Dependent Claims (23, 24)
-
-
25. A method of operating intelligent network interface circuitry to facilitate the transfer of application data between at least one application, executing on a host, and at least one peer via a network, wherein application data destined for the at least one peer is provided from the at least one application in frames, via the network interface circuitry, for transmission from the intelligent network interface circuitry to the at least one peer via the network encapsulated according to a connectionless transport layer protocol, comprising:
-
subdividing each application data frame into a plurality of parts based on packet size criteria with respect to the network layer; for each application data frame, encapsulating the parts of that application data frame into a transport layer packet by encapsulating each part into a separate network layer packet, the transport layer packet comprising a plurality of the separate network layer packets; allocating the network layer packets to streams, each such stream being characterized by a desired data rate transmission characteristic; and transmitting the network layer packets of the streams to the at least one peer via the network according to the desired data rate transmission characteristics characterizing the streams, wherein, the transmission is subjected to a limit on the amount of data to be sent; and the limit is based at least in part on a communication provided from beyond the intelligent network interface circuitry, that includes at least information indicative of a state of the network and further, wherein the communication received from beyond the intelligent network interface circuitry additionally includes information indicative of an amount of buffering available at the at least one peer.
-
Specification