Network interface device that can offload data transfer processing for a TCP connection from a host CPU
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-012/00
출원번호
UP-0039703
(2005-01-20)
등록번호
US-7627684
(2009-12-16)
발명자
/ 주소
Boucher, Laurence B.
Blightman, Stephen E. J.
Craft, Peter K.
Higgen, David A.
Philbrick, Clive M.
Starr, Daryl D.
출원인 / 주소
Alacritech, Inc.
대리인 / 주소
Lauer, Mark
인용정보
피인용 횟수 :
29인용 특허 :
193
초록▼
An intelligent network interface card (INIC) or communication processing device (CPD) works with a host computer for data communication. The device provides a fast-path that avoids protocol processing for most messages, greatly accelerating data transfer and offloading time-intensive processing task
An intelligent network interface card (INIC) or communication processing device (CPD) works with a host computer for data communication. The device provides a fast-path that avoids protocol processing for most messages, greatly accelerating data transfer and offloading time-intensive processing tasks from the host CPU. The host retains a fallback processing capability for messages that do not fit fast-path criteria, with the device providing assistance such as validation even for slow-path messages, and messages being selected for either fast-path or slow-path processing. A context for a connection is defined that allows the device to move data, free of headers, directly to or from a destination or source in the host. The context can be passed back to the host for message processing by the host. The device contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU. A preferred embodiment includes a trio of pipelined processors devoted to transmit, receive and utility processing, providing full duplex communication for four Fast Ethernet nodes.
대표청구항▼
The invention claimed is: 1. A network interface device for a host computer, the network interface device comprising: an application specific integrated circuit (ASIC) to process a Transmission Control Protocol (TCP) connection, including hardware to update a plurality of variables having values th
The invention claimed is: 1. A network interface device for a host computer, the network interface device comprising: an application specific integrated circuit (ASIC) to process a Transmission Control Protocol (TCP) connection, including hardware to update a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host; and a mechanism to transfer the state of the TCP connection from the network interface device to the host computer, the mechanism including a data structure representing the state. 2. The network interface device of claim 1, wherein the ASIC includes a microprocessor. 3. The network interface device of claim 1, wherein the mechanism to transfer a data structure includes a direct memory access (DMA) engine. 4. The network interface device of claim 1, wherein the ASIC is configured to parse a TCP header of a received packet. 5. The network interface device of claim 1, wherein the ASIC is configured to checksum an IP header and a TCP header of a received packet. 6. The network interface device of claim 1, wherein the wherein the ASIC is configured to compare a TCP source port and TCP destination port of a received packet header with the TCP port of the host and the TCP port of the remote host. 7. The network interface device of claim 1, wherein the ASIC is part of a network interface card (NIC) that is connected to the host. 8. The network interface device of claim 1, wherein the ASIC is part of a communication processing device (CPD) that is integrated into the host. 9. A network interface device for a host computer, the network interface device comprising: a microprocessor running instructions to maintain a Transmission Control Protocol (TCP) connection including a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host; and a mechanism controlled by the microprocessor to transfer the state of the TCP connection from the network interface device to the host computer. 10. The network interface device of claim 9, wherein the microprocessor is part of an application specific integrated circuit (ASIC). 11. The network interface device of claim 9, wherein the mechanism includes a direct memory access (DMA) engine. 12. The network interface device of claim 9, wherein the microprocessor is part of a network interface card (NIC) that is connected to the host. 13. The network interface device of claim 9, wherein the microprocessor is part of a communication processing device (CPD) that is integrated into the host. 14. The network interface device of claim 9, wherein the microprocessor includes a plurality of processors. 15. The network interface device of claim 9, further comprising protocol processing hardware to validate an IP header and a TCP header of a received packet. 16. The network interface device of claim 9, further comprising protocol processing hardware to parse an IP header and a TCP header of a received packet. 17. A network interface device for a host computer, the network interface device comprising: a microprocessor; and a computer-readable medium storing code that is executable on the microprocessor to maintain a Transmission Control Protocol (TCP) connection including a plurality of variables having values that represent a state of the TCP connection for the host, the TCP connection being at least in part identified by an Internet Protocol (IP) address and TCP port of the host and an IP address and TCP port of a remote host, the code including at least one instruction to transfer a data structure including the state of the TCP connection from the network interface device to the host computer. 18. The network interface device of claim 17, wherein the microprocessor is part of an application specific integrated circuit (ASIC). 19. The network interface device of claim 17, wherein the computer-readable medium is a memory that stores the TCP connection. 20. The network interface device of claim 17, wherein the microprocessor is part of a network interface card (NIC) that is connected to the host. 21. The network interface device of claim 17, wherein the microprocessor is part of a communication processing device (CPD) that is integrated into the host. 22. The network interface device of claim 17, further comprising protocol processing hardware to checksum an IP header and a TCP header of a packet. 23. The network interface device of claim 17, further comprising protocol processing hardware to parse an IP header and a TCP header of a packet. 24. The network interface device of claim 17, further comprising a direct memory access (DMA) engine that is controlled by the microprocessor to transfer the state to the host computer.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (193)
Chan Kurt ; Black Alistair D., Accelerator fiber channel hub and protocol.
Bennett Toby D. ; Davis Donald J. ; Harris Jonathan C. ; Miller Ian D., Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently.
Nogales Charles Edward ; Sooy William Glenn, Apparatus for fibre channel transmission having interface logic, buffer memory, multiplexor/control device, fibre channe.
Silverstein Alan ; Golson William G. ; Mallal Munir, Apparatus for parallel client/server communication having data structures which stored values indicative of connection.
Chesson Greg (Palo Alto CA) Choi In-whan (Mountain View CA) Lin Yuh-wen (San Jose CA) Smith Jeannine M. (Menlo Park CA) Yau Daniel (Los Altos CA) Young Desmond W. (Campbell CA), Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque regis.
Wang Frank ; Robertson Jeffrey S. ; Gopal Nuggehalli N. ; Pheterson Charles J. ; Goldflam Michael S., Client/server data traffic delivery system and method.
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.
Andrews Lawrence P. (Boca Raton FL) Arias Derrick (Coral Springs FL) Mandalia Baiju D. (Boca Raton FL) Ortega Oscar E. (Miami Beach FL) Sinibaldi John C. (Pompano Beach FL) Williams Kevin B. (North L, Direct memory access unit for transferring data between processor memories in multiprocessing systems.
Bilansky Mark Alan ; Huang Kevin Chuang-Chi ; Ryder James William ; Stavana Edward James, Dual communication services interface for distributed transaction processing.
Sartore Ronald H. (San Diego CA) Mobley Kenneth J. (Colorado Springs CO) Carrigan Donald G. (Monument CO) Jones Oscar Frederick (Colorado Springs CO), Enhanced DRAM with all reads from on-chip cache and all writers to memory array.
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 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 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.
Panner Bryan K. ; Hoskins Timothy Lee ; Napolitano Richard, File array communications interface for communicating between a host computer and an adapter.
Eshel Marc M. (Tarrytown NY) Hunt Guerney D. H. (Ithaca NY) Jones Donald N. (Vestal NY) Meyer Christopher (Vestal NY) Schwartz Frederick A. (Binghamton NY), File manager for files shared by heterogeneous clients.
Isfeld Mark S. ; Mallory Tracy D. ; Mitchell Bruce W. ; Seaman Michael J. ; Arunkumar Nagaraj ; Srisuresh Pyda, High throughput message passing process using latency and reliability classes.
Cheng Yu-Ping (San Jose CA) Hitz David (Sunnyvale CA), High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme.
Chang, Gee-Kung; Way, Winston I., High-throughput low-latency next generation internet network using optical label switching and high-speed optical header generation detection and reinsertion.
Gates Stillman F. ; Suri Salil, Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus.
Gates Stillman F. ; Suri Salil, Host adapter having paged payload buffers for simultaneously transferring data between a computer bus and a peripheral bus.
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.
Dally William J. (Framingham MA) Chien Andrew A. (Urbana IL) Horwat Waldemar P. (Hoffman Estates IL) Fiske Stuart (Montreal CAX), Message-driven processor in a concurrent computer.
Shimon Muller ; Denton E. Gentry, Jr. ; Linda T. Cheng ; John E. Watkins, Method and apparatus for data re-assembly with a high performance network interface.
Richter Roger K. (Round Rock TX) Stark ; Jr. David R. (Austin TX), Method and apparatus for facilitating communication in a multilayer communication architecture via a dynamic communicati.
Hamilton Graham ; Kessler Peter B. ; Nisewanger Jeffrey D. ; Bishop Alan ; Pelegri-Llopart Eduardo, Method and apparatus for generically handling diverse protocol method calls in a client/server computer system.
Stakuis Chrisopher J. ; Stearns Kevin M., Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing syst.
Delp Gary Scott ; Guerin Roch A. ; Leichty Philip Lynn ; Peris Vinod Gerard John ; Rajan Rajendran ; Slane Albert Alfonse, Method and apparatus for resource allocation with guarantees.
Delp Gary S. (Rochester MN) Slane Albert A. (Orocono MN), Method and system for enhanced communication in a multisession packet based communication system.
Erickson Gene R. ; Hundley Douglas E. ; Muller P. Keith ; Stehley Curtis H., Method for performing sequence of actions in device connected to computer in response to specified values being writte.
Shobu Toshifumi (Atsugi JPX) Ogasawara Fumihiro (Ebina JPX), Method for selectively using one or two communication channel by a transmitting data terminal based on data type and cha.
Lowe Glen H., Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer.
Cloud Donald M. (Jamestown RI) Kelly Kevin F. (East Greenwich RI) Bonaccorsi David P. (Warwick RI) Weeks Mark K. (Berkley MA), Methods and apparatus for implementing a message driven processor in a client-server environment.
Hitz David (Sunnyvale CA) Schwartz Allan (Saratoga CA) Lau James (Cupertino CA) Harris Guy (Mountain View CA), Multiple facility operating system architecture.
Minami John Shigeto ; Koyama Ryo ; Johnson Michael Ward ; Shinohara Masaru ; Poff Thomas C. ; Burkes Daniel F., Multiple network protocol encoder/decoder and data processor.
Flanders John A. ; Ross Ryan T. ; Townsend William D. ; Lamaire Thomas A. ; Radogna Thomas V. ; Bailey Brian W. ; Sousa Marc D., Multiple protocol support.
Gentry ; Jr. Denton E., Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine.
Blightman,Stephen E. J.; Starr,Daryl D.; Philbrick,Clive M., Network interface device for error detection using partial CRCS of variable length message portions.
Isfeld Mark S. (San Jose CA) Mitchell Bruce W. (San Jose CA) Seaman Michael J. (Mountain View CA) Mallory Tracy D. (San Jose CA) Arunkumar Nagaraj (San Jose CA), Network intermediate system with message passing architecture.
Bach Maurice J. (Haifa ILX) Hoppes Robert B. (Hyde Park NY) Meltzer Clifford B. (Ossining NY) Parchinski Kenneth J. (Wappingers Falls NY) Whelan Gary J. (Rhinebeck NY), Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier.
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.
Narad Charles E. ; Fall Kevin ; MacAvoy Neil ; Shankar Pradip ; Rand Leonard M. ; Hall Jerry J., Packet processing system including a policy engine having a classification unit.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Reddin Timothy G. (Stockport GB3) Walsh David S. (Rossendale GB3) Round Jeremy S. (Warrington GB3), Parallel computer having MAC-relay layer snooped transport header to determine if a message should be routed directly to.
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.
Latif Farrukh A. (Malvern PA) Stevens Michael D. (Paoli PA) Moysey John A. (Malvern PA) Shinkarovsky Michael (Harleysville PA) Nguyen Hung (Downingtown PA) Dale Michele Z. (Audubon PA), Programmable multiple I/O interface controller.
Hausman Richard (Soquel CA) Sherer Paul W. (Sunnyvale CA) Rivers James P. (Sunnyvale CA) Zikmund Cynthia (Boulder Creek CA) Connery Glenn W. (Sunnyvale CA) Strohl Niles E. (Tracy CA) Reid Richard S. , Programmed I/O ethernet adapter with early interrupts for accelerating data transfer.
Seno Shoichiro (Kanagawa-ken JPX) Ideguchi Tetsuo (Kanagawa-ken JPX), Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols.
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.
Davis Gordon T. (Boca Raton FL) Landa Robert E. (Boca Raton FL) Mandalia Baiju D. (Boca Raton FL) van den Berg Jan W. (Boca Raton FL) Van Voorhis David C. (Boca Raton FL), Specialized communications processor for layered protocols.
David A. Burns ; Benjamin L. Dagana ; Christopher J. Harrer ; Dung M. Luu ; Todd A. Matters ; Michael S. Miles ; Barry E. Blust ; Thomas J. Schneider ; Thomas V. Connors, Split data path distributed network protocol.
Christenson David A. (Rochester MN), System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communicati.
Redding, Mark E.; Badia, Logan A.; Handa, Sandeep; Sharma, Hemant; Chopra, Sanjay; Duvvoori, Vikram; Ramamoorthy, Shankar; Tripathy, Ajay, System and method for selecting a server in a multiple server license management system.
Sanjay Anand ; Nk Srinivas ; Jameel Hyder ; Kyle E. Brandon, System for ascertaining task off-load capabilities of a device and enabling selected capabilities and when needed selectively and dynamically requesting the device to perform the task.
Yokoyama Tatsuya (Sagamihara JPX) Hirata Tetsuhiko (Yokohama JPX) Mizutani Mika (Tokyo JPX) Takada Osamu (Sagamihara JPX), System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing.
Delp Gary S. ; Leichty Philip L. ; Slane Albert A., System for minimizing latency data reception and handling data packet error if detected while transferring data packet.
Pardillos Jacky (Plaisir FRX), System for network transmission using a communication co-processor comprising a microprocessor to implement protocol lay.
Denton E. Gentry, Jr., System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction.
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.
Dean Willis ; Jim Howser ; Marty Garrity ; Jack Heneghan, System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data.
Toby D. Bennett ; Donald J. Davis ; Jonathan C. Harris ; Ian D. Miller, System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite.
Whitney Mark M., System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities.
Jolitz William Frederick ; Lawson Matthew Todd ; Jolitz Lynne Greer, TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols.
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.
Brendel Juergen ; Kring Charles J. ; Liu Zaide ; Marino Christopher C., World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-n.
Melnyk, Miguel A.; Stavrakos, Nicholas J.; Penner, Andrew; Tidemann, Jeremy; Breg, Fabian, Adaptive bitrate management for streaming media over packet networks.
Melnyk, Miguel A.; Stavrakos, Nicholas J.; Penner, Andrew; Tidemann, Jeremy; Breg, Fabian, Adaptive bitrate management for streaming media over packet networks.
Philbrick, Clive M.; Craft, Peter K., Freeing transmit memory on a network interface device prior to receiving an acknowledgment that transmit data has been received by a remote device.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Intelligent network interface device and system for accelerated communication.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., 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 and method for 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 and method for protocol processing.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Method and apparatus for distributing network traffic processing on a multiprocessor computer.
Boucher, Laurence B.; Blightman, Stephen E. J.; Craft, Peter K.; Higgen, David A.; Philbrick, Clive M.; Starr, Daryl D., Method and apparatus for processing received network packets on a network interface for a computer.
Melnyk, Miguel; Kidd, Robert; Penner, Andrew; Tidemann, Jeremy; Breg, Fabian, Method for controlling download rate of real-time streaming as needed by media player.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.