Methods and systems for implementing a cache model in a prefetching system
First Claim
1. A method of enhancing prefetch operations, the method comprising:
- storing, at a server-side proxy, a cache model for a client device'"'"'s browser cache, wherein the cache model comprises a copy of caching instructions for objects previously downloaded to the client device and referenced by the cache model, wherein the caching instructions for each object referenced by the cache model indicates an expiration time of the respective object at the client device and includes an object-specific caching instruction;
receiving a web page at the server-side proxy in response to a request for the web page from the client device;
identifying, at the server-side proxy, a prefetchable reference to the object in the web page;
determining, at the server-side proxy using the copy of the caching instructions, that the previously downloaded object does not satisfy the caching instructions;
in response to the determination, sending a prefetch request for the object from the server-side proxy to a web server;
receiving, at the server-side proxy, a prefetched response to the prefetch request from the web server, the prefetched response indicating that the object has not been changed since being previously downloaded; and
transmitting the prefetched response to a client-side proxy to use the previously downloaded object in response to a subsequent request for the object from the client device.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to systems and methods of enhancing prefetch operations. The method includes fetching an object from a page on a web server. The method further includes storing, at a proxy server, caching instructions for the fetched object. The proxy server is connected with the client and the object is cached at the client. Furthermore, the method includes identifying a prefetchable reference to the fetched object in a subsequent web page and using the caching instructions stored on the proxy server to determine if a fresh copy of the object will be requested by the client. Further, the method includes, based on the determination that the object will be requested, sending a prefetch request for the object using an If-Modified-Since directive, and transmitting a response to the If-Modified-Since directive prefetch request to a proxy client.
59 Citations
24 Claims
-
1. A method of enhancing prefetch operations, the method comprising:
-
storing, at a server-side proxy, a cache model for a client device'"'"'s browser cache, wherein the cache model comprises a copy of caching instructions for objects previously downloaded to the client device and referenced by the cache model, wherein the caching instructions for each object referenced by the cache model indicates an expiration time of the respective object at the client device and includes an object-specific caching instruction; receiving a web page at the server-side proxy in response to a request for the web page from the client device; identifying, at the server-side proxy, a prefetchable reference to the object in the web page; determining, at the server-side proxy using the copy of the caching instructions, that the previously downloaded object does not satisfy the caching instructions; in response to the determination, sending a prefetch request for the object from the server-side proxy to a web server; receiving, at the server-side proxy, a prefetched response to the prefetch request from the web server, the prefetched response indicating that the object has not been changed since being previously downloaded; and transmitting the prefetched response to a client-side proxy to use the previously downloaded object in response to a subsequent request for the object from the client device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for enhancing prefetch operations, the system comprising:
a server-side proxy connected with a client device via a client-side proxy, wherein the client-side proxy is configured to transmit an object request and store an object previously downloaded to a browser cache of the client device, and wherein the server-side proxy comprises one or more processors in communication with one or more memories storing instructions, the one or more processors executing the instructions to; store a cache model for client device'"'"'s browser cache, wherein the cache model comprises a copy of caching instructions for objects previously downloaded to the client device and referenced by the cache model, wherein the caching instructions for each object referenced by the cache model indicates an expiration time of the respective object at the client device and includes an object-specific caching instruction; receive a web page responsive to a request for the web page from the client device; identify a prefetchable reference to the object in the web page; determine, using the copy of the caching instructions, that the previously downloaded object does not satisfy the caching instructions; in response to the determination, send a prefetch request for the object to a web server; receive a prefetched response to the prefetch request from the web server, the prefetched response indicating that the object has not been changed since being previously downloaded; and transmit the prefetched response to the client-side proxy to use the previously downloaded object in response to a subsequent request for the object from the client device. - View Dependent Claims (18)
-
19. A method of enhancing prefetch operations, the method comprising:
-
storing, at a client-side proxy, an object; receiving, at the client-side proxy, a prefetched response to a server-side proxy request for the object, wherein the prefetched response indicates that the object is a current copy of the object from a content server, wherein the server side proxy comprises a cache model for a client device'"'"'s browser cache, the cache model comprising a copy of caching instructions for objects previously downloaded to the client device and referenced by cache model, wherein the caching instructions for each object referenced by the cache model indicates an expiration time of the respective object at the client device and includes an object-specific caching instruction, and wherein the server-side proxy request for the object is created in response to a determination by the server-side proxy using the copy of the caching instructions that the object does not satisfy the caching instructions for using the object; receiving, at the client-side proxy, a request for the object from the client device; and responding to the request for the object from the client device, by the client-side proxy, using the prefetched response. - View Dependent Claims (20, 21)
-
-
22. A system for enhancing prefetch operations, the system comprising:
a client-side proxy at a client device, the client-side proxy connected to a server-side proxy, wherein the client-side proxy comprises one or more processors in communication with one or more memories storing instructions, the one or more processors executing the instructions to; store an object; receive a prefetched response to a server-side proxy request for the object, wherein the prefetched response indicates that the object is a current copy of the object from a content server, wherein the server side proxy comprises a cache model for a client device'"'"'s browser cache, the cache model comprising a copy of caching instructions for object previously downloaded to the client device and referenced by cache model, wherein the caching instructions for each object referenced by the cache model indicates an expiration time of the respective object at the client device and includes an object-specific caching instruction, and wherein the server-side proxy request for the object is created in response to a determination by the server-side proxy using the copy of the caching instructions that the object does not satisfy the caching instructions for using the object; receive a request for the object from the client device; and respond to the request for the object from the client device using the prefetched response. - View Dependent Claims (23, 24)
Specification