Precomputation of web documents
First Claim
Patent Images
1. A method for improving the efficiency of document presentation, the method comprising:
- precomputing dynamic content anticipated to be requested by a particular user computer from a content server;
storing said precomputed dynamic content in a cache at a proxy server between said content server and said user computer;
intercepting, at said proxy server, a request from said user computer to said content server for a document expected to include said dynamic content;
determining a load on said content server, and prorating an amount of precomputation based upon said load;
using said precomputed dynamic content in responding to said request from said user computer; and
managing freshness of said precomputed dynamic content, said freshness determined by validity enforcement techniques.
4 Assignments
0 Petitions
Accused Products
Abstract
Techniques are disclosed for anticipating a user'"'"'s request for documents or other content from a server (typically via a URL), precomputing the anticipated content, and caching the precomputed information at a cache in proximity to the content server. The cache stores the response to the anticipated request, until the user requests the same content. The anticipated requests can be precomputed based on triggers reflecting users'"'"' historical access patterns.
111 Citations
24 Claims
-
1. A method for improving the efficiency of document presentation, the method comprising:
-
precomputing dynamic content anticipated to be requested by a particular user computer from a content server; storing said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; intercepting, at said proxy server, a request from said user computer to said content server for a document expected to include said dynamic content; determining a load on said content server, and prorating an amount of precomputation based upon said load; using said precomputed dynamic content in responding to said request from said user computer; and managing freshness of said precomputed dynamic content, said freshness determined by validity enforcement techniques. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-readable medium for improving the efficiency of document presentation, comprising logic instructions that when executed:
-
precompute dynamic content anticipated to be requested by a particular user computer from a content server; store said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; intercept, at said proxy server, a request from the user computer to said content server for a document expected to include said dynamic content; determining a load on said content server, and prorating an amount of precomputation based upon said load; use said precomputed dynamic content in responding to said request from said user computer; and manage freshness of the precomputed dynamic content, the freshness determined by validity enforcement techniques. - View Dependent Claims (14, 15, 16, 17)
-
-
18. Apparatus for improving the efficiency of document presentation, the apparatus comprising:
-
means for precomputing dynamic content anticipated to be requested by a particular user computer from a content server; means for storing said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; means for intercepting, at said proxy server, a request from said user computer to said content server for a document expected to include said dynamic content; means for determining a load on said content server, and prorating an amount of precomputation based upon said load; means for using said precomputed dynamic content in responding to said request from said user computer; and means for managing freshness of said precomputed dynamic content, the freshness determined by validity enforcement techniques.
-
-
19. A proxy server for improving the efficiency of document presentation from a content server to a user, comprising:
-
a computational module for precomputing dynamic content anticipated to be requested by a particular user computer from a content server; a cache for storing said precomputed dynamic content anticipated to be requested by said user computer and to manage said freshness of the precomputed dynamic content via validity enforcement techniques; and an interface connectable to said user computer and configured to; intercept a request from said user computer to said content server for a document expected to include said dynamic content; determine a load on said content server, and prorating an amount of precomputation based upon said load; and serve said precomputed dynamic content to said user computer. - View Dependent Claims (20, 21)
-
-
22. A method for improving the efficiency of document presentation, the method comprising:
-
precomputing dynamic content anticipated to be requested by a particular user computer from a content server; storing said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; intercepting, at said proxy server, a request from said user computer to said content server for a document expected to include said dynamic content; using said precomputed dynamic content in responding to said request from said user computer; managing freshness of said precomputed dynamic content, said freshness determined by validity enforcement techniques; and determining freshness based upon said validity enforcement techniques which include finding a difference between a moving average of a response time and a desired response time in retrieving a cache value, starting with an initial response time and determining exponential growth of this initial response time up to an optional preset time limit so long as said moving average of said response time exceeds a desired response time, setting a manual expiry time for a cache value, and using an expiration of a cache value on a message board as a basis to determine an expiry time.
-
-
23. A computer-readable medium for improving the efficiency of document presentation, comprising logic instructions that when executed:
-
precompute dynamic content anticipated to be requested by a particular user computer from a content server; store said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; intercept, at said proxy server, a request from the user computer to said content server for a document expected to include said dynamic content; use said precomputed dynamic content in responding to said request from said user computer; manage freshness of the precomputed dynamic content, the freshness determined by validity enforcement techniques; and determine freshness based upon said validity enforcement techniques which include finding a difference between a moving average of a response time and a desired response time in retrieving a cache value, starting with an initial response time and determining exponential growth of this initial response time up to an optional preset time limit so long as said moving average of said response time exceeds a desired response time, setting a manual expiry time for a cache value, and using an expiration of a cache value on a message board as a basis to determine an expiry time.
-
-
24. A method for improving the efficiency of document presentation, the method comprising:
-
precomputing dynamic content anticipated to be requested by a particular user computer from a content server; storing said precomputed dynamic content in a cache at a proxy server between said content server and said user computer; intercepting, at said proxy server, a request from said user computer to said content server for a document expected to include said dynamic content; using said precomputed dynamic content in responding to said request from said user computer; managing freshness of said precomputed dynamic content, said freshness determined by validity enforcement techniques; determining freshness based upon said validity enforcement techniques which include finding a difference between a moving average of a response time and a desired response time in retrieving a cache value, starting with an initial response time and determining exponential growth of this initial response time up to an optional preset time limit so long as said moving average of said response time exceeds a desired response time, setting a manual expiry time for a cache value, and using an expiration of a cache value on a message board as a basis to determine an expiry time; monitoring said load of a content server; and prorating an amount of precomputation, said prorating occurring where a load on the content server is heavy.
-
Specification