Method for traffic scheduling in intelligent network interface circuitry
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/28
H04J-003/24
출원번호
US-0643897
(2009-12-21)
등록번호
US-8213427
(2012-07-03)
발명자
/ 주소
Eiriksson, Asgeir Thor
Noureddine, Wael
Mao, Chris Yuhong
출원인 / 주소
Chelsio Communications, Inc.
대리인 / 주소
Beyer Law Group LLP
인용정보
피인용 횟수 :
9인용 특허 :
102
초록▼
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. Modulati
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.
대표청구항▼
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 comp
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. 2. The method of claim 1, 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. 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; andreceiving an indication of the starting byte offset for computing the checksum; andcomputing the checksum for the received packet; andreceiving an indication of the byte offset for inserting the checksum; andthe 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; andthe 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; andthe packet framing is recovered in part through accessing the memory prior to transmitting packets over the network. 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; andtransmitting the packets based on the deciding step. 7. The method of claim 6, wherein: the step of deciding whether to transmit packets is, for each of the plurality of flows, further 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. 8. 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. 9. The method of claim 8, wherein: priorities associated with the flows are based at least in part on an amount of data to be transmitted for the separate flows. 10. The method of claim 6, wherein: determining to which of the plurality of flows each packet belongs based on a characteristic of the packet includes providing at least a portion of each packet to a content-addressable memory. 11. The method of claim 10, 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. 12. 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. 13. 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. 14. The method of claim 13, 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. 15. The method of claim 13, wherein: a partial checksum is provided to the intelligent network interface circuitry from the host; andthe partial checksum is used in the checksum computing step. 16. The method of claim 6, wherein: notwithstanding the desired rate transmission characteristic indications, the step of deciding whether to transmit packets including the received data out to the network is additionally subject to priority processing based on priorities associated with the flows. 17. The method of claim 16, wherein: the priorities associated with the categories are based at least in part on an amount of data to be transmitted for the separate flows. 18. 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. 19. 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; andas a result of the packet transmitting step, the packet framing is recovered in part through accessing the memory. 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; andtransmitting 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; andreceiving an indication of the starting byte offset for computing the checksum; andcomputing the checksum for the received packet; andreceiving an indication of the byte offset for inserting the checksum; andthe 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; andtransmitting 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.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (102)
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.
Michailidis, Dimitrios; Noureddine, Wael; Marti, Felix A.; Eiriksson, Asgeir Thor, Intelligent network adaptor with adaptive direct data placement scheme.
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.
Blackmore,Robert S.; Gildea,Kevin J.; Govindaraju,Rama K.; Shah,Gautam H., Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices.
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.
Eiriksson, Asgeir Thor; Chen, Shenze; Kaplan, Patricio Fernando; Smith, George E., Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages.
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.
Charles E. Narad ; Kevin Fall ; Neil MacAvoy ; Pradip Shankar ; Leonard M. Rand ; Jerry J. Hall, Platform permitting execution of multiple network infrastructure applications.
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.
Beach Robert (Los Altos CA) Bryers Mark (San Jose CA) Cox Casey (Palo Alto CA) Fall Richard (Palo Alto CA) Finn Norman (San Jose CA) Laird Douglas (San Jose CA), Protocol processor.
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.
Eiriksson, Asgeir Thor; Chen, Shenze; Kaplan, Patricio Fernando; Smith, George E., Scalable direct memory access using validation of host and scatter gather engine (SGE) generation indications.
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.
Anand Sanjay ; Brandon Kyle ; Srinavas Nk ; Hyder Jameel, System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed.
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는 부적절한 답변을 할 수 있습니다.