System and method for transparently redirecting client requests for content using a front-end indicator to preserve the validity of local caching at the client system
First Claim
1. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a method of transparently redirecting a request for content such that the client system is unaware of the redirection, the method comprising the front-end server performing the acts of:
- receiving a request for the content from the client system, the front-end server making it appear as if the front-end server is the source of the content, which actually is stored at a back-end server;
directing the request to a particular back-end server;
receiving from the particular back-end server, a redirect response identifying one or more other back-end servers where the content is stored;
automatically and without client system intervention, redirecting the request to a redirect back-end server, the redirect back-end server being one of the one or more other back-end servers identified in the redirect response;
receiving the requested content from the redirect back-end server; and
sending the requested content to the client system from the front-end server so that any local caching of the content received from the front-end server remains valid at the client system regardless of which of the one or more back-end servers actually stores the content.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and computer program products for transparently redirecting a request for content such that a client system is unaware of the redirection. A client requests content through a front-end server that provides a single point of access for content stored on one or more back-end servers. The single point of access makes it so the client does not know and does not care which particular back-end server stores the requested content. When a back-end server provides a redirect response for content that the back-end server does not store, the front-end server receives the redirect response and reissues the request to a server identified in the redirect response. A front-end server indicator is added to requests so that the back-end server knows the request is from a front-end server. This allows the back-end server to provide a list of servers in the redirect response without causing errors in clients making direct requests to back-end servers when the clients are unable to process a list of servers contained in a redirect response.
-
Citations
25 Claims
-
1. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a method of transparently redirecting a request for content such that the client system is unaware of the redirection, the method comprising the front-end server performing the acts of:
-
receiving a request for the content from the client system, the front-end server making it appear as if the front-end server is the source of the content, which actually is stored at a back-end server;
directing the request to a particular back-end server;
receiving from the particular back-end server, a redirect response identifying one or more other back-end servers where the content is stored;
automatically and without client system intervention, redirecting the request to a redirect back-end server, the redirect back-end server being one of the one or more other back-end servers identified in the redirect response;
receiving the requested content from the redirect back-end server; and
sending the requested content to the client system from the front-end server so that any local caching of the content received from the front-end server remains valid at the client system regardless of which of the one or more back-end servers actually stores the content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a method of redirecting a request for content directed to a particular back-end server when the content is not stored at the particular back-end server, the method comprising the back-end server performing the acts of:
-
receiving a content request from the client system through the front-end server, the content request including a front-end indicator in order to indicate that the front-end server is making the content request on behalf of the client system;
examining the content request for the front-end indicator;
if the front-end indicator is present in the content request, creating a redirect response to the content request that includes a list identifying a plurality of redirect back-end servers where the content is stored so that the front-end server can load balance among the plurality of redirect back-end servers capable of satisfying the content request, and otherwise creating a redirect response to the content request that includes a single redirect back-end server where the content is stored; and
sending the redirect response to the front-end server so that the front-end server can redirect the request to one or more redirect back-end servers. - View Dependent Claims (11, 12)
-
-
13. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a method of transparently redirecting a request for content such that the client system is unaware of the redirection, the method comprising the front-end server performing:
-
an act of receiving a request for the content from the client system as if the front-end server were the source of content stored at the one or more back-end servers;
a step for querying a particular back-end server for the requested content, wherein the response to the query identifies one or more other back-end servers where the content is stored, the one or more other back-end servers being either inaccessible or unknown to the client system;
a step for, automatically and without user intervention, retrieving the requested content from a redirect back-end server, the redirect back-end server being one of the one or more other back-end servers identified in the query response; and
an act of sending the requested content to the client system from the front-end server so that any local caching of the requested content received from the front-end server remains valid at the client system even if the requested content later moves from the redirect back-end server or is retrieved from a back-end server other than the redirect back-end server. - View Dependent Claims (14, 15, 16)
-
-
17. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a computer program product for implementing a method of transparently redirecting a request for content such that the client system is unaware of the redirection, comprising:
-
a computer readable medium for carrying machine-executable instructions for implementing the method; and
wherein said method is comprised of machine-executable instructions for the front-end server performing the acts of;
receiving a request for the content from the client system, the front-end server making it appear as if the front-end server is the source of the content, which actually is stored at a back-end server;
directing the request to a particular back-end server;
receiving from the particular back-end server, a redirect response identifying one or more other back-end servers where the content is stored;
automatically and without client system intervention, redirecting the request to a redirect back-end server, the redirect back-end server being one of the one or more other back-end servers identified in the redirect response;
receiving the requested content from the redirect back-end server; and
sending the requested content to the client system from the front-end server so that any local caching of the content received from the front-end server remains valid at the client system regardless of which of the one or more back-end servers actually stores the content. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. In a computerized system that includes a client system, a front-end server, and one or more back-end servers, all interconnected with a communication link, a computer program product for implementing a method of redirecting a request for content directed to a particular back-end server when the content is not stored at the particular back-end server, comprising:
-
a computer readable medium for carrying machine-executable instructions for implementing the method; and
wherein said method is comprised of machine-executable instructions for the particular back-end server performing the acts of;
receiving a request for the content from the client system through the front-end server, the request including a front-end indicator in order to indicate that the front-end server is making the request on behalf of the client system;
examining the content request for the front-end indicator;
if the front-end indicator is present in the content request, creating a redirect response to the request that includes a list identifying a plurality of redirect back-end servers where the content is stored so that the front-end server can load balance among the plurality of redirect back-end servers capable of satisfying the content request, and otherwise creating a redirect response to the content request that includes a single redirect back-end server where the content is stored; and
sending the redirect response to the front-end server so that the front-end server can redirect the request to one or more redirect back-end servers. - View Dependent Claims (24, 25)
-
Specification