Methods and systems for implementing a cache model in a prefetching system

US9460229B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9460229-B2
Application numberUS-25218108-A
CountryUS
Kind codeB2
Filing dateOct 15, 2008
Priority dateOct 15, 2007
Publication dateOct 4, 2016
Grant dateOct 4, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2. The method of enhancing prefetch operations of claim 1 , wherein the copy of the caching instructions for the object is stored to a persistent storage device. 3. The method of enhancing prefetch operations of claim 2 , further comprising accessing the persistent storage device when responding to prefetch requests. 4. The method of enhancing prefetch operations of claim 1 , wherein the caching instructions include a checksum value for the object. 5. The method of enhancing prefetch operations of claim 4 , further comprising comparing the checksum value associated with the object with a current checksum received from the web server to determine if the object has changed since it was prefetched. 6. The method of enhancing prefetch operations of claim 5 , further comprising, in response to the checksum values not matching, prefetching an updated copy of the object from the web server. 7. The method of enhancing prefetch operations of claim 6 , wherein the checksum values are stored in an entity tag. 8. The method of enhancing prefetch operations of claim 1 , further comprising maintaining a list of last modified date entries associated with each object previously downloaded to the browser cache. 9. The method of enhancing prefetch operations of claim 8 , wherein determining that the prefetchable reference does not satisfy the caching instructions comprises using the list of last modified date entries. 10. The method of enhancing prefetch operations of claim 1 , further comprising maintaining a list of caching instructions for each object previously downloaded to the browser cache. 11. The method of enhancing prefetch operations of claim 10 , wherein the caching instructions comprise at least one of: a last modified date, an expiration date, caching permitted flag, and an entity tag. 12. The method of enhancing prefetch operations of claim 1 , further comprising storing cache model entries for each object. 13. The method of enhancing prefetch operations of claim 12 , further comprising updating the cache model entries with modified dates received from the prefetch response. 14. The method of claim 1 wherein the caching instructions comprise instructions for all objects downloaded by the server-side proxy on behalf of the client device. 15. The method of claim 14 wherein the cache model further comprises a list of uniform resource locators for all objects downloaded by the server-side proxy on behalf of the client device. 16. The method of claim 1 , further comprising generating an inference based on a pattern of requests for web objects received from the client device; and updating the client caching model based on the inference. 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. 18. The system for enhancing prefetch operations of claim 17 , wherein the server-side proxy comprises a storage device configured to store the caching instructions for the object. 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. 20. The method of claim 19 wherein the server-side proxy request for the object comprises an If-Modified-Since directive communicated to the content server. 21. The method of claim 19 wherein the server-side proxy request for the object comprises an entity tag associated with the object. 22. A system for enhancing prefetch operations, the system com

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9460229B2 cover?
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 prefetch…
Who is the assignee on this patent?
Lepeska Peter, Sebastian William B, Viasat Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30902. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 04 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).