Routing client requests to back-end servers
First Claim
1. A front-end server interconnected with a communication link to a client system and a plurality of back-end servers, the front-end server providing access to content stored at a particular back-end server such that the client system does not need to know which of the plurality of back-end servers store the content, the front-end server comprising:
- one or more processors that execute computer-executable instructions; and
one or more computer readable media with computer-executable instructions to be executed by the one or more processors, the computer-executable instructions comprising;
computer-executable instructions for receiving a request for the content from the client system, the request including a resource identifier that references the front-end server and the content being requested by the client system;
computer-executable instructions for examining a global catalog that dynamically maps the resource identifier to a plurality of back-end servers storing the requested content;
computer-executable instructions for identifying a particular back-end server storing the requested content, from the plurality of back-end servers mapped to the resource identifier in the global catalog, wherein the same particular back-end server is identified for a given request over time, as long as the same particular back-end server is available and stores the content being requested; and
computer-executable instructions for directing the request to the particular back-end server.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and computer program products for using a front-end server to access content stored on one or more back-end servers. The front-end server receives requests for content from client systems. Back-end servers store the content, but to the client system, it appears as if the front-end server is the content'"'"'s source. Upon receiving the request, the front-end server checks the validity of the request and examines a global catalog that dynamically maps client system requests to the back-end server or servers that store the requested content. In some circumstances, the content will be stored at a single back-end server and the front-end server directs the request to that server. Alternatively, a list of back-end servers storing the requested content may be generated. If so, the front-end then uses an authentication token as a key to a hash operation that is performed on the list and a single server that is capable of satisfying the request for content is identified. A given request and authentication token always identify the same server if the list of servers available for providing the requested content remains the same. The front-end server provides a single source for content requests so that client systems are not required to alter requests or invalidate local caches when content is moved from one back-end server to another. The front-end server also provides an additional level of security for back-end servers.
32 Citations
20 Claims
-
1. A front-end server interconnected with a communication link to a client system and a plurality of back-end servers, the front-end server providing access to content stored at a particular back-end server such that the client system does not need to know which of the plurality of back-end servers store the content, the front-end server comprising:
-
one or more processors that execute computer-executable instructions; and one or more computer readable media with computer-executable instructions to be executed by the one or more processors, the computer-executable instructions comprising; computer-executable instructions for receiving a request for the content from the client system, the request including a resource identifier that references the front-end server and the content being requested by the client system; computer-executable instructions for examining a global catalog that dynamically maps the resource identifier to a plurality of back-end servers storing the requested content; computer-executable instructions for identifying a particular back-end server storing the requested content, from the plurality of back-end servers mapped to the resource identifier in the global catalog, wherein the same particular back-end server is identified for a given request over time, as long as the same particular back-end server is available and stores the content being requested; and computer-executable instructions for directing the request to the particular back-end server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A front-end server interconnected with a communication link to a client system and one or more back-end servers, the front-end server providing access to content stored at a particular back-end server such that the client system does not need to know which of the one or more back-end servers store the content, the front-end server comprising:
-
one or more processors that execute computer-executable instructions; one or more computer readable media with computer-executable instructions to be executed by the one or more processors, the computer-executable instructions comprising; computer-executable instructions for receiving a request for the content from the client system, the request including a resource identifier that references the front-end server and the content being requested by the client system; computer-executable instructions for checking the request to insure that the request is a valid request; computer-executable instructions for examining a global catalog that dynamically maps resource identifiers to the one or more back-end servers storing the content; computer-executable instructions for identifying a particular back-end server storing the requested content based on the mappings in the global catalog, wherein the same particular back-end server is identified for a given request over time, as long as the same particular back-end server is available and stores the content being requested; and computer-executable instructions for directing the request to the particular back-end server. - View Dependent Claims (13, 14, 15)
-
-
16. A front-end server interconnected with a communication link to a client system and a plurality of back-end servers, the front-end server providing access to content stored at a particular back-end server such that the client system does not need to know which of the plurality of back-end servers store the content, the front-end server comprising:
-
one or more processors that execute computer-executable instructions; one or more computer readable media with computer-executable instructions to be executed by the one or more processors, the computer-executable instructions comprising; computer-executable instructions for receiving a request for the content from the client system, the request including a resource identifier that references the front-end server and the content being requested by the client system; computer-executable instructions for mapping a request received from the client system to a particular one of a plurality of back-end servers that store the requested content, wherein a given request maps to the same particular back-end server over time, as long as the same particular back-end server is available and stores the content being requested; computer-executable instructions for retrieving the requested content from the particular back-end server; and computer-executable instructions for sending the requested content to the client system. - View Dependent Claims (17, 18, 19, 20)
-
Specification