Efficient storage load redistribution
First Claim
1. A method of redistributing files stored on a set of storage devices, the method comprising:
- receiving, by controlling circuitry within a controller, a load balancing tolerance value which identifies a target difference between a load on a most-loaded storage device and a load on a least-loaded storage device of the set of storage devices, a load on a storage device representing an amount of consumed storage space on the storage device;
generating, by the controlling circuitry, a file transfer plan based on (i) a file size of each file stored on the set of storage devices, (ii) a load on each storage device of the set of storage devices and (iii) the load balancing tolerance value; and
transferring, by the controlling circuitry, files between storage devices according to the file transfer plan to redistribute the files stored on the set of storage devices;
wherein the load balancing tolerance value is greater than zero; and
wherein the target difference is a number specified by a user representing a maximum difference tolerable to the user.
5 Assignments
0 Petitions
Accused Products
Abstract
An improved technique of redistributing files on a set of storage disks involves specifying a tolerable difference in the load between a most-loaded storage disk and a least-loaded storage disk. From such a specified tolerable difference, a processor generates a file transfer plan listing a set of files to be moved, from which storage disks the files are to be moved and to which storage disks to move the files. File transfer plans which result from allowing the maximum difference in load between the storage disks to be a small but finite amount typically result in a very small number of files to be moved, resulting in much smaller processing times for transferring the files.
-
Citations
24 Claims
-
1. A method of redistributing files stored on a set of storage devices, the method comprising:
-
receiving, by controlling circuitry within a controller, a load balancing tolerance value which identifies a target difference between a load on a most-loaded storage device and a load on a least-loaded storage device of the set of storage devices, a load on a storage device representing an amount of consumed storage space on the storage device; generating, by the controlling circuitry, a file transfer plan based on (i) a file size of each file stored on the set of storage devices, (ii) a load on each storage device of the set of storage devices and (iii) the load balancing tolerance value; and transferring, by the controlling circuitry, files between storage devices according to the file transfer plan to redistribute the files stored on the set of storage devices; wherein the load balancing tolerance value is greater than zero; and wherein the target difference is a number specified by a user representing a maximum difference tolerable to the user. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system constructed and arranged to redistribute files stored on a set of storage devices, the system comprising:
-
a network interface; a memory; and a controller which includes controlling circuitry which is coupled to the memory, the controlling circuitry constructed and arranged to; receive a load balancing tolerance value which identifies a target difference between a load on a most-loaded storage device and a load on a least-loaded storage device of the set of storage devices, a load on a storage device representing an amount of consumed storage space on the storage device; generate a file transfer plan based on (i) a file size of each file stored on the set of storage devices, (ii) a load on each storage device of the set of storage devices and (iii) the load balancing tolerance value; and transfer files between storage devices according to the file transfer plan to redistribute the files stored on the set of storage devices; wherein the load balancing tolerance value is greater than zero; and wherein the target difference is a number specified by a user representing a maximum difference tolerable to the user. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer program product having a non-transitory computer readable storage medium which stores a set of instructions to redistribute files stored on a set of storage devices, the set of instructions, when carried out by a computerized device, causing the computerized device to:
-
receive a load balancing tolerance value which identifies a target difference between a load on a most-loaded storage device and a load on a least-loaded storage device of the set of storage devices, a load on a storage device representing an amount of consumed storage space on the storage device; generate a file transfer plan based on (i) a file size of each file stored on the set of storage devices, (ii) a load on each storage device of the set of storage devices and (iii) the load balancing tolerance value; and transfer files between storage devices according to the file transfer plan to redistribute the files stored on the set of storage devices; wherein the load balancing tolerance value is greater than zero; and wherein the target difference is a number specified by a user representing a maximum difference tolerable to the user.
-
Specification