IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0741128
(2003-12-19)
|
등록번호 |
US-7624198
(2009-12-02)
|
발명자
/ 주소 |
- Johnson, Michael Ward
- Currid, Andrew
- Kanuri, Mrudula
- Minami, John Shigeto
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
1 인용 특허 :
146 |
초록
▼
A system and method are provided for communicating data in a network utilizing a transport offload engine. Included is a data list object that describes how data communicated in a network is to be stored (i.e. placed, etc.) in memory (i.e. application memory). Stored in association (i.e. located, k
A system and method are provided for communicating data in a network utilizing a transport offload engine. Included is a data list object that describes how data communicated in a network is to be stored (i.e. placed, etc.) in memory (i.e. application memory). Stored in association (i.e. located, kept together, etc.) with the data list object is a sequence object. Such sequence object identifies a sequence space associated with the data to be stored using the data list object. To this end, the sequence object is used by a transport offload engine to determine whether or not incoming data is to be stored using the data list object.
대표청구항
▼
What is claimed is: 1. A data structure embodied on a tangible computer readable medium for use in association with a transport offload engine, comprising: a data list object that describes how data communicated in a network is stored in memory; and a sequence object stored in association with the
What is claimed is: 1. A data structure embodied on a tangible computer readable medium for use in association with a transport offload engine, comprising: a data list object that describes how data communicated in a network is stored in memory; and a sequence object stored in association with the data list object, the sequence object for identifying a sequence space associated with the data to be stored using the data list object; wherein the sequence object is used by a transport offload engine to determine whether incoming data is to be stored using the data list object; wherein the sequence object is kept as a tag together with the data list object in order to form a tagged data list object; wherein the sequence object includes a sequence object number that identifies a point in the sequence space and a sequence object length that identifies a length of the sequence space, and wherein the data structure is utilized such that it is determined whether the incoming data is in the sequence space associated with the data list object by determining whether a data sequence number falls within the sequence space as defined by the sequence object number and the sequence object length. 2. The data structure as recited in claim 1, wherein the data list object includes at least one data address that describes a location where the data communicated in the network is stored in the memory. 3. The data structure as recited in claim 1, wherein the data list object includes at least one of a scatter-gather list (SGL) and a memory-descriptor list (MDL). 4. The data structure as recited in claim 1, wherein, if it is determined that the incoming data is in the sequence space associated with the data list object, an offset is calculated. 5. The data structure as recited in claim 4, wherein the offset is calculated from a start point of the data list object. 6. The data structure as recited in claim 4, wherein the offset is calculated based on the sequence object of the data list object and a sequence number associated with the incoming data. 7. The data structure as recited in claim 4, wherein the incoming data is stored in association with the data list object and the offset. 8. The data structure as recited in claim 1, wherein, if it is determined that the incoming data is not in the sequence space associated with the data list object, the incoming data is stored in a buffer. 9. The data structure as recited in claim 8, wherein the buffer includes a host buffer associated with a processor. 10. The data structure as recited in claim 9, wherein the host buffer is physically separate from the memory. 11. The data structure as recited in claim 8, wherein the buffer includes a transport offload engine buffer associated with the transport offload engine. 12. The data structure as recited in claim 8, wherein a status message is sent from the transport offload engine to a processor. 13. The data structure as recited in claim 12, wherein the status message allows subsequent association of the incoming data with another data list object. 14. The data structure as recited in claim 12, wherein the status message identifies a buffer address associated with the incoming data. 15. The data structure as recited in claim 12, wherein the status message identifies a sequence number associated with the incoming data. 16. The data structure as recited in claim 12, wherein the status message identifies a socket associated with the incoming data. 17. The data structure as recited in claim 12, wherein the status message identifies the length of data stored in the buffer. 18. The data structure as recited in claim 8, wherein a first portion of the incoming data is stored in the buffer, wherein the first data portion exists at a point after a start of a data stream. 19. The data structure as recited in claim 18, wherein a remaining portion of the incoming data, after buffers have been posted, is stored using the data list object. 20. The data structure as recited in claim 1, wherein the sequence object allows transport offload engine memory on the transport offload engine to be at least minimized. 21. The data structure as recited in claim 1, wherein the memory includes application memory. 22. The data structure as recited in claim 21, wherein the sequence object allows direct data placement into the application memory. 23. The data structure as recited in claim 22, wherein the sequence object allows for lower processor utilization by enabling the direct data placement into the application memory. 24. The data structure as recited in claim 1, wherein the sequence object number is an expected future data sequence number. 25. The data structure as recited in claim 1, wherein the sequence object is used by the transport offload engine to determine whether the data is to be directly stored in application memory using the data list object or stored temporarily in a host buffer. 26. A transport offload sub-system, comprising: a transport offload engine in communication with a hardware processor and a network, the transport offload engine capable of using: a data list object that describes how data communicated in a network is stored in memory, and a sequence object stored in association with the data list object, the sequence object for identifying a sequence space associated with the data to be stored using the data list object; wherein the sequence object is used by the transport offload engine to determine whether incoming data is to be stored in association with the data list object; wherein the transport offload sub-system is operable such that the sequence object is kept as a tag together with the data list object in order to form a tagged data list object; wherein the sequence object includes a sequence object number that identifies a point in the sequence space and a sequence object length that identifies a length of the sequence space, and wherein the transport offload sub-system is operable such that is determined whether the incoming data is in the sequence space associated with the data list object by determining whether a data sequence number falls within the sequence space as defined by the sequence object number and the sequence object length. 27. A system, comprising: a hardware processor; a transport offload engine in communication with the processor via a bus, the transport offload engine capable of using: a data list object that describes how data communicated in a network is stored in memory, and a sequence object stored in association with the data list object, the sequence object for identifying a sequence space associated with the data to be stored using the data list object; wherein the sequence object is used by the transport offload engine to determine whether incoming data is to be stored in association with the data list object; wherein the system is operable such that the sequence object is kept as a tag together with the data list object in order to form a tagged data list object; wherein the sequence object includes a sequence object number that identifies a point in the sequence space and a sequence object length that identifies a length of the sequence space, and wherein the system is operable such that it is determined whether the incoming data is in the sequence space associated with the data list object by determining whether a data sequence number falls within the sequence space as defined by the sequence object number and the sequence object length. 28. A method for using tagged data list objects in managing network communications, comprising: receiving data from a network; identifying a data sequence number associated with the data; and determining whether the data resides in a sequence space associated with a data list object based on a sequence object of the data list object and the data sequence number associated with the data, utilizing a hardware processor; wherein the sequence object is kept as a tag together with the data list object in order to form a tagged data list object; wherein the sequence object includes a sequence object number that identifies a point in the sequence space and a sequence object length that identifies a length of the sequence space, and wherein it is determined whether the data is in the sequence space associated with the data list object by determining whether a data sequence number falls within the sequence space as defined by the sequence object number and the sequence object length. 29. The method as recited in claim 28, wherein the data list object includes at least one data address and data length. 30. The method as recited in claim 29, and further comprising: if it is determined that the data is in the sequence space associated with the data list object, calculating an offset from a start point of the data list object based on the sequence object of the data list object and the data sequence number, and storing the data in association with the data list object and the offset; and if it is determined that the data is not in the sequence space associated with the data list object, storing the data in a host buffer associated with a processor, and sending a status message from the transport offload engine to the processor identifying a buffer address and the data sequence number associated with the data for allowing subsequent association of the data with another data list object. 31. The method as recited in claim 28, wherein the data sequence number includes a steering tag. 32. A method, comprising: receiving data from a network; identifying a data number associated with the data; and determining whether the data resides in a space associated with a data list object based on an object of the data list object and the data number associated with the data, utilizing a hardware processor; wherein the object is kept as a tag together with the data list object in order to form a tagged data list object; wherein the object includes an object number that identifies a point in the space and an object length that identifies a length of the space, and wherein it is determined whether the data is in the space associated with the data list object by determining whether a data number falls within the space as defined by the object number and the object length.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.