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
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.
대표청구항▼
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 couple
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. 2. The method of claim 1, wherein: the peer is a particular peer; andthe protocol processing mechanism is configured to operate a plurality of connections between the host and a plurality of peers including the particular peer;the connections are grouped into a plurality of categories; andthe protocol processing step includes protocol processing for each connection with at least one of the plurality of peers such that, for each connection, the protocol processing for that connection by the protocol processing mechanism is based at least in part on a desired transmission rate characteristic for the category to which that connection belongs, to encapsulate the data received from the host for that connection into packets such that the packets are provided from the network interface device to the network with the desired transmission rate characteristic for the category to which that connection belongs. 3. The method of claim 2, wherein: at least some of the indications of desired transmission rate characteristics indicate at least one of a group consisting of at least one desired shaping characteristic and at least one desired pacing characteristic. 4. The method of claim 3, wherein: the transmission rate regulation mechanism operates, for each connection, based on an estimate of an amount of data to be transmitted for that connection and the desired transmission rate for the category to which that connection belongs, to regulate a rate at which the protocol processing mechanism operates for that connection to encapsulate the data for that connection into packets to be transmitted to the network. 5. The method of claim 4, wherein: the transmission rate regulation mechanism further operates, for each connection, according to a priority associated with the category to which that connection belongs. 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 protocol processing step includes processing information received from the network and, based in part thereon, controlling the protocol processing step. 8. The method of claim 1, wherein: the protocol processing step includes processing information received from the network, and,the method further comprises determining whether transmission of particular data to the peer should not be deferred, based on a result of processing the information received from the network. 9. The method of claim 8, wherein: the protocol processing step includes TCP, anddetermining 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. 10. The method of claim 9, 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. 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. 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.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (77)
Wang, Yi-Min; Hunt, Galen C.; Forin, Alessandro, Accelerating a distributed component architecture over a network using a modified RPC communication.
Freimuth,Douglas Morgan; Hu,Elbert C.; Mraz,Ronald; Nahum,Erich M.; Pradhan,Prashant; Sahu,Sambit; Tracey,John Michael, Apparatus and method for supporting received data processing in an offload of network protocol processing.
Philbrick,Clive M.; Boucher,Laurence B.; Starr,Daryl D., Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Fast-path apparatus for receiving data corresponding to a TCP connection.
Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Fast-path apparatus for receiving data corresponding to a TCP connection.
Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Fast-path processing for receiving data on TCP connection offload devices.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interface device and system for accelerated communication.
Boucher, Laurence B.; Philbrick, Clive M.; Starr, Daryl D.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A., Intelligent network interface system and method for accelerated protocol processing.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Intelligent network interface system method for protocol processing.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Intelligent network interfaced device and system for accelerated communication.
Freimuth, Douglas Morgan; Hu, Elbert C.; Mraz, Ronald; Nahum, Erich M.; Pradhan, Prashant; Sahu, Sambit, Method for supporting connection establishment in an offload of network protocol processing.
Hariguchi, Yoichi; Panigrahy, Rina; Sharma, Samar; Nagaraj, Ashwath, Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory.
Pandya, Mihir A.; Whisenhunt, Gary L., Microprocessor having a content addressable memory (CAM) device as a functional unit therein and method of operation.
Griswold,Doug; Bexten,Ron, Mobile data communications apparatus, methods and computer program products implementing cellular wireless data communications via a wireless local area network.
Blightman,Stephen E. J.; Starr,Daryl D.; Philbrick,Clive M., Network interface device for error detection using partial CRCS of variable length message portions.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Obtaining a destination address so that a network interface device can write network data without headers directly into host memory.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Boucher Laurence B. ; Blightman Stephen E. J. ; Craft Peter K. ; Higgen David A. ; Philbrick Clive M. ; Starr Daryl D., Passing a communication control block from host to a local device such that a message is processed on the device.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, Passing a communication control block to a local device such that a message is processed on the device.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Starr, Daryl D.; Blightman, Stephen E. J.; Higgen, David A., Port aggregation for network connections that are offloaded to network interface devices.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Craft, Peter K.; Philbrick, Clive M.; Boucher, Laurence B.; Higgen, David A., Protocol processing stack for use with intelligent network interface device.
Peter K. Craft ; Olive M. Philbrick ; Laurence B. Boucher ; David A. Higgen, Protocol processing stack for use with intelligent network interface device.
Blightman,Stephen E. J.; Boucher,Laurence B.; Craft,Peter K.; Higgen,David A.; Philbrick,Clive M.; Starr,Daryl D., Reducing delays associated with inserting a checksum into a network message.
Cross, Patricia C.; Connery, Glenn W.; Duguay, Christopher J., System and method for operating a network adapter when an associated network computing system is in a low-power state.
Philbrick,Clive M.; Boucher,Laurence B.; Blightman,Stephen E. J.; Craft,Peter K.; Higgen,David A.; Starr,Daryl D., TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism.
Laurence B. Boucher ; Stephen E. J. Blightman ; Peter K. Craft ; David A. Higgen ; Clive M. Philbrick ; Daryl D. Starr, TCP/IP offload network interface device.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Transmit fast-path processing on TCP/IP offload network interface device.
Ramaswamy, Kumar; Lin, Cher-Wen; Rettberg, Randall David; Rahman, Mizanur Mohammed, User-level dedicated interface for IP applications in a data packet switching and load balancing system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.