IP Library Granted Patent US 7,899,913
Granted Patent B2
US 7,899,913 · App. 10/742,358 · Granted Mar 1, 2011

Connection management system and method for a transport offload engine

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,899,913
App. No.
10/742,358
Granted
Mar 1, 2011
Kind
B2
Abstract

A system and method are provided for establishing network connections. Initially, an attempt to establish a connection on a network is identified. A portion of memory is then allocated for storing data associated with the connection.

Claims (33)

1. A method for establishing network connections, comprising:

identifying a first attempt to establish a connection on a network; and

allocating a portion of memory for storing data associated with the connection;

wherein the portion of the memory is overwritten, in order to avoid memory overload, if a subsequent second attempt to establish a connection has at least one aspect associated with the first attempt;

wherein each attempt to establish the connection on the network is carried out by identifying a packet, wherein said packet is a synchronize packet;

wherein the portion of memory is allocated for the synchronize packet, and where the portion of memory is overwritten by connection parameters for a second synchronize packet if a hash generated for the second synchronize packet has at least one aspect associated with a hash generated for the synchronize packet.

2. The method as recited in claim 1 , and further comprising responding to the packet with a packet acknowledgment.

3. The method as recited in claim 1 , and further comprising generating a hash associated with each packet associated with an attempt to establish a connection on the network.

4. The method as recited in claim 3 , wherein the hash is utilized to determine whether subsequent attempts to establish connections have at least one aspect associated with previous attempts.

5. The method as recited in claim 4 , wherein the at least one aspect includes an IP address.

6. The method as recited in claim 4 , wherein the at least one aspect includes a TCP port.

7. The method as recited in claim 4 , wherein the hash serves as a pointer to the data stored in the portion of the memory, and the data includes a control block.

8. The method as recited in claim 7 , wherein a plurality of control blocks associated with connection attempts are smaller in size with respect to a plurality of control blocks associated with open connections.

9. The method as recited in claim 7 , wherein the control block includes a handle, IP addresses, TCP ports, and a timestamp.

10. The method as recited in claim 1 , wherein the memory includes a first memory for being allocated for the data associated with connection attempts.

11. The method as recited in claim 10 , wherein a second memory logically separate from the first memory is allocated for data associated with open connections so that overload of the first memory does not affect the open connections.

12. The method as recited in claim 11 , wherein the second memory is allocated for a second-type of control block that is larger in size with respect to a first-type of control block for which the first memory is allocated.

13. The method as recited in claim 1 , and further comprising de-allocating the portion of the memory, upon receipt of a handshake acknowledgement of the first connection attempt.

14. The method as recited in claim 13 , and further comprising allocating a portion of another memory for an open connection, upon the first connection attempt being successful.

15. The method as recited in claim 1 , wherein the memory overload results from a denial-of-service attack.

16. The method as recited in claim 1 , wherein each attempt to establish a connection on the network is processed by sending a synchronize packet to a processor to determine whether the synchronize packet is to be accepted.

17. The method as recited in claim 1 , wherein each attempt to establish connection on the network is processed by utilizing an offload engine to determine whether a synchronize packet is to be accepted.

18. An offload engine sub-system for establishing network connections while avoiding ramifications of memory overload, comprising:

an offload engine for identifying a first attempt to establish a connection on a network, and allocating a portion of memory for storing data associated with the connection;

wherein the portion of the memory is overwritten to avoid overload of the memory if a subsequent second attempt to establish a connection has at least one aspect associated with the first attempt;

wherein each attempt to establish the connection on the network is carried out by identifying a packet, wherein said packet is a synchronize packet;

wherein the portion of memory is allocated for the synchronize packet, and where the portion of memory is overwritten by connection parameters for a second synchronize packet if a hash generated for the second synchronize packet has at least one aspect associated with a hash generated for the synchronize packet.

19. A system for establishing network connections while avoiding ramifications of memory overload, comprising:

a processor;

an offload engine in communication with the processor and a network via a bus, the offload engine for identifying a first attempt to establish a connection on the network, and allocating a portion of memory for storing data associated with the connection;

wherein the portion of the memory is overwritten to avoid overload of the memory if a subsequent second attempt to establish a connection has at least one aspect associated with the first attempt;

wherein each attempt to establish the connection on the network is carried out by identifying a packet, wherein said packet is a synchronize packet;

wherein the portion of memory is allocated for the synchronize packet, and where the portion of memory is overwritten by connection parameters for a second synchronize packet if a hash generated for the second synchronize packet has at least one aspect associated with a hash generated for the synchronize packet.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 20, 2004
From: IREADY CORPORATION
To: NVIDIA CORPORATION
Reel/Frame 015377/0829 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2004
From: IREADY CORPORATION
To: NVIDIA CORPORATION
Reel/Frame 015320/0112 →
TERMINATION OF SECURITY INTEREST IN PATENTS Recorded Apr 23, 2004
From: LANZA TECHVENTURE, AS COLLATERAL AGENT
To: IREADY CORPORATION
Reel/Frame 014556/0307 →
SECURITY INTEREST Recorded Mar 15, 2004
From: IREADY CORPORATION
To: LANZA TECHVENTURE AS COLLETERAL AGENT
Reel/Frame 014428/0212 →
SECURITY AGREEEMENT Recorded Mar 11, 2004
From: IREADY CORPORATION
To: LANZA TECHVENTURE, COLLATERAL AGENT
Reel/Frame 014409/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2003
From: MINAMI, JOHN SHIGETO; JOHNSON, MICHAEL WARD; UYESHIRO, ROBIN YASU
To: IREADY CORPORATION
Reel/Frame 014833/0815 →