Load rebalancing for shared resource
First Claim
1. A computer-implemented method of rebalancing a load across a number of partitions of a data volume, comprising:
- under control of one or more computer systems configured with executable instructions,monitoring a usage pattern for a customer associated with a data volume in a data environment using at least one monitoring component of a control environment, the data volume including a number of partitions each containing at least one logical area and corresponding to a separate physical storage device, data stored to the data volume being distributed across the logical areas using a data striping algorithm;
determining whether the usage pattern provides an uneven usage across the number of partitions with respect to at least one functional aspect of the data volume; and
in response to determining that the usage pattern provides an uneven usage across the number of partitions,determining a number of logical areas to be moved from at least one relatively heavily loaded partition to at least one relatively lightly loaded partition with respect to the at least one functional aspect;
moving the determined number of logical areas; and
updating a first set of mappings to indicate a current partition associated with each logical area as a result of moving the determined number of logical areas,wherein the determined number of logical areas is capable of being moved without updating a second set of mappings indicating the data stored in each logical area.
1 Assignment
0 Petitions
Accused Products
Abstract
Various aspects of a data volume or other shared resource are determined and updated dynamically for purposes such as to provide guaranteed qualities of service. For example, the number of partitions in a data volume and/or the way in which data is stored across those partitions can be updated dynamically without significantly impacting the customer using the volume. The data stored to the volume can be striped or otherwise distributed across a number of logical areas, which then can be distributed across the partitions. Separate mappings can be used for the data in each logical area, and the logical areas in each partition, such that when moving a logical area only a single mapping has to be updated, regardless of the amount of data in that logical area. Further, logical areas can be moved between partitions without the need to repartition or redistributed the data in the data volume.
135 Citations
32 Claims
-
1. A computer-implemented method of rebalancing a load across a number of partitions of a data volume, comprising:
under control of one or more computer systems configured with executable instructions, monitoring a usage pattern for a customer associated with a data volume in a data environment using at least one monitoring component of a control environment, the data volume including a number of partitions each containing at least one logical area and corresponding to a separate physical storage device, data stored to the data volume being distributed across the logical areas using a data striping algorithm; determining whether the usage pattern provides an uneven usage across the number of partitions with respect to at least one functional aspect of the data volume; and in response to determining that the usage pattern provides an uneven usage across the number of partitions, determining a number of logical areas to be moved from at least one relatively heavily loaded partition to at least one relatively lightly loaded partition with respect to the at least one functional aspect; moving the determined number of logical areas; and updating a first set of mappings to indicate a current partition associated with each logical area as a result of moving the determined number of logical areas, wherein the determined number of logical areas is capable of being moved without updating a second set of mappings indicating the data stored in each logical area. - View Dependent Claims (2, 3)
-
4. A computer-implemented method of dynamically rebalancing a data volume, comprising:
under control of one or more computer systems configured with executable instructions, monitoring at least one functional aspect of a data volume, the data volume including a number of partitions each containing at least one logical area, data stored to the data volume being distributed across the logical areas; if at least one monitored functional aspect is determined to fall outside an allowable range with respect to at least one partition, determining at least one logical area to be moved between partitions in the data volume in order to bring the at least one monitored aspect back within the allowable range; and for each determined logical area determined to be moved between partitions, moving the logical area and updating a first mapping to indicate a current partition associated with the moved logical area, wherein each logical area is capable of being moved without updating a second set of mappings indicating the data stored in the logical area. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A system for dynamically rebalancing a data volume, comprising:
-
at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to; monitor at least one functional aspect of a data volume, the data volume including a number of partitions each containing at least one logical area, data stored to the data volume being distributed across the logical areas; if at least one monitored functional aspect is determined to fall outside an allowable range with respect to at least one partition, determine at least one logical area to be moved between partitions in the data volume in order to bring the at least one monitored aspect back within the allowable range; and for each determined logical area determined to be moved between partitions, move the logical area and updating a first mapping to indicate a current partition associated with the moved logical area, wherein each logical area is capable of being moved without updating a second set of mappings indicating the data stored in the logical area. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable storage medium including instructions for dynamically rebalancing a data volume, the instructions when executed by a processor causing the processor to:
-
monitor at least one functional aspect of a data volume, the data volume including a number of partitions each containing at least one logical area, data stored to the data volume being distributed across the logical areas; if at least one monitored functional aspect is determined to fall outside an allowable range with respect to at least one partition, determine at least one logical area to be moved between partitions in the data volume in order to bring the at least one monitored aspect back within the allowable range; and for each determined logical area determined to be moved between partitions, move the logical area and updating a first mapping to indicate a current partition associated with the moved logical area, wherein each logical area is capable of being moved without updating a second set of mappings indicating the data stored in the logical area. - View Dependent Claims (25, 26, 27, 28)
-
-
29. A computer-implemented method of dynamically rebalancing a data volume, comprising:
under control of one or more computer systems configured with executable instructions, monitoring at least one functional aspect of a data volume, the data volume including a number of partitions each containing at least one piece of data; if at least one monitored functional aspect is determined to fall outside an allowable range with respect to at least one partition, determining at least one piece of data to be moved between partitions in the data volume in order to bring the at least one monitored aspect back within the allowable range; and for each determined piece of data determined to be moved between partitions, moving the piece of data and updating a first table of mappings to indicate a current partition associated with a logical area that includes the moved piece of data, wherein piece of data is capable of being moved without updating a second table of mappings indicating the piece of data included in the logical area. - View Dependent Claims (30, 31, 32)
Specification