Method to implement an L4-L7 switch using split connections and an offloading NIC
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-012/26
H04L-012/28
출원번호
US-0567581
(2009-09-25)
등록번호
US-8139482
(2012-03-20)
발명자
/ 주소
Eiriksson, Asgeir Thor
Noureddine, Wael
출원인 / 주소
Chelsio Communications, Inc.
대리인 / 주소
Beyer Law Group LLP
인용정보
피인용 횟수 :
10인용 특허 :
97
초록▼
A method of operating intelligent network interface circuitry includes the network interface circuitry coupling a core processor to a network to facilitate communication over the network between the core processor and at least a first peer and a second peer. A first connection connects to the first
A method of operating intelligent network interface circuitry includes the network interface circuitry coupling a core processor to a network to facilitate communication over the network between the core processor and at least a first peer and a second peer. A first connection connects to the first peer and a second connection connects to the second peer. The network interface circuitry receives data packets from the first peer via the network on the first connection, according to a first particular protocol. The network interface circuitry processes the received data, including associating, with the second connection, data that is at least a portion of the data packets received on the first connection, such that the data received by the intelligent network interface circuitry on the first connection is switched to be outgoing from the intelligent network interface circuitry on the second connection, according to a second particular protocol.
대표청구항▼
1. A method of operating intelligent network interface circuitry, wherein the network interface circuitry couples a core processor to a network to facilitate communication over the network between the core processor and at least a first peer, wherein a first connection connects the core processor to
1. A method of operating intelligent network interface circuitry, wherein the network interface circuitry couples a core processor to a network to facilitate communication over the network between the core processor and at least a first peer, wherein a first connection connects the core processor to the first peer, the method comprising: by the network interface circuitry, receiving data packets from the first peer via the network on the first connection, according to a first particular protocol; andprocessing the received data packets, wherein each of a plurality of connections couples the core processor to facilitate communication over the network between the core processor and a respective separate one of a plurality of peers, other than the first peer, the processing of the received data packets including selecting one of the plurality of connections as a second connection and associating, with the second connection, data that is at least a portion of the data packets received on the first connection, such that the data received by the intelligent network interface circuitry on the first connection is switched to be outgoing from the intelligent network interface circuitry on the second connection, according to a second particular protocol. 2. The method of claim 1, wherein: the network interface circuitry includes a pipelined processor circuitry configured to process data received by the network interface circuitry from the core for transmission to a peer via one of the connections and also to process data received by the network interface circuitry via one of the connections for receipt by the core; andassociating, with the second connection, data that is at least a portion of the data packets received on the first connection includes generating data by the core processor, to be delivered on the second connection. 3. The method of claim 2, wherein: the pipelined processor circuitry includes ingress form packet circuitry configured to form ingress packets, from data received from the network, to provide to the core;egress form packet circuitry configured to form egress packets, from data received from the core, to provide to the network;intercept and redirect circuitry to selectively intercept packets from the ingress form packet circuitry, formed by the ingress form packet circuitry based on data received on the first connection, and to provide a message to the pipelined processor circuitry simulating a message from the core instructing the pipelined processor circuitry to provide the data of the ingress packets, from the ingress form packet circuitry based on data received on the first connection, to be redirected to the egress form packet circuitry to form egress packets to be delivered on the network on the second connection. 4. The method of claim 3, wherein: selecting one of the plurality of connections as the second connection includes storing an identification of the second connection in the network interface circuitry in a control block associated with the first connection. 5. The method of claim 1, wherein: associating, with the second connection, data that is at least a portion of the data packets received on the first connection includes placing the data in a transmit buffer associated with the second connection. 6. The method of claim 5, wherein: the data is placed in the transmit buffer associated with the second connection without storing the data in a receive buffer associated with the first connection. 7. The method of claim 5, wherein: placing the data in a transmit buffer associated with the second connection includes appending the data to data already in the transmit buffer associated with the second connection. 8. The method of claim 1, wherein: the first particular protocol operates at no higher than layer 4, andprocessing the received data includes processing the packets at higher than layer 4, wherein the associating is based on a result of processing the layers up to higher than layer 4. 9. The method of claim 1, wherein: the data received from the first peer via the network on the first connection is payload data included in data packets received from the first peer associated with the first connection;the first connection and the second connection are full duplex, andthe method further comprises, by the intelligent network interface circuitry receiving data packets from the second peer on the second connection;associating, with the first connection, the data packets received on the second connection, such that the data incoming to the intelligent network interface circuitry on the second connection is switched to be outgoing from the intelligent network interface circuitry on the first connection. 10. The method of claim 1, wherein: the first particular protocol is the same as the second particular protocol. 11. The method of claim 1, wherein: associating the received data with the second connection is a result of a static configuration. 12. The method of claim 1, wherein: selecting one of the plurality of connections as the second connection includes the network interface circuitry providing the at least a portion of the data packet received on the first connection to the core; andthe network interface circuitry receiving an indication from the core of a determination of which of the plurality of connections is the second connection. 13. The method of claim 12, wherein: the network interface circuitry providing the at least a portion of the data packet received on the first connection to the core includes delineating at least one protocol data unit in the data received on the first connection; andthe at least a portion of the data packet received on the first connection is at least a portion of the at least one protocol data unit delineated by the network interface circuitry. 14. The method of claim 1, wherein: the network interface circuitry selecting one of the plurality of connections as the second connection includes, by the network interface circuitry, processing the at least a portion of the data packet received on the first connection in view of control information associated with the connections. 15. The method of claim 14, wherein: selecting one of the plurality of connections as the second connection is performed by a core that is a processor on the network interface circuitry. 16. The method of claim 1, wherein: the portion of the data packets processed for associating the received data with the second connection includes a portion of the data packets associated with layer 5 to 7 packet headers. 17. The method of claim 16, wherein: the portion of the data packets associated with layer 5 to 7 packet headers includes iSCSI packet headers. 18. The method of claim 17, wherein: the plurality of separate peers to which the plurality of connections connect are storage controllers. 19. The method of claim 1, wherein: the processing of at least a portion of data packets received on the first connection selecting one of the plurality of connections as the second connection is on a per Protocol Data Unit basis in at least one of layers 5-7. 20. The method of claim 19, wherein: the portion of the data packets associated with layer 5 to 7 packet headers includes iSCSI packet headers. 21. The method of claim 1, wherein; data is provided to the second connection according to a desired data rate transmission characteristic characterizing the second connection. 22. The method of claim 21, wherein providing the data to the second connection according to the desired data rate transmission characteristic includes: managing modulation event tokens, including receiving and providing modulation event tokens;processing modulation events;deciding whether to transmit the received packets to the second connection in association with modulation event processing;transmitting the received packets out to the network based on the deciding step; andbased on a result of the modulation events processing step, causing modulation event tokens to be fed back for receipt by the modulation event tokens managing step. 23. The method of claim 1, further comprising: performing supplemental processing on the data provided on the second connection, not associated with switching the data. 24. The method of claim 23, wherein the supplemental processing includes verifying the integrity of the received data. 25. The method of claim 24, including: inserting, into the received data, a result of computing the integrity of the received data. 26. The method of claim 24, wherein verifying the integrity of the received data includes at least one of Cyclic Redundancy Check and checksum. 27. The method of claim 23, wherein the supplemental processing includes at least one of encryption/decryption and compression/decompression. 28. The method of claim 1, wherein: the first protocol is TCP and the second protocol is UDP. 29. The method of claim 1, wherein: the first protocol is UDP and the second protocol is TCP. 30. The method of claim 1, wherein: the first protocol and the second protocol are variants of the same protocol with environment specific optimizations. 31. The method of claim 30, wherein: the first protocol and the second protocol are variants of the TCP protocol with environment specific optimizations. 32. The method of claim 30, wherein: one of the environments is a wireless network. 33. The method of claim 30, wherein: one of the environments is a long distance network. 34. The method of claim 1, wherein: the first protocol and the second protocol are variants of the same protocol configured differently. 35. A method of operating intelligent network interface circuitry, wherein the network interface circuitry couples a core processor to a network to facilitate communication over the network between the core processor and at least a first peer, wherein a first connection connects the core processor to the first peer, the method comprising: by the network interface circuitry, receiving data packets from the first peer via the network on the first connection, according to a first particular protocol, the received data packets including an indication of the core processor as a destination of the received data packets according to the first particular protocol; andprocessing the received data packets, wherein each of a plurality of connections couples the core processor to facilitate communication over the network between the core processor and a respective separate one of a plurality of peers, other than the first peer, the processing of the received data packets including selecting one of the plurality of connections as a second connection and associating, with the second connection, data that is at least a portion of the data packets received on the first connection, such that the data received by the intelligent network interface circuitry on the first connection is switched to be outgoing from the intelligent network interface circuitry on the second connection, according to a second particular protocol.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (97)
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.
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는 부적절한 답변을 할 수 있습니다.