Remote/shared browser cache
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
158 Citations
30 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
configuring the browsers to cache at least some pages within the shared cache.
-
-
3. The method of claim 1, further comprising:
maintaining cache contents information for the shared cache in the shared file area, the cache contents information including, for each page within the shared cache, a flag indicating whether a data processing system within the intranet is currently retrieving an undated copy of the respective page.
-
4. The method of claim 3, wherein the step of determining whether a request seeks a page contained within the shared cache further comprises:
-
receiving a load request from the requesting browser for a page; and
checking said cache contents information to determine if the cache contains the requested page.
-
-
5. The method of claim 3, wherein the step of determining whether another data processing system within the intranet is currently retrieving an updated copy of the page further comprises:
checking a state of the flag within the cache contents information.
-
6. The method of claim 1, further comprising:
-
caching selected pages at a local cache within the data processing system in which the requesting browser executes; and
responsive to receiving the request from the requesting browser, checking the local cache for the page prior to checking the shared cache.
-
-
7. The method of claim 6, wherein the step of caching selected pages at a local cache further comprises:
caching pages at the local cache in a hierarchical relationship to pages cached in said shared cache.
-
8. The method of claim 6, wherein the step of caching selected pages at a local cache further comprises:
caching pages at the local cache in a complementary relationship to pages in the shared cache.
-
9. The method of claim 6, wherein the step of caching selected pages at a local cache further comprises:
caching pages of a greater aggregate size in the local cache than in the shared cache.
-
10. 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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
a firewall protecting the plurality of users units from external data processing systems connected to the intranet; and
a proxy providing Internet access to the plurality of user units.
-
-
14. The intranet of claim 10, further comprising:
a timeout mechanism flushing stale pages from the shared cache.
-
15. The intranet of claim 10, wherein a cache management facility for a browser running on a user unit within the plurality of user units flushes stale pages from the shared cache.
-
16. The intranet of claim 10, further comprising:
at least one user unit having a browser not caching pages in the shared cache.
-
17. The intranet of claim 10, further comprising:
at least one user unit having a browser caching pages in both a local cache and the shared cache, the browser checking the local cache before the shared cache.
-
18. The intranet of claim 10, further comprising:
at least one user unit having a browser caching pages in either a local cache or the shared cache, the browser checking the local cache before the shared cache.
-
19. The intranet of claim 10, wherein the shared cache is distributed among the plurality of user units.
-
20. 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. - View Dependent Claims (21, 22)
a connection to the second server.
-
-
23. 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. - View Dependent Claims (24, 25)
-
-
26. 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. - View Dependent Claims (27, 28)
instructions on the computer usable medium for updating cache contents information maintained in a shared file area upon caching the Web page in the shared cache.
-
-
28. The computer program product of claim 27, further comprising:
instructions on the computer usable medium for checking the cache contents information in response to receiving the request for a Web page.
-
29. 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. - View Dependent Claims (30)
instructions on the computer usable medium for causing cache contents information maintained in a shared file area to be updated when the page is retrieved.
-
Specification