최소 단어 이상 선택하여야 합니다.
최대 10 단어까지만 선택 가능합니다.
다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
NTIS 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
DataON 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Edison 바로가기다음과 같은 기능을 한번의 로그인으로 사용 할 수 있습니다.
Kafe 바로가기국가/구분 | United States(US) Patent 등록 |
---|---|
국제특허분류(IPC7판) |
|
출원번호 | US-0963105 (2007-12-21) |
등록번호 | US-8402142 (2013-03-19) |
발명자 / 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 | 피인용 횟수 : 0 인용 특허 : 338 |
A method for providing TCP/IP offload may include receiving control of at least a portion of Transmission Control Protocol (TCP) connection variables by a TCP/IP Offload Engine operatively coupled to a host. The at least a portion of the TCP/IP Offload Engine connection variables may be updated and
A method for providing TCP/IP offload may include receiving control of at least a portion of Transmission Control Protocol (TCP) connection variables by a TCP/IP Offload Engine operatively coupled to a host. The at least a portion of the TCP/IP Offload Engine connection variables may be updated and provided to the host. The TCP/IP Offload Engine may receive control of segment-variant TCP connection variables. The TCP/IP Offload Engine may update the received TCP segment-variant TCP connection variables, and communicate the updated TCP segment-variant TCP connection variables to the host. A system for providing connection offload may include a TCP/IP Offload Engine that receives control of state information for a particular connection offloaded to a network interface card (NIC). Control of the state information for the particular connection may be split between the NIC and a host.
1. A method for providing TCP/IP offload, the method comprising: receiving control of at least a portion of Transmission Control Protocol (TCP) connection variables by a TCP/IP Offload Engine operatively coupled to a host;updating said at least a portion of said TCP connection variables; andprovidin
1. A method for providing TCP/IP offload, the method comprising: receiving control of at least a portion of Transmission Control Protocol (TCP) connection variables by a TCP/IP Offload Engine operatively coupled to a host;updating said at least a portion of said TCP connection variables; andproviding said at least a portion of said updated TCP connection variables to said host. 2. The method according to claim 1, comprising receiving control of segment-variant TCP connection variables by said TCP/IP Offload Engine. 3. The method according to claim 2, comprising updating said received segment-variant TCP connection variables. 4. The method according to claim 3, comprising communicating said updated segment-variant TCP connection variables to said host. 5. The method according to claim 2, wherein said segment-variant TCP connection variables comprise one or more of the following: IP packet identifier;time remaining for retransmission;time remaining for delay acknowledgement;time remaining for keep alive;congestion window variables comprising:congestion window (SND_CWIN); andslow start threshold (SSTHRESH);round trip time variables comprising:smoothed round trip time (RTT);smoothed delta (DELTA); andtime remaining for PUSH; andTransmission Control Protocol state and timestamp send and receive sequence variables comprising:sequence number for first un-ACK'd data (SND_UNA);sequence number for next send (SND_NXT);maximum sequence number ever sent (SND_MAX);maximum send window (MAX_WIN);sequence number for next receive (RCV_NXT); andreceive window size (RCV_WND). 6. The method according to claim 1, comprising: receiving from said host a snapshot of one or both of connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables, when said TCP/IP Offload Engine and said host are operatively coupled;updating said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables;transferring said updated one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to said host; andutilizing, during operation, transferred segment-variant Transmission Control Protocol connection variables and said snapshot of said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to process at least one of the following: incoming and outgoing Transmission Control Protocol segments. 7. The method according to claim 6, comprising: utilizing, during operation, said transferred segment-variant Transmission Control Protocol connection variables and said snapshot of said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to independently process incoming Transmission Control Protocol segments. 8. The method according to claim 6, comprising independently processing incoming Transmission Control Protocol segments based on one or more of said transferred segment-variant Transmission Control Protocol connection variables, and said snapshot of said connection-invariant Transmission Control Protocol connection variables and said segment-invariant Transmission Control Protocol connection variables. 9. The method according to claim 1, comprising: receiving from said host a snapshot of connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables. 10. The method according to claim 1, comprising: receiving from said host a snapshot of Transmission Control Protocol connection variables that are not segment-variant Transmission Control Protocol connection variables. 11. The method according to claim 1, comprising: posting one or more of a buffer that is utilized by any Transmission Control Protocol connection, a buffer that is dedicated to one or more Transmission Control Protocol connections, and an application buffer. 12. The method according to claim 1, comprising: managing said Transmission Control Protocol connection. 13. The method according to claim 1, comprising: managing one or more of segmentation, acknowledgement processing, windowing, and congestion avoidance. 14. The method according to claim 1, comprising: maintaining exclusive read-write access to offloaded segment-variant variables. 15. The method according to claim 1, comprising: exclusively updating offloaded segment-variant variables. 16. The method according to claim 1, comprising: maintaining by said host, read-write access to segment-invariant variables. 17. The method according to claim 1, wherein during operation, said TCP/IP Offload Engine has read-only access to segment-invariant variables. 18. The method according to claim 1, comprising: receiving from said host, a message concerning a change in a particular TCP connection variable whose control was not transferred to said TCP/IP Offload Engine; andupdating said particular TCP connection variable. 19. The method according to claim 1, wherein said Transmission Control Protocol connection is in an ESTABLISHED state. 20. The method according to claim 1, wherein said TCP connection variables are TCP connection variables that are independent of bandwidth delay product. 21. The method according to claim 1, comprising: receiving connection setups from said host. 22. The method according to claim 21, comprising: providing resistance to DoS attacks by allowing said host to handle said connection setups. 23. The method according to claim 1, comprising: handling by said host, TCP states exclusive of an ESTABLISHED state, which are offloaded to said TCP/IP Offload Engine. 24. The method according to claim 1, comprising: handling by said TCP/IP Offload Engine, only connections that are in performance sensitive states. 25. The method according to claim 1, comprising: processing by said host, resource utilization statistics in helping to determine which connections to offload and which connections to upload. 26. The method according to claim 1, comprising: determining by said host which connections to offload and which connections to upload. 27. The method according to claim 1, comprising: determining by one or both of said TCP/IP Offload Engine and a device driver software for said TCP/IP Offload Engine, one or both of Transmission Control Protocol connections to offload and Transmission Control Protocol connections to upload. 28. A machine-readable non-transitory storage, having stored thereon a computer program having at least one code section for providing TCP/IP offload, the at least one code section executable by a machine for causing the machine to perform the steps comprising: receiving control of at least a portion of Transmission Control Protocol (TCP) connection variables by a TCP/IP Offload Engine operatively coupled to a host;updating said at least a portion of said TCP connection variables; andproviding said at least a portion of said updated TCP connection variables to said host. 29. The machine-readable non-transitory storage according to claim 28, comprising code for receiving control of segment-variant TCP connection variables by said TCP/IP Offload Engine. 30. The machine-readable non-transitory storage according to claim 29, comprising code for updating said received segment-variant TCP connection variables. 31. The machine-readable non-transitory storage according to claim 30, comprising code for communicating said updated segment-variant TCP connection variables to said host. 32. The machine-readable non-transitory storage according to claim 29, wherein said segment-variant TCP connection variables comprise one or more of the following: IP packet identifier; time remaining for retransmission;time remaining for delay acknowledgement;time remaining for keep alive;congestion window variables comprising:congestion window (SND_CWIN); andslow start threshold (SSTHRESH);round trip time variables comprising:smoothed round trip time (RTT);smoothed delta (DELTA); and time remaining for PUSH; andTransmission Control Protocol state and timestamp send and receive sequence variables comprising:sequence number for first un-ACK'd data (SND_UNA);sequence number for next send (SND_NXT);maximum sequence number ever sent (SND_MAX);maximum send window (MAX_WIN);sequence number for next receive (RCV_NXT); andreceive window size (RCV_WND). 33. The machine-readable non-transitory storage according to claim 28, comprising: code for receiving from said host a snapshot of one or both of connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables, when said TCP/IP Offload Engine and said host are operatively coupled; code for updating said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables;code for transferring said updated one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to said host; andcode for utilizing, during operation, transferred segment-variant Transmission Control Protocol connection variables and said snapshot of said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to process at least one of the following: incoming and outgoing Transmission Control Protocol segments. 34. The machine-readable non-transitory storage according to claim 33, comprising: code for utilizing, during operation, said transferred segment-variant Transmission Control Protocol connection variables and said snapshot of said one or both of said connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables to independently process incoming Transmission Control Protocol segments. 35. The machine-readable non-transitory storage according to claim 33, comprising code for independently processing incoming Transmission Control Protocol segments based on one or more of said transferred segment-variant Transmission Control Protocol connection variables, and said snapshot of said connection-invariant Transmission Control Protocol connection variables and said segment-invariant Transmission Control Protocol connection variables. 36. The machine-readable non-transitory storage according to claim 28, comprising: code for receiving from said host a snapshot of connection-invariant Transmission Control Protocol connection variables and segment-invariant Transmission Control Protocol connection variables. 37. The machine-readable non-transitory storage according to claim 28, comprising: code for receiving from said host a snapshot of Transmission Control Protocol connection variables that are not segment-variant Transmission Control Protocol connection variables. 38. The machine-readable non-transitory storage according to claim 28, comprising: code for posting one or more of a buffer that is utilized by any Transmission Control Protocol connection, a buffer that is dedicated to one or more Transmission Control Protocol connections, and an application buffer. 39. The machine-readable non-transitory storage according to claim 28, comprising: code for managing said Transmission Control Protocol connection. 40. The machine-readable non-transitory storage according to claim 28, comprising: code for managing one or more of segmentation, acknowledgement processing, windowing, and congestion avoidance. 41. The machine-readable non-transitory storage according to claim 28, comprising: code for maintaining exclusive read-write access to offloaded segment-variant variables. 42. The machine-readable non-transitory storage according to claim 28, comprising: code for exclusively updating offloaded segment-variant variables. 43. The machine-readable non-transitory storage according to claim 28, comprising: code for maintaining by said host, read-write access to segment-invariant variables. 44. The machine-readable non-transitory storage according to claim 28, wherein during operation, said TCP/IP Offload Engine has read-only access to segment-invariant variables. 45. The machine-readable non-transitory storage according to claim 28, comprising: code for receiving from said host, a message concerning a change in a particular connection variable whose control was not transferred to said TCP/IP Offload Engine; andupdating said particular TCP connection variable. 46. The machine-readable non-transitory storage according to claim 28, wherein said Transmission Control Protocol connection is in an ESTABLISHED state. 47. The machine-readable non-transitory storage according to claim 28, wherein said connection variables are TCP connection variables that are independent of bandwidth delay product. 48. The machine-readable non-transitory storage according to claim 28, comprising: code for receiving connection setups from said host. 49. The machine-readable non-transitory storage according to claim 48, comprising: code for providing resistance to DoS attacks by allowing said host to handle said connection setups. 50. The machine-readable non-transitory storage according to claim 28, comprising: code for handling by said host, TCP states exclusive of an ESTABLISHED state, which are offloaded to said TCP/IP Offload Engine. 51. The machine-readable non-transitory storage according to claim 28, comprising: code for handling by said TCP/IP Offload Engine, only connections that are in performance sensitive states. 52. The machine-readable non-transitory storage according to claim 28, comprising: code for processing by said host, resource utilization statistics in helping to determine which connections to offload and which connections to upload. 53. The machine-readable non-transitory storage according to claim 28, comprising: code for determining by said host which connections to offload and which connections to upload. 54. The machine-readable non-transitory storage according to claim 28, comprising: code for determining by one or both of said TCP/IP Offload Engine and a device driver software for said TCP/IP Offload Engine, one or both of Transmission Control Protocol connections to offload and Transmission Control Protocol connections to upload. 55. A method for providing connection offload, the method comprising: receiving control of state information for a particular connection offloaded to a network interface card (NIC), wherein control of said state information for said particular connection is split between said NIC and a host;updating at least a portion of connection variables for said particular connection; anduploading said at least a portion of said updated connection variables for said particular connection to said host. 56. The method according to claim 55, wherein said particular connection employs a connection-oriented transport layer protocol (TLP). 57. The method according to claim 56, wherein said connection-oriented TLP comprises a Transmission Control Protocol. 58. The method according to claim 55, comprising: receiving control of segment variant variables corresponding to said particular connection by said NIC. 59. A machine-readable non-transitory storage, having stored thereon a computer program having at least one code section for providing connection offload, the at least one code section executable by a machine for causing the machine to perform the steps comprising: receiving control of state information for a particular connection offloaded to a network interface card (NIC), wherein control of said state information for said particular connection is split between said NIC and a host;updating at least a portion of connection variables for said particular connection; anduploading said at least a portion of said updated connection variables for said particular connection to said host. 60. The machine-readable non-transitory storage according to claim 59, wherein said particular connection employs a connection-oriented transport layer protocol (TLP). 61. The machine-readable non-transitory storage according to claim 60, wherein said connection-oriented TLP comprises a Transmission Control Protocol. 62. The machine-readable non-transitory storage according to claim 59, comprising: code for receiving control of segment variant variables corresponding to said particular connection by said NIC. 63. A system for providing connection offload, the system comprising: a TCP/IP Offload Engine that receives control of state information for a particular connection offloaded to a network interface card (NIC), wherein control of said state information for said particular connection is split between said NIC and a host;said TCP/IP Offload Engine updates at least a portion of connection variables for said particular connection; andsaid TCP/IP Offload Engine uploads said at least a portion of said updated connection variables for said particular connection to said host. 64. The system according to claim 63, wherein said particular connection employs a connection-oriented transport layer protocol (TLP). 65. The system according to claim 64, wherein said connection-oriented TLP comprises a Transmission Control Protocol. 66. The system according to claim 63, wherein said TCP/IP Offload Engine receives control of segment variant variables corresponding to said particular connection. 67. A machine-readable non-transitory storage, having stored thereon a computer program having at least one code section for providing TCP/IP offload, the at least one code section executable by a machine for causing the machine to perform the steps comprising: receiving by a TCP/IP Offload Engine transfer of control of connection variables of a particular TCP connection from a host and a snapshot of remaining connection variables whose control was not transferred to said TCP/IP Offload Engine from said host;managing said particular Transmission Control Protocol connection via said TCP/IP Offload Engine using said at least a portion of said connection variables transferred to said TCP/IP Offload Engine and at least a portion of said snapshot; andupdating at least a portion of said connection variables and a portion of said snapshot and transferring said updated at least said portion of said connection variables and said portion of said snapshot back to said host. 68. The machine-readable non-transitory storage according to claim 67, wherein said one or more connection variable of said particular Transmission Control Protocol connection transferred to said TCP/IP Offload Engine comprise at least one segment-variant variables of said particular Transmission Control Protocol connection. 69. The machine-readable non-transitory storage according to claim 67, wherein said connection variables of said particular TCP connection transferred to said TCP/IP Offload Engine lack segment-invariant variables of said particular TCP connection. 70. The machine-readable non-transitory storage according to claim 67, wherein said connection variables of said particular TCP connection transferred to the TCP/IP Offload Engine lack segment-invariant variables and connection-invariant variables of said particular TCP connection. 71. The machine-readable non-transitory storage according to claim 67, comprising: code for determining if at least one of said connection variables controlled by said host have changed;code for notifying said TCP/IP Offload Engine of changes in said at least one of said connection variables controlled by said host that has changed; andcode for updating said connection variables in said TCP/IP Offload Engine in accordance with said notified changes. 72. A system for providing TCP/IP offload, the system comprising: a TCP/IP Offload Engine that receives transfer of control of connection variables of a particular TCP connection from a host, and a snapshot of remaining connection variables whose control was not transferred to said TCP/IP Offload Engine from said host;said TCP/IP Offload Engine manages said particular TCP connection using at least a portion of said connection variables transferred to said TCP/IP Offload Engine and at least a portion of said snapshot; andsaid TCP/IP Offload Engine updates at least a portion of said connection variables and a portion of said snapshot, and wherein said TCP/IP Offload Engine transfers said updated at least said portion of said connection variables and said portion of said snapshot back to said host. 73. The system according to claim 72, wherein said connection variables of said particular TCP connection transferred to said TCP/IP Offload Engine comprise at least one segment-variant variable of said particular Transmission Control Protocol connection. 74. The system according to claim 72, wherein said connection variables of said particular TCP connection transferred to said TCP/IP Offload Engine lack segment-invariant variables of said particular TCP connection. 75. The system according to claim 72, wherein said connection variables of said particular TCP connection transferred to the TCP/IP Offload Engine lack segment-invariant variables and connection-invariant variables of said particular TCP connection. 76. The system according to claim 72, wherein said host determines if at least one of said connection variables controlled by said host have changed, wherein said host notifies said TCP/IP Offload Engine of changes in said at least one of said connection variables controlled by said host that has changed, and wherein said TCP/IP Offload Engine updates said connection variables in said TCP/IP Offload Engine in accordance with said notified changes. 77. A machine-readable non-transitory storage, having stored thereon a computer program having at least one code section for providing TCP/IP offload, the at least one code section executable by a machine for causing the machine to perform the steps comprising: receiving transfer of control of segment-variant variables by a TCP/IP Offload Engine from a host;receiving a snapshot of segment-invariant variables and connection-invariant variables by said TCP/IP Offload Engine;independently processing incoming Transmission Control Protocol packets via said TCP/IP Offload Engine based upon said segment-variant variables and said snapshot; andupdating at least a portion of said sent snapshot and at least a portion of said segment-variant variables and transferring at least a portion of said updated at least said portion of said sent snapshot and at least said portion of said updated segment-variant variables back to said host. 78. A system for providing TCP/IP offload, the system comprising: a TCP/IP Offload Engine that:receives transfer of control of segment-variant variables from a host;receives a snapshot of segment-invariant variables and connection-invariant variables;independently processes incoming Transmission Control Protocol packets based upon said segment-variant variables and said snapshot; andupdates at least a portion of said sent snapshot and at least a portion of said segment-variant variables, wherein said TCP/IP Offload Engine transfers at least a portion of said updated at least said portion of said sent snapshot and at least said portion of said updated segment-variant variables back to said host. 79. A machine-readable non-transitory storage, having stored thereon a computer program having at least one code section for processing a Transmission Control Protocol connection, the at least one code section executable by a machine for causing the machine to perform the steps comprising: establishing a Transmission Control Protocol connection between a TCP/IP Offload Engine and a host;sharing a control plane for said Transmission Control Protocol connection by said TCP/IP Offload Engine with said host;updating Transmission Control Protocol connection variables by said TCP/IP Offload Engine; andcommunicating said updated Transmission Control Protocol connection variables from said TCP/IP Offload Engine to said host. 80. The machine-readable non-transitory storage according to claim 79, wherein said sharing of said control plane comprises receiving control of segment-variant variables corresponding to said Transmission Control Protocol connection by said TCP/IP Offload Engine. 81. The machine-readable non-transitory storage according to claim 79, comprising code for uploading said Transmission Control Protocol connection to said host from said TCP/IP Offload Engine. 82. The machine-readable non-transitory storage according to claim 81, wherein said code for uploading said Transmission Control Protocol connection comprises code for transferring control of segment-variant variables corresponding to said Transmission Control Protocol connection to said host. 83. The machine-readable non-transitory storage according to claim 81, comprising code for offloading said uploaded Transmission Control Protocol connection to said TCP/IP Offload Engine from said host. 84. The machine-readable non-transitory storage according to claim 83, wherein said code for offloading said uploaded TCP connection comprises code for transferring said control of said segment-variant variables corresponding to said uploaded TCP connection to said TCP/IP Offload Engine. 85. A system for processing a Transmission Control Protocol connection, the system comprising: a TCP/IP Offload Engine operatively coupled to a host, wherein said TCP/IP Offload Engine:establishes a Transmission Control Protocol connection between said TCP/IP Offload Engine and said host;shares a control plane for said Transmission Control Protocol connection with said host;updates Transmission Control Protocol connection variables; andcommunicates said updated Transmission Control Protocol connection variables to said host. 86. The system according to claim 85, wherein said TCP/IP Offload Engine receives control of segment-variant variables corresponding to said Transmission Control Protocol connection. 87. The system according to claim 85, wherein said TCP/IP Offload Engine uploads said Transmission Control Protocol connection to said host. 88. The system according to claim 87, wherein said TCP/IP Offload Engine transfers control of segment-variant variables corresponding to said Transmission Control Protocol connection to said host during said uploading. 89. The system according to claim 87, wherein said TCP/IP Offload Engine receives said uploaded Transmission Control Protocol connection from said host. 90. The system according to claim 89, wherein said TCP/IP Offload Engine receives from said host, said control of said segment-variant variables corresponding to said uploaded TCP connection during said offloading. 91. A system for Transmission Control Protocol offload, the system comprising: a TCP/IP Offload Engine operatively coupled to a host, wherein said TCP/IP Offload Engine:acquires Transmission Control Protocol connection variables from said host;manages at least one Transmission Control Protocol connection using said acquired Transmission Control Protocol connection variables;updates at least a portion of said acquired Transmission Control Protocol connection variables; andtransfers said updated at least a portion of said acquired Transmission Control Protocol connection variables to said host. 92. The system according to claim 91, wherein said Transmission Control Protocol connection variables are independent of bandwidth delay product. 93. The system according to claim 91, wherein said host utilizes at least a portion of said updated at least said portion of said acquired TCP connection variables to process said at least said at least one Transmission Control Protocol connection. 94. The system according to claim 91, wherein said TCP/IP Offload Engine pulls said Transmission Control Protocol connection variables from a stack. 95. The system according to claim 91, wherein said TCP/IP Offload Engine pushes said updated at least a portion of said acquired Transmission Control Protocol connection variables onto a stack.
Copyright KISTI. All Rights Reserved.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.