Method of instantiating data placement heuristic
First Claim
Patent Images
1. A method of instantiating a data placement heuristic for a distributed storage system comprising the steps of:
- receiving heuristic parameters; and
running an algorithm on a node of the distributed storage system which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of instantiating a data placement heuristic for a distributed storage system begins with a node of the distributed storage system receiving heuristic parameters. The method concludes with the node running an algorithm which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters. According to an embodiment, the heuristic parameters comprise a placement constraint, a metric scope, an approximation technique, and an evaluation interval.
31 Citations
39 Claims
-
1. A method of instantiating a data placement heuristic for a distributed storage system comprising the steps of:
-
receiving heuristic parameters; and
running an algorithm on a node of the distributed storage system which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters.
-
-
2. A method of instantiating a data placement heuristic for a distributed storage system comprising the steps of:
-
receiving heuristic parameters which comprise a cost function, a placement constraint, a metric scope, an approximation technique, and an evaluation interval; and
running an algorithm on a node of the distributed storage system which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method of instantiating a data placement heuristic for a distributed storage system comprising the steps of:
-
receiving heuristic parameters which comprise a cost function, a placement constraint, a metric scope, an approximation technique, and an evaluation interval; and
for each evaluation interval within an execution of the data placement heuristic, performing the steps of;
for data objects and nodes within the metric scope, determining a cost array which comprises cost elements determined from the cost function;
if the approximation technique comprises a ranking technique, placing the data objects according to the placement constraint in order of rank within a sorted cost array;
if the approximation technique comprises a greedy ranking technique, placing the data objects according to the placement constraint in order of the rank within the sorted cost array, and recomputing and resorting the cost array for remaining cost elements after each placement decision; and
if the approximation technique comprises a threshold technique, eliminating the cost elements of the cost array which violate a threshold, thereby forming a threshold limited cost array, and placing the data objects according to the placement constraint in order of rank within a sorted version of the threshold limited cost array. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer readable memory comprising computer code for implementing a method of instantiating a data placement heuristic for a distributed storage system, the method of instantiating the data placement heuristic comprising the steps of:
-
receiving heuristic parameters; and
running an algorithm on a node of the distributed storage system which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters.
-
-
38. A computer readable memory comprising computer code for implementing a method of instantiating a data placement heuristic for a distributed storage system, the method of instantiating the data placement heuristic comprising the steps of:
-
receiving heuristic parameters which comprise a cost function, a placement constraint, a metric scope, an approximation technique, and an evaluation interval; and
running an algorithm on a node of the distributed storage system which instantiates a particular data placement heuristic selected from a range of data placement heuristics according to the heuristic parameters.
-
-
39. A computer readable memory comprising computer code for implementing a method of instantiating a data placement heuristic for a distributed storage system, the method of instantiating the data placement heuristic comprising the steps of:
-
receiving heuristic parameters which comprise a cost function, a placement constraint, a metric scope, an approximation technique, and an evaluation interval; and
for each evaluation interval within an execution of the data placement heuristic, performing the steps of;
for data objects and nodes within the metric scope, determining a cost array which comprises cost elements determined from the cost function;
if the approximation technique comprises a ranking technique, placing the data objects according to the placement constraint in order of rank within a sorted cost array;
if the approximation technique comprises a greedy ranking technique, placing the data objects according to the placement constraint in order of the rank within the sorted cost array, and recomputing and resorting the cost array for remaining cost elements after each placement decision; and
if the approximation technique comprises a threshold technique, eliminating the cost elements of the cost array which violate a threshold, thereby forming a threshold limited cost array, and placing the data objects according to the placement constraint in order of rank within a sorted version of the threshold limited cost array.
-
Specification