Method and system for reducing memory used for idle connections
First Claim
1. A method of forwarding messages over a network, comprising:
- creating a first TCP/IP connection between a network device and a client;
creating a second TCP/IP connection between the network device and a server;
storing essential TCP/IP connection information associated with each of the first TCP/IP connection and the second TCP/IP connection in a connection object;
allocating a memory for, and storing therein, non-essential TCP/IP connection information in the connection object;
forwarding a first message between the client and the server using the connection object;
saving on a computer storage medium accessible by the network device the essential TCP/IP connection information that was stored in the connection object and freeing the memory allocated in the connection object for non-essential TCP/IP connection information;
receiving, at the network device, a second message from the client;
copying the saved essential TCP/IP connection information into a new connection object; and
forwarding the second message to the server using the new connection object.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for reducing memory required to maintain connection states in a traffic manager. A network device receives a message from a client in which at least a portion of the message is to be forward to a first server. If the network device is maintaining information for facilitating a first connection with a second server, the network device maintains a subset of the information for use in restoring the first connection and frees memory associated with information that is not needed for restoring the first connection. The network device then employs other previously stored information to restore the state of a second connection to the first server. The network device then sends at least a portion of the message to the first server using the second connection.
-
Citations
18 Claims
-
1. A method of forwarding messages over a network, comprising:
-
creating a first TCP/IP connection between a network device and a client; creating a second TCP/IP connection between the network device and a server; storing essential TCP/IP connection information associated with each of the first TCP/IP connection and the second TCP/IP connection in a connection object; allocating a memory for, and storing therein, non-essential TCP/IP connection information in the connection object; forwarding a first message between the client and the server using the connection object; saving on a computer storage medium accessible by the network device the essential TCP/IP connection information that was stored in the connection object and freeing the memory allocated in the connection object for non-essential TCP/IP connection information; receiving, at the network device, a second message from the client; copying the saved essential TCP/IP connection information into a new connection object; and forwarding the second message to the server using the new connection object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable storage medium having computer-executable instructions for forwarding network messages, comprising:
-
creating a first TCP/IP connection between a network device and a client; creating a second TCP/IP connection between the network device and a server; storing essential TCP/IP connection information associated with each of the first TCP/IP connection and the second TCP/IP connection in a connection object; allocating a memory for, and storing therein, non-essential TCP/IP connection information in the connection object; forwarding a first message between the client and the server using the connection object; determining if the second TCP/IP connection is not in use; if the second TCP/IP connection is determined to be not in use, saving on a computer storage medium accessible by the network device the essential TCP/IP connection information that was stored in the connection object and freeing the memory allocated in the connection object for non-essential TCP/IP connection information; receiving, at the network device, a second message from the client; copying the saved essential TCP/IP connection information into a new connection object; and forwarding the second message to the server using the new connection object. - View Dependent Claims (12, 13, 14)
-
-
15. An apparatus for forwarding network traffic, comprising:
-
a non-transitory computer storage medium configured to store TCP/IP connection information associated with connections between clients and servers; and circuitry coupled to the computer storage medium, wherein the circuitry is arranged to perform actions, comprising; creating a first TCP/IP connection between a network device and a client; creating a second TCP/IP connection between the network device and a server; storing essential TCP/IP connection information associated with each of the first TCP/IP connection and the second TCP/IP connection in a connection object; allocating a memory for, and storing therein, non-essential TCP/IP connection information in the connection object; forwarding a first message between the client and the server using the connection object; saving on a computer storage medium accessible by the network device the essential TCP/IP connection information that was stored in the connection object and freeing the memory allocated in the connection object for non-essential TCP/IP connection information; receiving, at the network device, a second message from the client; copying the saved essential TCP/IP connection information into a new connection object; and forwarding the second message to the server using the new connection object. - View Dependent Claims (16, 17)
-
-
18. An apparatus for forwarding network traffic, comprising:
-
a storage medium that stores state information associated with connections between clients and servers; an interface that receives messages from a client; a means for creating a first TCP/IP connection between a network device and a client; a means for creating a second TCP/IP connection between the network device and a server; a means for storing essential TCP/IP connection information associated with each of the first TCP/IP connection and the second TCP/IP connection in a connection object; a means for allocating a memory for, and storing therein, non-essential TCP/IP connection information in the connection object; a means for forwarding a first message between the client and the server using the connection object; a means for saving on a computer storage medium accessible by the network device the essential TCP/IP connection information that was stored in the connection object and a means for freeing the memory allocated in the connection object for non-essential TCP/IP connection information; a means for receiving, at the network device, a second message from the client; a means for copying the saved essential TCP/IP connection information into a new connection object; and a means for forwarding the second message to the server using the new connection object.
-
Specification