Methods and apparatus for directing a flow of data between a client and multiple servers
First Claim
1. In a network device, a method for managing communication between a client and multiple servers, the method comprising the steps of:
- receiving a set of data requests, each data request belonging to a single connection session;
providing a first data pathway between the client and a first server through the network device in response to a first data request of the set of data requests, the first data pathway including a portion of the first data pathway that extends between the client and the network device, wherein the step of providing the first data pathway comprises the steps of;
establishing, as the portion of the first data pathway, a first network connection between the client and the network device;
establishing a second network connection between the network device and the first server; and
providing a second data pathway between the client and a second server through the network device in response to a second data request of the set of data requests, the second data pathway including the portion of the first data pathway that extends between the client and the network device, wherein the step of providing the second data pathway comprises the steps of;
maintaining the first network connection between the client and the network device;
sending a request to the first server to close the second network connection between the network device and the first server; and
in response to sending the request to the first server to close the second network connection, establishing a third network connection between the network device and the second server.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention is directed to techniques for managing communication between a client and multiple servers over a network through an intermediary network device (e.g., content switch). In response to a request for content from a client, the network device selects a server to respond to the request. The network device includes a flow manager that manages the flow of data from the server through the network device to the client. In response to a second request, the network device may select a different server to respond to the request. In this case, the flow manager manages the flow of data from the new server through the network device transparently for the client, so that the client communicates only through the network device regardless of which server is providing the response to the requests.
-
Citations
20 Claims
-
1. In a network device, a method for managing communication between a client and multiple servers, the method comprising the steps of:
-
receiving a set of data requests, each data request belonging to a single connection session;
providing a first data pathway between the client and a first server through the network device in response to a first data request of the set of data requests, the first data pathway including a portion of the first data pathway that extends between the client and the network device, wherein the step of providing the first data pathway comprises the steps of;
establishing, as the portion of the first data pathway, a first network connection between the client and the network device;
establishing a second network connection between the network device and the first server; and
providing a second data pathway between the client and a second server through the network device in response to a second data request of the set of data requests, the second data pathway including the portion of the first data pathway that extends between the client and the network device, wherein the step of providing the second data pathway comprises the steps of;
maintaining the first network connection between the client and the network device;
sending a request to the first server to close the second network connection between the network device and the first server; and
in response to sending the request to the first server to close the second network connection, establishing a third network connection between the network device and the second server. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A network device for managing communication between a client and multiple servers, the network device comprising:
-
an input/output controller configured to receive a set of data requests, each data request belonging to a single connection session; and
a flow manager in communication with the input/output controller, the flow manager configured to;
provide a first data pathway between the client and a first server through the input/output controller in response to a first data request of the set of data requests, the first data pathway including a portion of the first data pathway that extends between the client and the input/output controller, the flow manager, when providing the first data pathway is configured to;
establish, as the portion of the first data pathway, a first network connection between the client and the network device; and
establish a second network connection between the network device and the first server; and
provide a second data pathway between the client and a second server through the input/output controller in response to a second data request of the set of data requests, the second data pathway including the portion of the first data pathway that extends between the client and the input/output controller, the flow manager, when providing the second data pathway is configured to;
maintain the first network connection between the client and the network device;
send a request to the first server to close the second network connection between the network device and the first server; and
in response to sending the request to the first server to close the second network connection, establish a third network connection between the network device and the second server. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A network device for managing communication between a client and multiple servers, the network device comprising:
-
an input/output controller configured to receive a set of data requests, each data request belonging to a single connection session; and
managing means for managing data flow, the managing means in communication with the input/output controller, wherein the managing means is configured to;
provide a first data pathway between the client and a first server through the input/output controller in response to a first data request of the set of data requests, the first data pathway including a portion of the first data pathway that extends between the client and the input/output controller, the managing means, when providing the first data pathway is configured to;
establish, as the portion of the first data pathway, a first network connection between the client and the network device; and
establish a second network connection between the network device and the first server; and
provide a second data pathway between the client and a second server through the input/output controller in response to a second data request of the set of data requests, the second data pathway including the portion of the first data pathway that extends between the client and the input/output controller, the managing means, when providing the second data pathway is configured to;
maintain the first network connection between the client and the network device;
send a request to the first server to close the second network connection between the network device and the first server; and
in response to sending the request to the first server to close the second network connection, establish a third network connection between the network device and the second server.
-
-
14. A computer program product that includes a computer readable medium having instructions stored thereon for managing communications in a network device between a client and multiple servers, such that the instructions, when carried out by a computer, cause the computer to perform the steps of:
-
receiving a set of data requests, each data request belonging to a single connection session;
providing a first data pathway between the client and a first server through the network device in response to a first data request of the set of data requests, the first data pathway including a portion of the first data pathway that extends between the client and the network device, wherein the step of providing the first data pathway comprises the steps of;
establishing, as the portion of the first data pathway, a first network connection between the client and the network device;
establishing a second network connection between the network device and the first server; and
providing a second data pathway between the client and a second server through the network device in response to a second data request of the set of data requests, the second data pathway including the portion of the first data pathway that extends between the client and the network device, wherein the step of providing the second data pathway comprises the steps of;
maintaining the first network connection between the client and the network device;
sending a request to the first server to close the second network connection between the network device and the first server; and
in response to sending the request to the first server to close the second network connection, establishing a third network connection between the network device and the second server.
-
-
15. In a network device, a method for managing communication between a client and a plurality of servers comprising:
-
receiving a set of data requests, each data request belonging to a single connection session;
in response to receiving a first data request of the set of data requests, establishing (i) a first network connection between the client and the network device and (ii) a second network connection between the network device and a first server, the first network connection and the second network connection forming a first data pathway between the client and the first server through the network device; and
in response to receiving a second data request of the set of data requests;
terminating the second network connection between the network device and the first server, and establishing a third network connection between the network device and a second server, the first network connection between the client and the network device and the third network connection between the network device and the second server forming a second data pathway between the client and a second server through the network device. - View Dependent Claims (16, 17)
-
-
18. A network device for managing communication between a client and multiple servers, the network device comprising:
-
an input/output controller configured to receive a set of data requests, each data request belonging to a single connection session; and
a flow manager in communication with the input/output controller, the flow manager configured to;
in response to receiving a first data request of the set of data requests by the input/output controller, establish (i) a first network connection between the client and the network device and (ii) a second network connection between the network device and a first server, the first network connection and the second network connection forming a first data pathway between the client and the first server through the network device; and
in response to receiving a second data request of the set of data requests by the input/output controller;
terminate the second network connection between the network device and the first server, and establish a third network connection between the network device and a second server, the first network connection between the client and the network device and the third network connection between the network device and the second server forming a second data pathway between the client and a second server through the network device. - View Dependent Claims (19, 20)
-
Specification