System, method, and program for balancing cache space requirements with retrieval access time for large documents on the internet
First Claim
1. A method for retrieving a file across a network having at least one server, at least one client, and at least one caching agent, the method comprising:
- receiving, by the caching agent, from the client, a get request for the file of an origin server;
determining a number of bytes (n) of the file that would make up at least a first displayed page of the file wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the at least the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
determining if at least the first portion of the file is stored in a cache of the caching agent; and
if the at least the first portion is stored in the cache;
at a same time, i) transferring, by the caching agent, the at least first portion of the file to the client; and
ii) requesting, by the caching agent, a remaining portion of the file; and
as the requested remaining portion is received, transferring, by the caching agent, the remaining portion of the file to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, method and program stores, in a local cache, only a small part of a large file that is being requested over a network such as the Internet. In a preferred embodiment, the caching agent starts transferring this partial file to the client while it is simultaneously retrieving the remaining portion of the file across the Internet. A preferred embodiment of the invention stores a first page of the browser display in the cache. Other embodiments store more than the first page, or a part of the full file or document, thereby creating a safety margin in storing more than one page. Another preferred embodiment initially stores the full file or document, and if there is a need for cache replacement, the cache is replaced up until the first page is reached. As such, the cache space requirements are minimized for large documents being retrieved over the World Wide Web.
-
Citations
30 Claims
-
1. A method for retrieving a file across a network having at least one server, at least one client, and at least one caching agent, the method comprising:
-
receiving, by the caching agent, from the client, a get request for the file of an origin server;
determining a number of bytes (n) of the file that would make up at least a first displayed page of the file wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the at least the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
determining if at least the first portion of the file is stored in a cache of the caching agent; and
if the at least the first portion is stored in the cache;
at a same time, i) transferring, by the caching agent, the at least first portion of the file to the client; and
ii) requesting, by the caching agent, a remaining portion of the file; and
as the requested remaining portion is received, transferring, by the caching agent, the remaining portion of the file to the client.- View Dependent Claims (2, 3, 4, 5, 6, 7)
i) retrieving, by the caching agent, the file;
ii) transferring the retrieved file to the client; and
iii) storing at least the first portion of the file in the cache.
-
-
4. The method of claim 3 wherein if the stored at least the first portion is greater than the determined number of bytes (n) of the file that would make up the first displayed page, replacing up to the first portion during an event of cache replacement.
-
5. The method of claim 1 wherein the remaining portion is requested from a next entity up an hierarchy of other caching agents and the origin server.
-
6. The method of claim 1 wherein a size of the first portion stored in the cache enables the remaining portion to be retrieved and to begin being transferred to a Web browser on the client before the first portion can be displayed and scrolled at the client from the cache.
-
7. The method of claim 1, wherein the server is an upstream cache.
-
8. A method far retrieving a file across a network having at least one server, at least one client, and at least one caching agent, the method comprising:
-
storing a stored portion of the file in a cache of the caching agent; and
during a cache replacement of the cache, i) determining a number of bytes (n) of the file that would make up a first displayed page of the file wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the first displayed page of the file is determined based upon a determined rendering area for at least one of i) a requesting client and ii) a plurality of potential requesting clients;
ii) keeping the first portion of the file in the cache wherein the first portion is capable of being rendered as a first page of the file on a display of a client;
receiving, by the caching agent, a get request for the file from the requesting client;
determining if at least a first portion of the file is stored in the cache of the caching agent;
at a same time, if the at least the first portion is stored in the cache, i) transferring, by the caching agent, the at least first portion of the file to the requesting client; and
ii) requesting, by the caching agent from a server, the remaining portion of the file; and
transferring, by the caching agent, the remaining portion of the file to the requesting client. - View Dependent Claims (9, 10)
-
-
11. A method for minimizing cache space requirements for a large document being retrieved over the World Wide Web, the method comprising:
-
receiving, by a caching agent from a client, a get request for the document;
determining a number of bytes (n) of the file that would make up a first displayed page of the file, wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
determining that at least the first n bytes of the document is stored in the cache of the caching agent from a previous request for the document;
performing the following steps in parallel;
i) begin transferring, by the caching agent, the first n bytes of the document to the client; and
ii) requesting, by the caching agent to a Web server, the remaining bytes following the first n bytes; and
begin transferring, by the caching agent, the remaining bytes following the first n bytes to the client.
-
-
12. A network system having at least one server, at least one client, and at least one caching agent, the system comprising:
-
means for receiving, by the caching agent, from the client, a get request for a file of an origin server;
means for determining a number of bytes (n) of the file that would make up a first displayed page of the file, wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
means for determining that at least the first portion of the file is stored in a cache of the caching agent; and
if the at least the first portion is stored in the cache;
means for transferring, by the caching agent, the at least first portion of the file to the client in parallel with means for requesting, by the caching agent, a remaining portion of the file; and
means for transferring, by the caching agent, the remaining portion of the file to the client, as the requested remaining portion is received. - View Dependent Claims (13)
-
-
14. A caching agent within a network having at least one server and at least one client, the caching agent comprising:
-
means for receiving a get request for a file from the client;
means for determining a number of bytes (n) of the file that would make up a first displayed page of the file for a display size, wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
means for determining that at least the first portion of the file is stored in a cache of the caching agent;
means for transferring the at least first portion of the file to the client in conjunction with means for requesting from a server the remaining portion of the file; and
means for transferring the remaining portion of the file to the client. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
if the at least the first portion is not stored in the cache;
i) means for retrieving, by the caching agent, the file;
ii) means for transferring the retrieved file to the client; and
iii) means for storing at least the first portion of the file in the cache.
-
-
23. The system of claim 14 wherein if the stored at least the first portion is greater than the determined number of bytes (n) of the file that would make up the first displayed page, means for replacing up to the first portion during an event of cache replacement.
-
24. The system of claim 14 wherein the remaining portion is requested from a next entity up an hierarchy of other caching agents and the origin server.
-
25. The system of claim 14 wherein a size of the first portion stored in the cache enables the remaining portion to be retrieved and to begin being transferred to a Web browser on the client before the first portion can be displayed and scrolled at the client from the cache.
-
26. A caching agent within a network having at least one server and at least one client, the caching agent comprising:
-
means for servicing a request for a file from the client to the server by storing the whole file in a cache of the caching agent;
means for determining a number of bytes (n) of the file that would make up a first displayed page of the file, wherein the a bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
means for keeping the first portion of the file in the cache during a cache replacement of the cache wherein the first portion is capable of being rendered as a first page of the file on a display of the client;
means for receiving a get request for the file from the client;
means for determining that at least the first portion of the file is stored in the cache of the caching agent;
means for transferring, by the caching agent, the at least first portion of the file to the client in conjunction with means for requesting from the server, the remaining portion of the file; and
means for transferring, by the caching agent, the remaining portion of the file to the client.
-
-
27. An article of manufacture having program code on a computer usable medium for enabling a caching agent within a network of at least one server and at least one client to carry out the steps of:
-
receiving a get request, from the client, for a file of an origin server;
determining a number of bytes (n) of the file that would make up at least a first displayed page of the file, wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) of the file that would make up the at least the first displayed page of the file is determined based upon a determined rendering area for at least one of i) the requesting client and ii) a plurality of potential requesting clients;
determining if at least the first portion of the file is stored in a cache of the caching agent; and
if the at least the first portion is stored in the cache;
at a same time, i) transferring the at least first portion of the file to the client; and
ii) requesting, by the caching agent, a remaining portion of the file; and
as the requested remaining portion is received, transferring the remaining portion of the file to the client. - View Dependent Claims (28, 29)
-
-
30. An article of manufacture having program code on a computer usable medium for enabling a caching agent within a network of at least one server and at least one client to carry out the steps of:
-
storing a stored portion of the file from the server in a cache of the caching agent upon a first request of the file;
during a cache replacement of the cache, i) determining a number of bytes (n) of the file that would make up a first displayed page of the file, wherein the n bytes is a first portion of the file, and wherein the determined number of bytes (n) is based upon a determined maximum rendering area for a plurality of potential requesting clients;
ii) keeping the first portion of the file in the cache wherein the first portion is capable of being rendered as a first page of the file on a display of the client;
receiving a get request for the file from the client;
determining if at least a first portion of the file is stored in the cache of the caching agent;
at a same time, if the at least the first portion is stored in the cache, i) transferring the at least first portion of the file to the client; and
ii) requesting from a server the remaining portion of the file; and
transferring the remaining portion of the file to the client.
-
Specification