Shared cache parsing and pre-fetch
First Claim
1. A computer controlled method for reducing access delays associated with accesses to a proxy cache, said proxy cache having a mass storage, a memory and at least one central processing unit (CPU), said mass storage and said memory storing a plurality of cached objects received from a network from at least one server, said method including steps of:
- providing, by said proxy cache, a specified web document from said at least one server responsive to a request from a client;
parsing, by said proxy cache, said specified web document to identify a set of embedded references;
determining, by said proxy cache, which of said set of embedded references reference a set of not-cached-objects not in said plurality of cached objects;
requesting, by said proxy cache and independent of an additional request from said client, one or more of said set of not-cached-objects responsive to the step of determining;
receiving, by said proxy cache, said one or more of said set of not-cached-objects;
adding, by said proxy cache, said one or more of said set of not-cached-objects to said plurality of cached objects;
determining, by said proxy cache, which of said plurality of cached objects associated with said set of embedded references are in said mass storage but not in said memory; and
copying one or more of said plurality of cached objects in said mass storage but not in said memory from said mass storage to said memory.
12 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a method and system for reducing latency in reviewing and presenting web documents to the user. A cache coupled to one or more web clients request web documents from web servers on behalf of those web clients and communicates those web documents to the web clients for display. The cache parses the web documents as they are received from the web server, identifies references to any embedded objects, and determines if those embedded objects are already maintained in the cache. If those embedded objects are not in the cache, the cache automatically prefetches those embedded objects from the web server without need for a command from the web client. The cache maintains a two-level memory including primary memory and secondary mass storage. At the time the web document is received, the cache determines if any embedded objects are maintained in the cache but are not in primary memory. If those embedded objects are not in primary memory, the cache automatically preloads those embedded objects from secondary mass storage to primary memory without need for a request from the web client. Web documents maintained in the cache are periodically refreshed, so as to assure those web documents are not stale. The invention is applied both to original requests to communicate web documents and their embedded objects from the web server to the web client, and to refresh requests to communicate web documents and their embedded objects from the web server to the cache.
-
Citations
3 Claims
-
1. A computer controlled method for reducing access delays associated with accesses to a proxy cache, said proxy cache having a mass storage, a memory and at least one central processing unit (CPU), said mass storage and said memory storing a plurality of cached objects received from a network from at least one server, said method including steps of:
-
providing, by said proxy cache, a specified web document from said at least one server responsive to a request from a client;
parsing, by said proxy cache, said specified web document to identify a set of embedded references;
determining, by said proxy cache, which of said set of embedded references reference a set of not-cached-objects not in said plurality of cached objects;
requesting, by said proxy cache and independent of an additional request from said client, one or more of said set of not-cached-objects responsive to the step of determining;
receiving, by said proxy cache, said one or more of said set of not-cached-objects;
adding, by said proxy cache, said one or more of said set of not-cached-objects to said plurality of cached objects;
determining, by said proxy cache, which of said plurality of cached objects associated with said set of embedded references are in said mass storage but not in said memory; and
copying one or more of said plurality of cached objects in said mass storage but not in said memory from said mass storage to said memory.
-
-
2. A proxy cache having a central processing unit (CPU) and a memory coupled to said CPU for reducing access delays associated with access to said proxy cache, said proxy cache having a mass storage, said mass storage and said memory for storing a plurality of cached objects received from a network from at least one server, said proxy cache including:
-
a cache mechanism configured to provide a specified web document from said at least one server responsive to a request from a client;
a parse mechanism configured to parse said specified web document to identify a set of embedded references;
a selection mechanism configured to select which of said set of embedded references reference a set of not-cached-objects not in said plurality of cached objects, said set of embedded references determined by the parse mechanism;
a pre-fetch mechanism configured to request, independently of an additional request from said client, one or more of said not-cached-objects responsive to the selection mechanism;
a reception mechanism configured to receive said one or more of said set of notcached-objects requested by the pre-fetch mechanism;
a cache insertion mechanism configured to add said one or more of said set of notcached-objects to said plurality of cached objects after receipt by the reception mechanism; and
a pre-load mechanism configured to determine which of said plurality of cached objects associated with said set of embedded references are in said mass storage but not in said memory, and to copy one or more of said plurality of cached objects in said mass storage but not in said memory from said mass storage to said memory.
-
-
3. A computer program product including:
-
a computer usable storage medium having computer readable code embodied therein for causing a computer, having a memory and a mass storage, to reduce access delays associated with accesses to a proxy cache, said mass storage and said memory for storing a plurality of cached objects received from a network from at least one server, said computer readable code including;
computer readable program code configured to cause said computer to effect a cache mechanism configured to provide a specified web document from said at least one server responsive to a request from a client;
computer readable program code configured to cause said computer to effect a parse mechanism configured to parse said specified web document to identify a set of embedded references;
computer readable program code configured to cause said computer to effect a selection mechanism configured to select which of said set of embedded references reference a set of not-cached-objects not in said plurality of cached objects, said set of embedded references determined by the parse mechanism;
computer readable program code configured to cause said computer to effect a pre-fetch mechanism configured to request, independently of an additional request from said client, one or more of said not-cached-objects responsive to the selection mechanism;
computer readable program code configured to cause said computer to effect a reception mechanism configured to receive said one or more of said set of not-cached-objects requested by the pre-fetch mechanism;
computer readable program code configured to cause said computer to effect a cache insertion mechanism configured to add said one or more of said set of not-cached-objects to said plurality of cached objects after receipt by the reception mechanism; and
computer readable program code configured to cause said computer to effect a pre-load mechanism configured to determine which of said plurality of cached objects associated with said set of embedded references are in said mass storage but not in said memory, and to copy one or more of said plurality of cached objects in said mass storage but not in said memory from said mass storage to said memory.
-
Specification