Method and apparatus for provisioning storage resources
First Claim
1. A method, of provisioning at least a portion of a computer system to meet a specification provided in a provisioning request, the method comprising:
- reading the provisioning request, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements; and
automatically provisioning the at least a portion of the computer system to meet the specification provided in the provisioning request, including automatically provisioning at least one-resource from at least one host computer, at least one resource from at least one storage system, and at least one resource from at least one connectivity resource that connects the at least one host computer to the at least one storage system, wherein the provisioning request specifies a provisioning preference and said automatically provisioning attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, said automatically provisioning includes processing to implement the provisioning request without satisfying the provisioning preference, wherein said automatically provisioning further includes performing first processing, said first processing including;
selecting a set of one or more resources;
determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and
wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and wherein if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request.
9 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for automatically provisioning at least a portion of a computer system to meet a specification provided in a provisioning request. In one embodiment, the provisioning includes provisioning at least one resource from each of at least one host computer, at least one storage system, and at least one connectivity resource that connects the at least one host computer to the at least one storage system. In another embodiment, the provisioning includes selecting and configuring at least one logical volume of storage and configuring the computer system to provide access to the selected volume. In another aspect, a computer-readable provisioning transaction is created to provision the computer system, and a computer-readable undo transaction is created to undo it. In a further embodiment, an existing computer system is reverse engineered to create a specification that is modified to create the specification in the provisioning request.
44 Citations
86 Claims
-
1. A method, of provisioning at least a portion of a computer system to meet a specification provided in a provisioning request, the method comprising:
-
reading the provisioning request, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements; and automatically provisioning the at least a portion of the computer system to meet the specification provided in the provisioning request, including automatically provisioning at least one-resource from at least one host computer, at least one resource from at least one storage system, and at least one resource from at least one connectivity resource that connects the at least one host computer to the at least one storage system, wherein the provisioning request specifies a provisioning preference and said automatically provisioning attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, said automatically provisioning includes processing to implement the provisioning request without satisfying the provisioning preference, wherein said automatically provisioning further includes performing first processing, said first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and wherein if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A non-transitory computer readable storage medium encoded with a computer program that, when executed, performs a method of provisioning at least a portion of a computer system to meet a specification provided in a provisioning request, the method comprising:
-
reading the provisioning request, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements; and automatically provisioning the at least a portion of the computer system to meet the specification provided in the provisioning request, including automatically provisioning at least one resource from at least one host computer, at least one resource from at least one storage system, and at least one resource from at least one connectivity resource that connects the at least one host computer to the at least one storage system, wherein the provisioning request specifies a provisioning preference and said automatically provisioning attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, said automatically provisioning includes processing to implement the provisioning request without satisfying the provisioning preference, wherein said automatically provisioning further includes performing first processing, said first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and wherein if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56)
-
-
57. An apparatus, comprising:
-
at least one processor programmed to automatically provision at least a portion of a computer system to meet a specification provided in a provisioning request, including automatically provisioning at least one resource from at least one host computer, at least one resource from at least one storage system, and at least one resource from at least one connectivity resource that connects the at least one host computer to the at least one storage system, wherein the provisioning request specifies a provisioning preference and the at least one processor is programmed to perform processing which attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, the at least one processor is programmed to perform processing to implement the provisioning request without satisfying the provisioning preference, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one Or more storage elements, and wherein said automatically provisioning includes performing first processing, said first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the set also satisfies the requirements relating to a logical association, and wherein if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request. - View Dependent Claims (58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
-
82. A method of provisioning at least a portion of a computer system to meet a specification provided in a provisioning request, the method comprising:
-
reading the provisioning request, the provisioning request defining the at least a portion of the computer system to comprise a unit of storage to be provided to at least one of a plurality of host computers, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements; automatically provisioning the at least a portion of the computer system in response to the provisioning request, including; selecting at least one logical volume of storage from at least one storage system that can serve as the unit of storage defined by the provisioning request; selecting at least one connectivity resource that can provide a communication path through which the selected at least one logical volume can be made accessible to the at least one of the plurality of host computers; creating a transaction that comprises a series of actions to configure the selected at least one logical volume and the selected at least one connectivity resource to satisfy the provisioning request, including configuring the selected at least one logical volume to satisfy the provisioning request, mapping the selected at least one logical volume to at least one port of the at least one storage system through which the selected at least one logical volume will be accessible, configuring the communication path, and configuring the at least a portion of the computer system to provide access to the selected at least one logical volume only to the at least one of the plurality of host computers; and executing the transaction to configure the selected at least one logical volume and the selected at least one connectivity resource in a manner that satisfies the provisioning request, and wherein the provisioning request specifies a provisioning preference and said automatically provisioning attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, said automatically provisioning includes processing to implement the provisioning request without satisfying the provisioning preference, and wherein said automatically provisioning includes performing first processing, said first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request. - View Dependent Claims (83, 84)
-
-
85. A non-transitory computer readable storage medium encoded with a computer program that, when executed, performs a method of provisioning at least a portion of a computer system to meet a specification provided in a provisioning request, the method comprising:
-
reading the provisioning request, the provisioning request defining the at least a portion of the computer system to comprise a unit of storage to be provided to at least one of a plurality of host computers, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements; automatically provisioning the at least a portion of the computer system in response to the provisioning request, including; selecting at least one logical volume of storage from at least one storage system that can serve as the unit of storage defined by the provisioning request; selecting at least one connectivity resource that can provide a communication path through which the selected at least one logical volume can be made accessible to the at least one of the plurality of host computers; creating a transaction that comprises a series of actions to configure the selected at least one logical volume and the selected at least one connectivity resource to satisfy the provisioning request, including configuring the selected at least one logical volume to satisfy the provisioning request, mapping the selected at least one logical volume to at least one port of the at least one storage system through which the selected at least one logical volume will be accessible, configuring the communication path, and configuring the at least a portion of the computer system to provide access to the selected at least one logical volume only to the at least one of the plurality of host computers; and executing the transaction to configure the selected at least one logical volume and the selected at least one connectivity resource in a manner that satisfies the provisioning request, and wherein the provisioning request specifies a provisioning preference and said automatically provisioning attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, said automatically provisioning includes processing to implement the provisioning request without satisfying the provisioning preference, and wherein said automatically provisioning further includes performing first processing, said first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request.
-
-
86. An apparatus, comprising:
-
at least one processor programmed to automatically provision at least a portion of a computer system to meet a specification provided in a provisioning request that defines the at least a portion of the computer system to comprise a unit of storage to be provided to at least one of a plurality of host computers, wherein the provisioning request includes physical requirements for one or more storage elements and requirements relating to a logical association of the one or more storage elements, the at least one processor being programmed to; select at least one logical volume of storage from at least one storage system that can serve as the unit of storage defined by the provisioning request; select at least one connectivity resource that can provide a communication path through which the selected at least one logical volume can be made accessible to the at least one of the plurality of host computers; create a transaction that comprises a series of actions to configure the selected at least one logical volume and the selected at least one connectivity resource to satisfy the provisioning request, including configuring the selected at least one logical volume to satisfy the provisioning request, mapping the selected at least one logical volume to at least one port of the at least one storage system through which the selected at least one logical volume will be accessible, configuring the communication path, and configuring the at least a portion of the computer system to provide access to the selected at least one logical volume only to the at least one of the plurality of host computers; and execute the transaction to configure the selected at least one logical volume and the selected at least one connectivity resource in a manner that satisfies the provisioning request, and wherein the provisioning request specifies a provisioning preference and the at least one processor is programmed to perform processing which attempts to implement the provisioning request satisfying the provisioning preference, and if unable to implement the provisioning request and satisfy the provisioning preference, the at least one processor is programmed to perform processing to implement the provisioning request without satisfying the provisioning preference, and wherein the at least one processor is further programmed to perform first processing including; selecting a set of one or more resources; determining whether the set satisfies the physical requirements, wherein if it is determined that the set does not satisfy the physical requirements, the physical requirements are modified, another set of one or more resources is selected, and it is determined whether the another set satisfies the modified physical requirements; and wherein, after a first set of resources is determined that satisfies the physical requirements or a modified set of the physical requirements, it is determined whether the first set also satisfies the requirements relating to a logical association, and if it is determined that the first set does not satisfy the requirements relating to a logical association, any of the physical requirements and the requirements relating to a logical association are modified, and additional processing is performed to select resources satisfying the provisioning request.
-
Specification