Remote/shared browser cache
AssigneeInternational Business Machines Corporation
InventorGary T. Hunt
Life of this patent
Estimating the term…
Abstract
Browsers for different clients in an enterprise are configured to cache pages at least in part in a common file area in a remote, shared file server. Duplication or redundancy in caching pages is thus eliminate, and a larger body of distinct pages may be cached within a given allocation of memory space. Each remote, shared cache includes a shared cache contents data structure including information required to “time-out” pages and to determine if a page is in the process of being loaded or updated by another client sharing the cache. Where multiple caches are supported by the browsers, the remote, shared cache may form part of a local/remote cache hierarchy. When accessing a page, browsers check each cache in a multiple cache configuration, updating all caches as necessary.
Claims30
A method of sharing a remote cache within an intranet, comprising:
- caching pages requested to be cached by browsers for data processing systems within the intranet in a shared cache accessible by the data processing systems and maintained within a shared file area in the intranet;
- determining whether a request from a requesting browser within a data processing system in the intranet seeks a page contained within the shared cache;
- responsive to determining that the request seeks a page contained within the shared cache, determining whether an update is required for the page within the shared cache;
- responsive to determining that an update is not required for the page within the shared cache, providing the page to the requesting browser from the shared cache;
- responsive to determining that an update is required for the page within the shared cache, determining whether another data processing system within the intranet is currently retrieving an updated copy of the page;
- responsive to determining that another data processing system within the intranet is currently retrieving an updated copy of the requested page, waiting until the other data processing system completes retrieval of the updated copy of the page and then providing the page to the requesting browser from the shared cache;
- responsive to determining that no other data processing system within the intranet is currently retrieving an updated copy of the page, retrieving an updated copy of the page utilizing the data processing system and the requesting browser and caching the updated copy of the page within the shared cache.
An intranet, comprising:
- a plurality of user units each having a browser for Internet access;
- a server connected to the plurality of user units and providing Internet access to the plurality of user units;
- and
- a shared browser cache accessible to the plurality of user units,
- wherein a user unit within the plurality of user units requesting a page
- determines whether the page is contained within the shared browser cache and,
- responsive to determining that the pare is contained within the share browser cache, determines whether an update is required for the page contained within the shared browser cache, and
- responsive to determining that an update is not required for the page contained within the shared browser, retrieves the page from the shared browser cache, and
- responsive to determining that an update is required for the page contained within the shared browser cache, determines whether another user unit is currently retrieving an updated copy of the page, and
- responsive to determining that another user unit is currently retrieving an updated copy of the page, waits until the other user unit completes retrieval of the updated copy of the page and then retrieves the page from the shared browser cache, and
- responsive to determining that no other user unit is currently retrieving an updated copy of the page, retrieves an updated copy of the page and cache the updated copy within the shared browser cache.
An Internet server, comprising:
- a data processing system;
- connections to the data processing system for a plurality of user units, the data processing system capable of receiving requests for Internet pages and capable of accessing a shared cache,
- wherein the data processing system provides cache contents information regarding the shared cache to each of the plurality of user units, the cache contents information including
- (1) an identification of each page within the shared cache, and
- (2) for each page within the shared cache,
- (a) a date on which the respective page was last undated, and
- (b) a flag indicating whether a user unit is currently updating the respective page, and
- wherein the data Processing system sets the flag within the cache contents information for a page within the shared cache when retrieving an updated copy of the page for a user unit, and
- wherein the data processing system, upon receiving a request for a page from a user unit, provides the requested page from the shared cache.
An Internet client, comprising:
- a data processing system capable of accessing a remote, shared cache;
- a connection from the data processing system to a server providing Internet access to the data processing system;
- and
- a browser application executing in the data processing system, the browser application requesting pages from an Internet site and storing retrieved pages in the remote, shared cache,
- wherein the browser application,
- prior to retrieving an undated copy of a page within the remote, shared cache, determines from the server whether another data processing system is currently retrieving an updated copy of the page to the remote, shared cache, and
- responsive to determining that another data processing system is currently retrieving an updated copy of the page to the remote, shared cache, waits for the other data processing to complete retrieval of the updated copy of the page to the remote, shared cache and then retrieves the page from the remote, shared cache, and
- responsive to determining that no other data processing system is currently retrieving an updated copy of the page to the remote, shared cache, retrieves an updated copy of the page and caches the updated copy within the remote, shared cache.
A computer program product in a computer usable medium, comprising:
- instructions on the computer usable medium for retrieving a Web page in response to receiving a request;
- instructions on the computer usable medium for caching the Web page in a shared cache remote from a data processing system originating the request;
- instructions on the computer usable medium for determining, prior to retrieving an updated version of a page within the shared cache, whether another data processing system utilizing the shared cache is currently retrieving an updated version of the page;
- and
- instructions on the computer usable medium, responsive to determining that another data processing system utilizing the shared cache is currently retrieving an updated version of the page, for waiting until the other data processing system completes retrieval of the updated version of the page and then retrieving the page from the shared cache.
A computer program product in a computer usable medium, comprising:
- instructions on the computer usable medium for causing each retrieved page to be cached in a shared cache remote from a data processing system executing the instructions;
- instructions on the computer usable medium for checking, prior to retrieving an updated version of a page within the shared cache, a flag associated with an identifier for the page within cache contents information for the shared cache, wherein the flag indicates whether another data processing system utilizing the shared cache is currently retrieving an undated version of the page;
- instructions on the computer usable medium, responsive to the flag not being set, for retrieving an updated version of the page;
- and
- instructions on the computer usable medium, responsive to the flag being set for waiting until the flag is no longer set and then retrieving the page from the shared cache.
Dependencies are inferred from the claim text.