MODIFYING INFORMATION LIFECYCLE MANAGEMENT RULES IN A DISTRIBUTED SYSTEM
First Claim
Patent Images
1. A method of specifying one or more rules that control the placement of data objects, comprising:
- determining a system topology of a distributed storage grid;
using the system topology to provide configuration options for one or more rules to a user;
receiving, for each rule, one or more criteria for comparison with an object metadata value, an object duration value, an object status value, or a value contained in the contents of an object;
receiving, for each rule, one or more placement constraints, each placement constraint specifying how an object should be placed within the system topology;
creating a data structure that describes the criteria in a form that can be used to compare against objects;
creating a data structure that describes the placement constraints in a form that can be used to match against the system topology;
incorporating the criteria and placement constraints data structures that comprise the rule with any previously existing rules to form updated rules;
distributing the updated rules across the system;
triggering the processing any existing objects that are affected by the addition of new rules or modification of existing rules.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for specifying the placement of and managing the placement of objects on a distributed networked grid. Some embodiments of the invention comprise a user interface for specifying rules for the placement of objects on the grid and an execution module that places objects on the grid based on the rules specified. Rules may comprise a matching criteria specification, which determines whether a rule applies to a particular object, and a placement specification, which directs the locations at which an object will be placed under the rule.
139 Citations
46 Claims
-
1. A method of specifying one or more rules that control the placement of data objects, comprising:
-
determining a system topology of a distributed storage grid; using the system topology to provide configuration options for one or more rules to a user; receiving, for each rule, one or more criteria for comparison with an object metadata value, an object duration value, an object status value, or a value contained in the contents of an object; receiving, for each rule, one or more placement constraints, each placement constraint specifying how an object should be placed within the system topology; creating a data structure that describes the criteria in a form that can be used to compare against objects; creating a data structure that describes the placement constraints in a form that can be used to match against the system topology; incorporating the criteria and placement constraints data structures that comprise the rule with any previously existing rules to form updated rules; distributing the updated rules across the system; triggering the processing any existing objects that are affected by the addition of new rules or modification of existing rules. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system to specify and manage the placement of objects on a distributed grid, comprising:
-
a plurality of storage devices capable of storing objects, wherein the storage devices are networked; a plurality of rules, wherein each rule comprises at least one matching criteria and at least one placement constraint; a rule execution module, capable of receiving an object, identifying a rule to apply to the object based on the identified rule'"'"'s matching criteria specification, and placing the object on one or more of the storage devices based on the identified rule'"'"'s placement specification; and a placement rule specification module, capable of determining a topology of the plurality of storage devices, presenting a user with a user interface, receiving one or more matching criteria from the user, receiving one or more placement constraints from the user, creating a data structure that describes the one or more matching criteria from the user and the one or more placement constraints from the user, incorporating the data structure into the plurality of rules to form updated rules, distributing the updated rules across the system, and triggering the processing of any existing objects that are affected by the addition of new rules or modification of existing rules; said user interface comprising an interface for specifying a matching criteria for a rule; and said user interface further comprising an interface to specify a placement constraint for a rule, said interface incorporating the topology of the plurality of storage devices. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method of managing the placement of objects on a distributed grid in accordance with a set of placement rules, said method comprising:
-
receiving a set of user-defined placement rules, wherein the rules are in a specified order; evaluating the set of user-defined placement rules against an object after a trigger event is received to determine a first match of a user-defined placement rule; calculating an ideal placement for the object based on the evaluation of the set of user-defined placement rules against the object; obtaining the topology of the distributed grid; obtaining a representation of system resources comprising computational resources, storage resources, and network resources; obtaining a current placement of the object; calculating an achievable placement for the object based on the current placement, the ideal placement, the topology of the distributed grid, and the representation of system resources; calculating a set of actions to be performed to transform the current placement into the achievable placement; and performing one or more of the actions from the set of actions to be performed. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method of efficiently processing objects affected by an addition or change to rules, comprising:
-
caching with each object a first rule based on a previous rules evaluation, adding the object to a set of objects associated with the first rule, receiving a change to a second rule, determining whether the second rule has priority over the first rule, retrieving the set of objects associated with the first rule, retrieving a metadata index of the set of objects associated with the first rule, constructing a subset of affected objects from the set of objects associated with the first rule, based on the metadata index and the change to the second rule, and invoking a trigger to cause rules processing for the subset of affected objects. - View Dependent Claims (46)
-
Specification