Environment-sensitive distributed data management
First Claim
Patent Images
1. A computer-implemented method for accessing data storage devices, comprising:
- receiving, by a computer system, from a client of a plurality of clients, information relating to requests by the client for data located on a first set of networked storage nodes among a plurality of networked storage nodes in a storage system, the information relating to requests by the client including data usage patterns associated with use of the data by the client;
receiving, from the storage system, information relating to at least an operational characteristic of the plurality of networked storage nodes;
determining, by the computer system, using at least the received data request-related information and the received operational characteristic-related information, that at least a subset of the data on the first set of networked storage nodes should at least be stored on a second set of networked storage nodes that differs from the first set, the received data request-related information indicating that the data to be located will be frequently accessed;
querying a map authority that non-transitively stores at least one data map, the at least one data map enabling the client to determine a location of the data on the plurality of networked storage nodes, for an authorization to store the subset of the data on the second set of networked storage nodes;
storing the subset of the data on the second set of networked storage nodes by moving from at least one device within the first set of storage nodes to at least one device within the second set of storage nodes, the second set of storage nodes having a higher level of input/output operations per time period than the first set of storage nodes; and
notifying the map authority to update the stored data map such that the updated stored data map enables the client to determine a location of the stored subset of the data on the plurality of networked storage nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A storage controller is implemented for controlling a storage system. The storage controller may be implemented using a distributed computer system and may include components for servicing client data requests based on the characteristics of the distributed computer system, the client, or the data requests. The storage controller is scalable independently of the storage system it controls. All components of the storage controller, as well as the client, may be virtual or hardware-based instances of a distributed computer system.
-
Citations
24 Claims
-
1. A computer-implemented method for accessing data storage devices, comprising:
-
receiving, by a computer system, from a client of a plurality of clients, information relating to requests by the client for data located on a first set of networked storage nodes among a plurality of networked storage nodes in a storage system, the information relating to requests by the client including data usage patterns associated with use of the data by the client; receiving, from the storage system, information relating to at least an operational characteristic of the plurality of networked storage nodes; determining, by the computer system, using at least the received data request-related information and the received operational characteristic-related information, that at least a subset of the data on the first set of networked storage nodes should at least be stored on a second set of networked storage nodes that differs from the first set, the received data request-related information indicating that the data to be located will be frequently accessed; querying a map authority that non-transitively stores at least one data map, the at least one data map enabling the client to determine a location of the data on the plurality of networked storage nodes, for an authorization to store the subset of the data on the second set of networked storage nodes; storing the subset of the data on the second set of networked storage nodes by moving from at least one device within the first set of storage nodes to at least one device within the second set of storage nodes, the second set of storage nodes having a higher level of input/output operations per time period than the first set of storage nodes; and notifying the map authority to update the stored data map such that the updated stored data map enables the client to determine a location of the stored subset of the data on the plurality of networked storage nodes. - View Dependent Claims (2, 3, 4, 5, 24)
-
-
6. A computer-implemented method for accessing data storage devices, comprising:
-
receiving, by a computer system, information relating to access of data stored, on a storage system, by an associated client entity of a plurality of client entities, the information relating to access of the data stored on the storage system including data usage patterns associated with use of the data by the associated client entity; determining, by the computer system, using at least the received information relating to data access, that at least a subset of the data should be stored on a different location within the storage system, the received information relating to data access indicating that the data to be located will be frequently accessed; communicating with a map authority that retains at least one data map, the at least one data map enabling the client to locate the data, to change the data map to reflect that the subset of the data is stored on the different location within the storage system; and causing the subset of the data to be stored on the different location within the storage system by moving from at least one device within the storage system to at least one device within the different location of the storage system, the at least one device within the different location of the storage system having a higher level of input/output operations per time period than the at least one device within the storage system. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A computer system for accessing data storage devices, comprising:
-
one or more processors; and memory, including instructions executable by the one or more processors to cause the computer system to at least; process information that relates to access, by a client entity of a plurality of client entities, to data on a storage system to determine characteristics of the client entity'"'"'s interaction with the data, the characteristics including data usage patterns associated with use of the data by the client entity; determine, by at least analyzing the determined data interaction characteristics and at least one operational characteristic of the storage system, whether the data should be associated with a different location within the storage system, the information that relates to access indicating that the data to be located will be frequently accessed; when determined that the data should associated with a different location, then request authorization from an authorizing entity to reassociate the data; and when receiving the authorization in response to the request, then at least; reassociating the data with the different location by moving from at least one device within the storage system to at least one device within the different location of the storage system, the at least one device within the different location of the storage system having a higher level of input/output operations per time period than the at least one device within the storage system; and submitting information related to the different location to the authorizing entity such that the authorizing entity enables the client entity to locate the reassociated data. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. One or more non-transitory computer-readable storage media having collectively stored thereon executable instructions that, when executed by one or more processors of a computing resource provider'"'"'s computer system, cause the computer system to at least:
-
determine whether data stored upon a storage system should be reassociated from a first location on the storage system to a second location on the storage system by at least; analyzing data access information, received from a client instance of the computer system, about access to the data by the client instance, the data access information including data usage patterns associated with the use of the data by the client instance, the data access information indicating that the data to be located will be frequently accessed; and analyzing storage system information, received from the storage system, about operational parameters of the storage system; and when determined that the data should be reassociated, then cause the computer system to at least; request an authorization from a map authority that stores mappings, the mappings enabling at least the client instance to locate the data within the storage system; when the requested authorization is received, then at least; reassociate the data from the first location to the second location by moving from at least one device within the first location on the storage system to at least one device within the second location on the storage system, the at least one device within the second location on the storage system having a higher level of input/output operations per time period than the at least one device within the first location on the storage system; and submit information about the second location to the map authority. - View Dependent Claims (19, 20, 21, 22, 23)
-
Specification