Method and system for selecting a computing device for maintaining a client session in response to a request packet
First Claim
1. An information processing system comprising a first server, the first server including:
- a main processor configured to execute one or more server applications; and
an intelligent network interface controller comprising a network processor and a memory;
wherein the network processor of the intelligent network interface controller is configured to;
store state information in the memory of the intelligent network interface controller from at least the first server and a second server;
in response to receiving a first request packet associated with a first connection from a client, select one of the first server and the second server for maintaining a session with the client based at least in part on the stored state information;
store an association between a session identifier and the selected server in the memory of the intelligent network interface controller;
output the association to at least the second server;
output a response packet to the client, the response packet having a header portion and a data portion, wherein the header portion includes at least one header, and wherein the data portion includes the session identifier;
receive a second request packet associated with a second connection originating from the client and including the session identifier;
determine the server selected to maintain the session using the session identifier and the stored association; and
;
in response to determining that the first server is the server selected to maintain the session, process the second request packet with the main processor of the first server; and
in response to determining that the second server is the server selected to maintain the session, forward the second request packet to the second server;
wherein the network processor of the intelligent network interface controller is further configured to handle requests from clients referencing a single session that is associated with multiple connections.
7 Assignments
0 Petitions
Accused Products
Abstract
A server farm for processing client requests comprising a first server having a first processor and a first network interface controller communicatively coupled to the first processor, and a second server comprising a second processor and communicatively coupled to the first server, wherein the first network interface controller is configured to maintain a state table associated with at least the first server and the second server and respond to receipt of a request packet from a client by, initiating by the first processor execution of a software application associated with the request packet when the state table corresponds to a first state, and selectively forwarding the request packet to the second server when the state table corresponds to a second state.
177 Citations
14 Claims
-
1. An information processing system comprising a first server, the first server including:
-
a main processor configured to execute one or more server applications; and an intelligent network interface controller comprising a network processor and a memory; wherein the network processor of the intelligent network interface controller is configured to; store state information in the memory of the intelligent network interface controller from at least the first server and a second server; in response to receiving a first request packet associated with a first connection from a client, select one of the first server and the second server for maintaining a session with the client based at least in part on the stored state information; store an association between a session identifier and the selected server in the memory of the intelligent network interface controller; output the association to at least the second server; output a response packet to the client, the response packet having a header portion and a data portion, wherein the header portion includes at least one header, and wherein the data portion includes the session identifier; receive a second request packet associated with a second connection originating from the client and including the session identifier; determine the server selected to maintain the session using the session identifier and the stored association; and
;in response to determining that the first server is the server selected to maintain the session, process the second request packet with the main processor of the first server; and in response to determining that the second server is the server selected to maintain the session, forward the second request packet to the second server; wherein the network processor of the intelligent network interface controller is further configured to handle requests from clients referencing a single session that is associated with multiple connections. - View Dependent Claims (2, 3, 4)
-
-
5. A method of handling requests from clients referencing a single session that is associated with multiple connections, the method performed by a network processor of an intelligent network interface controller of a first server of an information processing system, the method comprising:
-
storing state information from at least the first server and a second server in a memory of the intelligent network interface controller; in response to receiving a first request packet associated with a first connection from a client, selecting one of the first server and the second server for maintaining a session with the client based at least in part on the stored state information; storing an association between a session identifier and the selected server in the memory of the intelligent network interface controller; outputting the association to at least the second server; outputting a response packet to the client, the response packet having a header portion and a data portion, the header portion including at least one header, and the data portion including the session identifier; receiving a second request packet associated with a second connection from the client and including the session identifier; determining the server selected to maintain the session using the session identifier and the stored association; and
;in response to determining that the first server is the server selected to maintain the session, providing the second request packet for processing by an application executed by a main processor of the first server; and in response to determining that the second server is the server selected to maintain the session, forwarding the second request packet to the second server. - View Dependent Claims (6, 7, 8)
-
-
9. A computer-readable memory medium containing computer-executable instructions stored thereon, execution of which by a network processor of an intelligent network interface controller of a first server of an information processing system causes the intelligent network interface controller to perform operations in handling requests from clients referencing a single session that is associated with multiple connections, the operations comprising:
-
storing state information from at least the first server and a second server in a memory of the intelligent network interface controller; in response to receiving a first request packet associated with a first connection from a client, selecting one of the first server and the second server for maintaining a session with the client based at least in part on the stored state information; storing an association between a session identifier and the selected server in the memory of the intelligent network interface controller; outputting the association to at least the second server; outputting a response packet to the client, the response packet having a header portion and a data portion, wherein the header portion includes at least one header and the data portion includes the session identifier; receiving a second request packet associated with a second connection from the client and including the session identifier; determining the server selected to maintain the session using the session identifier and the stored association; and
;in response to determining that the first server is the server selected to maintain the session, providing the second request packet for processing by an application executed by a main processor of the first server; and in response to determining that the second server is the server selected to maintain the session, forwarding the second request packet to the second server. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An intelligent network interface controller, comprising:
-
a memory; and a network processor configured to; store state information in the memory from at least a first server and a second server, the first server hosting the intelligent network interface controller and comprising a main processor; in response to receiving a first request packet from a client, select one of the first server and the second server for maintaining a session with the client based at least in part on the stored state information; store, in the memory, an association between a session identifier and the selected server; output the association to at least the second server; output a response packet to the client, the response packet having a header portion and a data portion, wherein the header portion includes at least one header, and the data portion includes the session identifier; receive a second request packet associated with a second connection originating from the client and including the session identifier; determine the server selected to maintain the session using the session identifier and the stored association; and
;in response to determining that the first server is the server selected to maintain the session, provide the second request packet for processing by the main processor of the first server; and in response to determining that the second server is the server selected to maintain the session, forward the second request packet to the second server; wherein the intelligent network interface controller is further configured to handle requests from clients referencing a single session that is associated with multiple connections.
-
Specification