Method and apparatus for dispatching document requests in a proxy
First Claim
1. In a networked computer system that includes a plurality of remote servers, a plurality of proxy servers, and a plurality of client systems, all of which are logically interconnected so that the client systems can access informational content stored at the one or more remote servers, a method of efficiently allocating cache space within the plurality of proxy servers so that requested content is distributively cached at mutually exclusive proxy servers, comprising steps for:
- dividing responsibility for obtaining and caching content among a plurality of proxy servers, wherein at least two proxy servers are responsible for obtaining and caching mutually exclusive content;
receiving a request for content that is available at one or more particular remote servers;
rather than allowing any arbitrary proxy server to obtain and cache the requested content from the one or more particular remote servers, mapping the request to a specific proxy server; and
at the specific proxy server to which the request is mapped, searching for the requested content in a local cache, and if the requested content is found in the local cache, returning it to a client system from which the request was received, and if the requested content is not found, then obtaining the requested content from the one or more particular remote servers and storing it in the local cache, and returning the requested content to the client system from which the request was received.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for dispatching document requests in a proxy to more efficiently allocate the document cache space within the proxy is provided. A proxy includes a document cache storing recently requested documents. The proxy is coupled to a client and to a remote server. A Uniform Resource Locator (“URL”) is included in the document request. The proxy forwards the request to one of a plurality of proxy servers based upon the URL. According to another aspect of the present invention, the proxy performs a hash function on the URL that maps the URL to exactly one of the plurality of proxy servers. Advantageously, in this manner, mutually exclusive portions of the Web'"'"'s content can be allocated to particular proxy servers.
-
Citations
30 Claims
-
1. In a networked computer system that includes a plurality of remote servers, a plurality of proxy servers, and a plurality of client systems, all of which are logically interconnected so that the client systems can access informational content stored at the one or more remote servers, a method of efficiently allocating cache space within the plurality of proxy servers so that requested content is distributively cached at mutually exclusive proxy servers, comprising steps for:
-
dividing responsibility for obtaining and caching content among a plurality of proxy servers, wherein at least two proxy servers are responsible for obtaining and caching mutually exclusive content;
receiving a request for content that is available at one or more particular remote servers;
rather than allowing any arbitrary proxy server to obtain and cache the requested content from the one or more particular remote servers, mapping the request to a specific proxy server; and
at the specific proxy server to which the request is mapped, searching for the requested content in a local cache, and if the requested content is found in the local cache, returning it to a client system from which the request was received, and if the requested content is not found, then obtaining the requested content from the one or more particular remote servers and storing it in the local cache, and returning the requested content to the client system from which the request was received. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In a networked computer system that includes a plurality of remote servers, a plurality of proxy servers and a plurality of client systems, all of which are logically interconnected so that the client systems can access informational content stored at the one or more remote servers, a computer program product for implementing a method of efficiently allocating cache space within the plurality of proxy servers so that requested content is distributively cached at mutually exclusive proxy servers, comprising a computer readable medium for storing executable instructions for implementing the method, wherein the method comprises steps for:
-
dividing responsibility for obtaining and caching content among a plurality of proxy servers, wherein at least two proxy servers are responsible for obtaining and caching mutually exclusive content;
receiving a request for content that is available at one or more particular remote servers;
rather than allowing any arbitrary proxy server to obtain and cache the requested content from the one or more particular remote servers, mapping the request to a specific proxy server; and
at the specific proxy server to which the request is mapped, searching for the requested content in a local cache, and if the requested content is found in the local cache, returning it to a client system from which the request was received, and if the requested content is not found, then obtaining the requested content from the one or more particular remote servers and storing it in the local cache, and returning the requested content to the client system from which the request was received. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. In a networked computer system that includes a plurality of remote servers, a plurality of proxy servers and a plurality of client systems, all of which are logically interconnected so that the client systems can access informational content stored at the one or more remote servers, a method of efficiently allocating cache space within the plurality of proxy servers so that requested content is distributively cached at mutually exclusive proxy servers, comprising acts of:
-
assigning to each of a plurality of proxy servers a mutually exclusive range of content to retrieve from one or more remote servers on behalf of one or more client systems and cache;
hashing at least a portion of a request received from a client system for content that is available at one or more particular remote servers;
rather than allowing any arbitrary proxy server to retrieve and cache the requested content, identifying, with the at least a portion of the hashed request, at least one proxy server assigned to a particular mutually exclusive range of content that corresponds to the requested content; and
at the at least one identified proxy server, examining a local cache for the requested content, and if found in the local cache, sending the requested content to the client system, but if not found in the local cache, retrieving the requested content from the one or more particular remote servers, storing the requested content in the local cache, and sending the requested content to the client system. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. In a networked computer system that includes a plurality of remote servers, a plurality of proxy servers and a plurality of client systems, all of which are logically interconnected so that the client systems can access informational content stored at the one or more remote servers, a computer program product for implementing a method of efficiently allocating cache space within the plurality of proxy servers so that requested content is distributively cached at mutually exclusive proxy servers, comprising a computer readable medium for storing executable instructions for implementing the method, and wherein the method comprises acts of:
-
assigning to each of a plurality of the proxy servers a mutually exclusive range of content to retrieve from one or more remote servers on behalf of one or more client systems and cache;
hashing at least a portion of a request received from a client system for content that is available at one or more particular remote servers;
rather than allowing any arbitrary proxy server to retrieve and cache the requested content, identifying, with at least a portion of the hashed request, at least one proxy server assigned to a particular mutually exclusive range of content that corresponds to the requested content; and
at the at least one identified proxy server, examining a local cache for the requested content, and if found in the local cache, sending the requested content to the client system, but if not found in the local cache, retrieving the requested content from the one or more particular remote servers, storing the requested content in the local cache, and sending the requested content to the client system. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification