Managing data storage using storage policy specifications
First Claim
1. A computer-implemented method comprising:
- receiving, by a configured computer system, a defined data storage management policy for use with an indicated program during execution on the configured computer system, wherein the defined data storage management policy specifies first criteria for storing a first group of data on a remote online storage service that is separated from the configured computer system by one or more computer networks, specifies second criteria for storing a second group of data on a distributed online memory cache stored using volatile memory of multiple computer systems, and specifies third criteria for storing a third group of data on a distributed file system stored on multiple non-volatile storage devices accessible to the configured computer system via a computer network to which the configured computer system is attached;
initiating, by the configured computer system, and prior to receiving any data access request for use by the indicated program of the first group of data, of the second group of data, or of the third group of data, the execution of the indicated program, including preloading data for subsequent use by the indicated program by;
determining, by the configured computer system, that the specified first criteria are satisfied, and initiating storing the first group of data on the online storage service;
determining, by the configured computer system, that the specified second criteria are satisfied, and initiating storing the second group of data on the distributed online memory cache; and
determining, by the configured computer system, that the specified third criteria are satisfied, and initiating storing the third group of data on the distributed file system; and
retrieving and using, during the execution of the indicated program and in response to one or more data access requests for use of at least some of the preloaded data by the indicated program, the at least some preloaded data.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for managing data storage using defined data storage management policies. In some situations, data storage may be managed using multiple supported storage mechanisms, such as different storage mechanisms of different types and/or in different locations. As one example, the described techniques may be performed to manage data that is available to a software program executing on a computer system, such as by caching a subset of the available data on one or more storage mechanisms to enhance later retrieval times of that data subset by the software program. In this example, the multiple supported storage mechanisms may include one or more storage mechanisms local to the computer system and one or more storage mechanisms remote from the computer system, and a defined data storage management policy for the software program may define particular types of data to store on particular storage mechanisms in particular manners.
-
Citations
18 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a configured computer system, a defined data storage management policy for use with an indicated program during execution on the configured computer system, wherein the defined data storage management policy specifies first criteria for storing a first group of data on a remote online storage service that is separated from the configured computer system by one or more computer networks, specifies second criteria for storing a second group of data on a distributed online memory cache stored using volatile memory of multiple computer systems, and specifies third criteria for storing a third group of data on a distributed file system stored on multiple non-volatile storage devices accessible to the configured computer system via a computer network to which the configured computer system is attached; initiating, by the configured computer system, and prior to receiving any data access request for use by the indicated program of the first group of data, of the second group of data, or of the third group of data, the execution of the indicated program, including preloading data for subsequent use by the indicated program by; determining, by the configured computer system, that the specified first criteria are satisfied, and initiating storing the first group of data on the online storage service; determining, by the configured computer system, that the specified second criteria are satisfied, and initiating storing the second group of data on the distributed online memory cache; and determining, by the configured computer system, that the specified third criteria are satisfied, and initiating storing the third group of data on the distributed file system; and retrieving and using, during the execution of the indicated program and in response to one or more data access requests for use of at least some of the preloaded data by the indicated program, the at least some preloaded data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer-readable medium having stored contents that cause a computer system to:
-
receive, by the computer system, a defined data storage management policy for use in preloading data to later be used by an indicated program during execution on the computer system, wherein the defined data storage management policy specifies first criteria for selecting a first storage mechanism of multiple accessible storage mechanisms on which to preload a first group of data of a first type and specifies second criteria for selecting a second storage mechanism of the multiple accessible storage mechanisms on which to preload a second group of data of a second type; store, by the computer system at a time of initiating the execution of the indicated program; the first group of data on the first storage mechanism in accordance with the first specified criteria and to preload the stored first group of data for later use by the indicated program during the execution, wherein the first storage mechanism is selected based on the first specified criteria to be a distributed online memory cache using volatile memory of multiple computer systems; and the second group of data on the second storage mechanism in accordance with the second specified criteria and to preload the stored second group of data for later use by the indicated program during the execution, wherein the second storage mechanism is selected based on the second specified criteria to be a distributed file system stored on multiple storage devices accessible to the computer system via a computer network; and retrieve and use, during the execution of the indicated program on the computer system, the stored first and second groups of data, including to provide the retrieved first and second groups of data to the indicated program for use. - View Dependent Claims (13, 14)
-
-
15. A computer system, comprising:
-
one or more processors; and one or more memories with software instructions that, when executed by at least one of the one or more processors, cause the at least one processor to manage data storage for the computer system, the managing of the data storage including; receiving a defined data storage management policy for use in preloading data to later be used by an indicated program, wherein the defined data storage management policy specifies a first group of data of a first type to be preloaded on a first storage mechanism of multiple storage mechanisms accessible to the computer system, and specifies a second group of data of a second type to be preloaded on a second storage mechanism of the multiple storage mechanisms; initiating execution of the indicated program and using the defined data storage management policy, including; storing, before any request for the first group of data for the indicated program, the first group of data on the first storage mechanism to preload the stored first group of data for later use by the indicated program during the execution, wherein the first storage mechanism is selected to be a distributed file system stored on multiple storage devices accessible to the computer system via a computer network; and storing, before any request for the second group of data for the indicated program, the second group of data on the second storage mechanism to preload the stored second group of data for later use by the indicated program during the execution, wherein the second storage mechanism is selected to be an online memory cache distributed across volatile memory of multiple computer systems; and retrieving, for the indicated program and during the execution, at least one of the stored first and second groups of data for use by the indicated program. - View Dependent Claims (16, 17, 18)
-
Specification