최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0277604 (2002-10-18) |
등록번호 | US-8782199 (2014-07-15) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 2 인용 특허 : 258 |
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.
1. A method for use with a computer system, comprising: receiving, with a network controller for a host computer, a packet that includes a header, the header indicating a first characteristic that is associated with a transport layer of a multiple layer protocol stack and a second characteristic tha
1. A method for use with a computer system, comprising: receiving, with a network controller for a host computer, a packet that includes a header, the header indicating a first characteristic that is associated with a transport layer of a multiple layer protocol stack and a second characteristic that is associated with an application layer of the stack;parsing the packet with the network controller to extract said first and second characteristics, wherein said first characteristic includes an identification of a Transmission Control Protocol (TCP) connection, and said second characteristic includes a length of application data being received; andpassing a handle from the network controller to the host computer to indicate said first and second characteristics, wherein the handle associates the packet with a flow that corresponds to the TCP connection, and indicates an amount of said application data to be stored in the host computer. 2. The method of claim 1, wherein the act of passing comprises: passing the handle to another layer of the protocol stack. 3. The method of claim 1, wherein said first characteristic comprises: a port number associated with the application. 4. The method of claim 1, wherein the TCP connection is stored as a CCB in the network controller, and the CCB includes information regarding a data link layer. 5. The method of claim 1, wherein said first characteristic comprises: a type of the packet. 6. The method of claim 1, further comprising: selectively transmitting acknowledgement packets based on said first characteristic. 7. The method of claim 1, further comprising: storing data associated with the packet in a region of memory that is used by execution of an application based on said first and second characteristics. 8. The method of claim 7, wherein the network controller comprises means for parsing the packet, and wherein said identification is a combination of a TCP source port, a TCP destination port, an IP source address, and an IP destination address, and wherein the handle associates the packet with a flow. 9. The method of claim 7, wherein the computer system comprises: means for determining a memory address at which to store the application data. 10. The method of claim 7, wherein the network controller is a TCP offload device. 11. The method of claim 7, further comprising: passing an indication of said first characteristic to the network controller, and wherein the network controller matches said first characteristic extracted from the packet with said first characteristic passed to the network interface device. 12. The method of claim 7, further comprising: receiving onto the network controller from the protocol stack an indication of the region of memory. 13. The method of claim 7, further comprising: a step for receiving onto the network controller from the protocol stack an indication of the region of memory. 14. The method of claim 7, wherein the handle is a header buffer, and wherein the header buffer contains status information about the packet. 15. The method of claim 7, wherein the handle is a header buffer, and wherein the header buffer specifies a fast-path connection, the fast-path connection being identified by a TCP source port, a TCP destination port, an IP source address, and IP destination address. 16. The method of claim 1, wherein the transport layer comprises TCP. 17. The method of claim 1, wherein the act of receiving comprises: receiving the packet from a network. 18. The method of claim 1, wherein the handle comprises an IP address and a TCP port. 19. The method of claim 1, wherein the handle comprises a number corresponding to a context. 20. The method of claim 1, wherein the handle is passed to the network controller. 21. The method of claim 1, further comprising: using the packet to obtain memory space for another packet. 22. An apparatus for use with a computer system capable of executing software of a protocol stack to extract at least first and second characteristics of a packet, comprising: an interface adapted to receive the packet, the packet including a header indicating said first and second characteristics, wherein said first characteristic includes an identification of a Transmission Control Protocol (TCP) connection, and said second characteristic includes a length of application data being received;a circuit adapted to parse the header to extract said first and second characteristics of the packet without causing the computer system to execute the software; anda direct memory access (DMA) engine to copy the application data to a memory of the computer system controlled by the application. 23. The apparatus of claim 22, wherein said first characteristic comprises: a port number being associated with the application. 24. The apparatus of claim 22, wherein the circuit comprises means for parsing the header. 25. The apparatus of claim 22, wherein said first characteristic comprises: a type of the packet. 26. The apparatus of claim 22, wherein the circuit is further adapted to: use said first characteristic to associate the packet with a flow. 27. The apparatus of claim 22, wherein the apparatus comprises a network controller. 28. A computer system comprising: a processor adapted to execute software of a network stack to process a packet; anda peripheral device adapted to: receive the packet, the packet including a header indicating an identification of a Transmission Control Protocol (TCP) connection and a length of application data being received, the packet further including a portion of the application data,parse the header to extract said identification and length,provide the identification and length to the processor to obtain a final destination for the application data, andsend the application data to the final destination. 29. The computer system of claim 28, wherein the software comprises a network layer. 30. The computer system of claim 28, wherein said identification comprises: a port number associated with the application. 31. The computer of claim 28, further comprising: means for determining a memory address at which to store the application data. 32. The computer system of claim 28, wherein said identification comprises: a type of the packet. 33. The computer system of claim 28, wherein the peripheral device is further adapted to: use said identification to associate the packet with a flow. 34. The computer system of claim 28, wherein the peripheral device is further adapted to: provide zero-copy support for an upper layer protocol layer, wherein the upper layer protocol layer is a layer that is higher than a transport layer. 35. The computer system of claim 34, wherein said identification is a combination of a TCP source port, a TCP destination port, an IP source address, and an IP destination address. 36. The computer system of claim 35, wherein the peripheral device receives an indication of the final destination from the processor, and wherein the peripheral device provides said zero-copy support by transferring a data payload of the packet from the peripheral device directly into the final destination. 37. The computer system of claim 36, wherein the stack includes a transport processing layer, and wherein the stack performs substantially no TCP processing on the packet, and wherein the peripheral device performs substantially all TCP processing on the packet. 38. The computer system of claim 28, wherein the peripheral device comprises a network controller. 39. The computer system of claim 28, wherein the characteristic is that the packet is a fast-path packet. 40. The computer system of claim 28, wherein the peripheral device is further adapted to: choose between slow-path processing the packet and fast-path processing the packet. 41. The computer system of claim 28, wherein the peripheral device is further adapted to: receive an indication of said identification onto said peripheral device from said processor, the peripheral device matching said identification extracted from the header with said identification received onto the peripheral device from said processor. 42. A method for use with a computer system, comprising: receiving, by a network controller for the computer system, a packet that includes a header, the header including a TCP source port, a TCP destination port, an IP source address, and an IP destination address, and wherein a TCP connection is identified by the TCP source port, the TCP destination port, the IP source address, and the IP destination address;parsing the packet with the network controller to extract said TCP source port, said TCP destination port, said IP source address and said IP destination address, including creating an indication of the TCP connection, and determining a length of application data to be stored in the computer system, wherein the packet includes part but not all of the application data;sending an identification of the TCP connection and said length from the network controller to the computer system to obtain a destination for storing said application data; andstoring said application data in said destination by said network controller.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.