Smart cache for offline data availability
First Claim
1. A method for automatically caching remote data for offline availability, the method comprising:
- analyzing, at an application executing in a first data processing system, a usage pattern of the first data processing system and an entry in a data use history of the first data processing system;
identifying, responsive to the analyzing, a data item for caching at the first data processing system, wherein the data item is accessible to the first data processing system from at a remote data processing system over a data network at a present time, and the data item will be requested from the first data processing system at a future time when no network connectivity will be available to the first data processing system;
determining whether a caching control prevents the caching of the data item at the first data processing system;
caching, responsive to the caching control not preventing the caching of the data item, the data item on the first data processing system;
determining, responsive to the analyzing a second usage pattern, that the data item will be requested from a second data processing system at the future time when no network connectivity will be available to the second data processing system;
determining whether a second caching control prevents the caching of the data item at the second data processing system;
supplying, responsive to the second caching control not preventing the caching of the data item at the second data processing system, information usable to cache the data item on the second data processing system;
determining that the second data processing system has access to the remote data processing system at the present time;
constructing a manifest at the first data processing system, wherein the manifest includes an identifier of the data item;
sending, as a part of the supplying, the manifest to the second data processing system, wherein the second data processing system uses the identifier in the manifest to obtain the data item from the remote data processing system;
caching a second data item at the first data processing system;
determining, at the application, that a third caching control prevents the caching of the second data item at the second data processing system; and
omitting, responsive to the second caching control preventing the caching of the second data item at the second data processing system, information usable to cache the second data item from the manifest.
2 Assignments
0 Petitions
Accused Products
Abstract
At an application executing in a system, a usage pattern of the system and an entry in a data use history of the system are analyzed. Responsive to the analyzing, a data item is identified for caching at the system, wherein the data item is accessible to the system from at a remote data processing system over a data network at a present time, and the data item will be requested from the system at a future time when no network connectivity will be available to the system. A determination is made whether a caching control prevents the caching of the data item at the system. Responsive to the caching control not preventing the caching of the data item, the data item is cached on the system.
-
Citations
17 Claims
-
1. A method for automatically caching remote data for offline availability, the method comprising:
-
analyzing, at an application executing in a first data processing system, a usage pattern of the first data processing system and an entry in a data use history of the first data processing system; identifying, responsive to the analyzing, a data item for caching at the first data processing system, wherein the data item is accessible to the first data processing system from at a remote data processing system over a data network at a present time, and the data item will be requested from the first data processing system at a future time when no network connectivity will be available to the first data processing system; determining whether a caching control prevents the caching of the data item at the first data processing system; caching, responsive to the caching control not preventing the caching of the data item, the data item on the first data processing system; determining, responsive to the analyzing a second usage pattern, that the data item will be requested from a second data processing system at the future time when no network connectivity will be available to the second data processing system; determining whether a second caching control prevents the caching of the data item at the second data processing system; supplying, responsive to the second caching control not preventing the caching of the data item at the second data processing system, information usable to cache the data item on the second data processing system; determining that the second data processing system has access to the remote data processing system at the present time; constructing a manifest at the first data processing system, wherein the manifest includes an identifier of the data item; sending, as a part of the supplying, the manifest to the second data processing system, wherein the second data processing system uses the identifier in the manifest to obtain the data item from the remote data processing system; caching a second data item at the first data processing system; determining, at the application, that a third caching control prevents the caching of the second data item at the second data processing system; and omitting, responsive to the second caching control preventing the caching of the second data item at the second data processing system, information usable to cache the second data item from the manifest. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product for automatically caching remote data for offline availability, the computer program product comprising:
-
one or more computer-readable tangible storage devices; program instructions, stored on at least one of the one or more storage devices, to analyze, at an application executing in a first data processing system, a usage pattern of the first data processing system and an entry in a data use history of the first data processing system; program instructions, stored on at least one of the one or more storage devices, to identify, responsive to the analyzing, a data item for caching at the first data processing system, wherein the data item is accessible to the first data processing system from at a remote data processing system over a data network at a present time, and the data item will be requested from the first data processing system at a future time when no network connectivity will be available to the first data processing system; program instructions, stored on at least one of the one or more storage devices, to determine whether a caching control prevents the caching of the data item at the first data processing system; program instructions, stored on at least one of the one or more storage devices, to cache, responsive to the caching control not preventing the caching of the data item, the data item on the first data processing system; program instructions, stored on at least one of the one or more storage devices, to determine, responsive to the analyzing a second usage pattern, that the data item will be requested from a second data processing system at the future time when no network connectivity will be available to the second data processing system; program instructions, stored on at least one of the one or more storage devices, to determine whether a second caching control prevents the caching of the data item at the second data processing system; program instructions, stored on at least one of the one or more storage devices, to supply, responsive to the second caching control not preventing the caching of the data item at the second data processing system, information usable to cache the data item on the second data processing system; program instructions, stored on at least one of the one or more storage devices, to determine that the second data processing system has access to the remote data processing system at the present time; program instructions, stored on at least one of the one or more storage devices, to construct a manifest at the first data processing system, wherein the manifest includes an identifier of the data item; program instructions, stored on at least one of the one or more storage devices, to send as a part of the supplying, the manifest to the second data processing system, wherein the second data processing system uses the identifier in the manifest to obtain the data item from the remote data processing system; program instructions, stored on at least one of the one or more storage devices, to cache a second data item at the first data processing system; program instructions, stored on at least one of the one or more storage devices, to determine, at the application, that a third caching control prevents the caching of the second data item at the second data processing system; and program instructions, stored on at least one of the one or more storage devices, to omit responsive to the second caching control preventing the caching of the second data item at the second data processing system, information usable to cache the second data item from the manifest.
-
-
17. A computer system for automatically caching remote data for offline availability, the computer system comprising:
-
one or more processors, one or more computer-readable memories and one or more computer-readable storage devices; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to analyze, at an application executing in a first data processing system, a usage pattern of the first data processing system and an entry in a data use history of the first data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to identify, responsive to the analyzing, a data item for caching at the first data processing system, wherein the data item is accessible to the first data processing system from at a remote data processing system over a data network at a present time, and the data item will be requested from the first data processing system at a future time when no network connectivity will be available to the first data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to determine whether a caching control prevents the caching of the data item at the first data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to cache, responsive to the caching control not preventing the caching of the data item, the data item on the first data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to determine, responsive to the analyzing a second usage pattern, that the data item will be requested from a second data processing system at the future time when no network connectivity will be available to the second data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to determine whether a second caching control prevents the caching of the data item at the second data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to supply, responsive to the second caching control not preventing the caching of the data item at the second data processing system, information usable to cache the data item on the second data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to determine that the second data processing system has access to the remote data processing system at the present time; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to construct a manifest at the first data processing system, wherein the manifest includes an identifier of the data item; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to send, as a part of the supplying, the manifest to the second data processing system, wherein the second data processing system uses the identifier in the manifest to obtain the data item from the remote data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to cache a second data item at the first data processing system; program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to determine, at the application, that a third caching control prevents the caching of the second data item at the second data processing system; and program instructions, stored on at least one of the one or more storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to omit, responsive to the second caching control preventing the caching of the second data item at the second data processing system, information usable to cache the second data item from the manifest.
-
Specification