Systems and methods for adaptively deriving storage policy and configuration rules
In one embodiment, the invention relates to an adaptive engine for creating provisioning policies and rules for network storage provisioning, which can be driven by service level objectives. The service level objectives can be defined for a given quality of service (“QoS”) for one or more users or user groups, file systems, databases, or applications, or classes of file systems, databases, or applications. In addition, the service level objectives can define the cost, availability, time to provision, recoverability, performance and accessibility objectives for the file system, database or application.
1 . A method for deriving a policy for provisioning storage resources, the method comprising:
discovering one or more storage elements that can be provisioned to meet one or more service level objectives;
mapping each of the discovered storage elements to associated capabilities;
mapping each of the capabilities to associated storage solutions;
mapping one or more storage solutions to each of the service level objectives; and
mapping each of the one or more storage solutions to a storage element capable of providing the storage solution.
2 . A method as recited in claim 1 further comprising receiving the one or more service level objectives through a user interface.
3 . A method as recited in claim 2 wherein the user interface includes a graphical user interface.
4 . A method as recited in claim 3 wherein the graphical user interface comprises a slider control bar associated with each of the service level objectives, whereby a user can selectively set one or more of the service level objectives.
5 . A method as recited in claim 4 wherein a first service level objective is dependent upon a second service level objective and setting the second service level objective causes automatic adjustment to the first service level objective.
6 . A method as recited in claim 1 wherein discovering one or more storage elements comprises retrieving storage element capabilities from a knowledge base.
7 . A method as recited in claim 1 wherein mapping each of the discovered storage elements to associated capabilities comprises characterizing each of the storage elements by one or more of types of services, capacity, and bandwidth that the storage element is capable of delivering.
8 . A method as recited in claim 7 further comprising mathematically optimizing a function representing attainment of service level objectives at minimum cost based on heuristics of the managed storage elements.
9 . A method as recited in claim 1 further comprising generating the storage solutions.
10 . A method as recited in claim 9 wherein generating the storage solutions comprises determining one or more of a path assignment hierarchy, a volume assignment hierarchy, a backup recovery assignment hierarchy, and a replication assignment hierarchy.
11 . A method as recited in claim 10 wherein the generated assignment hierarchies result in workflow definition language for driving implementation of the hierarchical processes.
12 . A method as recited in claim 1 wherein mapping each of the capabilities to associated storage solutions comprises generating a logical unit number (LUN) assignment solution set.
13 . A method as recited in claim 1 wherein generating a LUN assignment solution set comprises determining one or more of a path assignment solution set, a volume assignment solution set, a backup recovery assignment solution set, and a replication assignment solution set.
14 . A method for modeling provisioning of planned storage elements, the method comprising:
based on data characterizing planned storage elements, analyzing a level of service level attainment based on addition or deletion of planned storage elements; and
determining changes in provisioning policies and rules based on the planned storage element addition or deletion.
15 . A system for determining storage provisioning policy rules for use in a network having storage elements, the system comprising:
a discovery engine operable to identify storage elements available for provisioning; and
an adaptive engine operable to map solutions to service level objectives and map storage element capabilities to solutions to generate the storage provisioning policy rules.
16 . A system as recited in claim 15 further comprising a graphical user interface enabling a user to set the service level objectives.
17 . A system as recited in claim 16 wherein one service level objective is dependent upon another service level objective, and the graphical user interface automatically adjusts the one service level objective when the another service level objective is set.
18 . A system as recited in claim 15 further comprising an automated provisioning engine that provisions storage elements according to the storage provisioning policy rules.
19 . A system as recited in claim 15 wherein the adaptive engine is further operable to present a user interface enabling a user to enter modeling data for modeling storage elements that could be added.
20 . A system as recited in claim 15 wherein the adaptive engine generates an assignment solution set associating solutions with storage element capabilities.
21 . A system as recited in claim 16 wherein the assignment solution set includes one or more of a path assignment solution set, a backup recovery assignment solution set, a volume assignment solution set, and a replication assignment solution set.
22 . A system as recited in claim 15 wherein the adaptive engine generates assignment hierarchies setting forth a workflow definition language facilitating implementation of hierarchical processes associated with provisioning the storage elements.
23 . A system for deriving rules for provisioning storage elements in a network having one or more storage elements, the system comprising:
a discovery engine identifying available storage elements;
means for mapping solutions to capabilities associated with the storage elements to generate an assignment solution set; and
means for mapping solutions in the assignment solution set to service level objectives to be met by the storage area network, thereby generating solutions for use in provisioning storage elements.
24 . One or more data structures on a computer-readable medium for use by a computer to derive policy rules for provisioning storage resources in a network, the one or more data structures comprising:
an objective field designating an objective to be met by the storage area network, wherein the objective is selected from a group comprising a recovery point objective, a recovery time objective, a backup window objective, a provisioning time objective, a cost objective, an availability objective, a read input/output performance objective, and a write input/output performance objective; and
a solution field designating a solution that meets the objective.
25 . One or more data structures as recited in claim 24 further comprising a storage element capabilities field designating a storage element capability that can implement the solution.
26 . One or more data structures as recited in claim 25 further comprising:
a capability component field designating a capability component; and
an effectiveness coefficient field designating an effectiveness coefficient associated with the capability component, the effectiveness coefficient for use in determining effectiveness of a capability.
27 . One or more data structures as recited in claim 24 , wherein the objective can be modified through user input.
28 . A computer-readable medium having computer-executable instructions, which when executed by a computer, cause the computer to perform a process comprising:
discovering storage elements connected to a network; and
adaptively deriving policy rules for provisioning the storage elements, wherein adaptively deriving comprises mapping storage element capabilities to solutions and calculating a performance effectiveness coefficient indicating a level of effectiveness associated with selected storage element capabilities.