High performance server farm with tagging and pipelining
First Claim
1. A network switch for switching transaction requests among a plurality of servers, the network switch being positioned between the plurality of servers and at least one client, comprising:
- a parser operable to parse transaction requests to locate one or more selected fields;
a router operable to forward at least portions of the transaction requests to respective servers in the plurality of servers and transaction responses of the respective servers to the transaction requests to respective clients; and
a tag generator operable to generate a tag associated with a selected server in the plurality of servers, the server being operable to provide information requested by a transaction request, whereby, when a subsequent transaction request is received from the client corresponding to the tagged transaction request, the subsequent transaction request includes the tag and, based on the tag, the router forwards the subsequent transaction request to the selected server.
19 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to a network switch that determines when specific content is hot and directs flow to one or more cache servers. The architecture can include a tag generator to generate unique tags corresponding to a server in a plurality of servers, a content pre-fetching algorithm to retrieve information before the information is requested by determining the hotness of the information, and a cache server in which stored information is configured based upon the relative degrees of hotness of the stored information.
508 Citations
44 Claims
-
1. A network switch for switching transaction requests among a plurality of servers, the network switch being positioned between the plurality of servers and at least one client, comprising:
-
a parser operable to parse transaction requests to locate one or more selected fields;
a router operable to forward at least portions of the transaction requests to respective servers in the plurality of servers and transaction responses of the respective servers to the transaction requests to respective clients; and
a tag generator operable to generate a tag associated with a selected server in the plurality of servers, the server being operable to provide information requested by a transaction request, whereby, when a subsequent transaction request is received from the client corresponding to the tagged transaction request, the subsequent transaction request includes the tag and, based on the tag, the router forwards the subsequent transaction request to the selected server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for switching transaction requests, comprising:
-
receiving, from a first source, a transaction response associated with first source, the transaction response corresponding to at least a first transaction request;
parsing the transaction response to locate at least a first field;
determining a first tag identifying the first source;
appending the first tag to the first field in the transaction response;
reassembling the transaction response; and
forwarding the transaction response to a destination identified by the transaction response. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31)
-
-
25. A system for switching transaction requests among a plurality of servers, comprising:
-
an input port for receiving, from a first server in the plurality of servers, a transaction response of the first server, the transaction response corresponding to at least a first transaction request;
means for parsing the transaction response to locate at least a first field;
means for determining a first tag identifying the first server;
means for appending the first tag to the first field in the transaction response;
means for reassembling the transaction response; and
means for forwarding the transaction response to a client identified by the transaction response.
-
-
32. A system, comprising:
-
a communications network;
a plurality of replicated servers connected to the network, all of the replicated servers having a same network address and all of the replicated servers serving the same replicated information, each of the replicated servers being configured to receive a first transaction request associated with an individual transaction and to provide a response to the first transaction request, the response including a first tag that corresponds to the transaction, the first tag being generated by a first replicated server; and
a network switch connecting the replicated servers to the network, the network switch being configured to generate a second tag associated with the first replicated server, to append the second tag to the first tag in the response, and to direct to the first replicated server subsequently received transaction requests including the first and second tags. - View Dependent Claims (33, 34, 35, 37, 38, 39, 40, 41)
-
-
36. A method for providing information from a server to a client, comprising:
-
receiving a first transaction request requesting first information, the first information referencing at least second and third information;
retrieving the first information;
providing the first information to the client;
determining which of the second and third information has been more frequently requested by clients during a first selected time interval;
retrieving the more frequently requested of the second and third information and/or an address associated therewith;
thereafter receiving a second transaction request from the client requesting the more frequently requested of the second and third information; and
providing the more requested of the second and third information to the client.
-
-
42. A method for configuring stored information in at least one cache server, comprising:
-
comparing first and second hot reference counters corresponding to first and second information to determine which of the first and second information is more frequently requested; and
storing the more frequently requested of the first and second information in a first location and the less frequently requested of the first and second information in a second location and wherein the first location is more accessible than the second location. - View Dependent Claims (43, 44)
-
Specification