Method of hashing address space to storage servers
First Claim
1. A method of hashing an address space to a plurality of storage servers comprising the steps of:
- dividing the address space by a number of the storage servers to form data segments, each data segment comprising a base address;
assigning the data segments to the storage servers according to a sequence;
measuring a load on each of the storage servers; and
adjusting data shares assigned to the storage servers according to the sequence to approximately balance the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server.
4 Assignments
0 Petitions
Accused Products
Abstract
An embodiment of a method of hashing an address space to a plurality of storage servers begins with a first step of dividing the address space by a number of the storage servers to form data segments. Each data segment comprises a base address. A second step assigns the data segments to the storage servers according to a sequence. The method continues with a third step of measuring a load on each of the storage servers. According to an embodiment, the method concludes with a fourth step of adjusting data shares assigned to the storage servers according to the sequence to approximately balances the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server. According to another embodiment, the method periodically performs the third and fourth steps to maintain an approximately balanced load on the storage servers.
-
Citations
37 Claims
-
1. A method of hashing an address space to a plurality of storage servers comprising the steps of:
-
dividing the address space by a number of the storage servers to form data segments, each data segment comprising a base address;
assigning the data segments to the storage servers according to a sequence;
measuring a load on each of the storage servers; and
adjusting data shares assigned to the storage servers according to the sequence to approximately balance the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of hashing an address space to a plurality of storage servers comprising the steps of:
-
dividing the address space by a number of the storage servers to form data segments, each data segment comprising a base address;
assigning the data segments to the storage servers according to a sequence;
measuring a load on each of the storage servers;
for each storage server, determining whether a data share for the storage server needs to be decreased or increased to approximately balance the loads on the storage servers in order to identify at least one over-utilized storage server and at least one under-utilized storage server; and
proceeding through the storage servers according to the sequence and for each over-utilized storage server reassigning a portion of the data segment to at least one sequentially available under-utilized storage server while maintaining the base address on an originally assigned storage server. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
-
36. A computer readable media comprising computer code for implementing a method of hashing an address space to a plurality of storage servers, the method of hashing the address space to the plurality of storage servers comprising the steps of:
-
dividing the address space by a number of the storage servers to form data segments, each data segment comprising a base address;
assigning the data segments to the storage servers according to a sequence;
measuring a load on each of the storage servers; and
adjusting data shares assigned to the storage servers according to the sequence to approximately balance the loads on the storage servers while maintaining the base address for each data segment on an originally assigned storage server.
-
-
37. A computer readable media comprising computer code for implementing a method of hashing an address space to a plurality of storage servers, the method of hashing the address space to the plurality of storage servers comprising the steps of:
-
dividing the address space by a number of the storage servers to form data segments, each data segment comprising a base address;
assigning the data segments to the storage servers according to a sequence;
measuring a load on each of the storage servers;
for each storage server, determining whether a data share for the storage server needs to be decreased or increased to approximately balance the loads on the storage servers in order to identify at least one over-utilized storage server and at least one under-utilized storage server; and
proceeding through the storage servers according to the sequence and for each over-utilized storage server reassigning a portion of the data segment to at least one sequentially available under-utilized storage server while maintaining the base address on an originally assigned storage server.
-
Specification