Storage management system having abstracted volume providers
First Claim
Patent Images
1. A storage management system on a computer comprising:
- a volume provider to map a logical storage volume onto one or more storage devices of a storage subsystem, wherein the volume provider presents an application programming interface (API), the API conforming to Component Object Model (COM) interface, to applications on the computer;
the API for receiving first desired behavioral attributes of the logical storage volume;
the volume provider reconfigures the logical storage volume of the one or more storage devices by monitoring and comparing access patterns of the logical storage volume using the first attributes received from a first application and second desired behavioral attributes previously received via the API from a second application, wherein the volume provider reconfigures the logical storage volume if the access patterns differs from the first or second desired behavioral attributes; and
wherein the first and second attributes are selected from a set of predefined attributes including fault tolerance attribute, a fast crash recovery required attribute, a removable attribute, an optimize for sequential reads attribute, an optimize for sequential writes attributes, an optimize for mostly reads attribute, a reconfiguration allowed attribute, an expected maximum size attribute, an optimal read size attribute, an optimal read alignment attribute, optimal write attribute, an optimal write alignment attribute, a maximum number spindles attribute, an interleave size attribute, and a rebuild priority attribute.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage management system in which a volume provider incorporates an application programming interface (API) for receiving storage access information that characterizes high-level input/output (I/O) attributes of the storage volume such as intended access patterns, a desired level of fault handling and optimization preferences. The volume provider and the underlying storage devices conform to the specified attributes as best as possible and resolve any conflicts with the communicated attributes. The volume providers monitor the storage volumes and may reconfigure the storage volumes in order to accomplish the desired attributes.
-
Citations
12 Claims
-
1. A storage management system on a computer comprising:
-
a volume provider to map a logical storage volume onto one or more storage devices of a storage subsystem, wherein the volume provider presents an application programming interface (API), the API conforming to Component Object Model (COM) interface, to applications on the computer;
the API for receiving first desired behavioral attributes of the logical storage volume;
the volume provider reconfigures the logical storage volume of the one or more storage devices by monitoring and comparing access patterns of the logical storage volume using the first attributes received from a first application and second desired behavioral attributes previously received via the API from a second application, wherein the volume provider reconfigures the logical storage volume if the access patterns differs from the first or second desired behavioral attributes; and
wherein the first and second attributes are selected from a set of predefined attributes including fault tolerance attribute, a fast crash recovery required attribute, a removable attribute, an optimize for sequential reads attribute, an optimize for sequential writes attributes, an optimize for mostly reads attribute, a reconfiguration allowed attribute, an expected maximum size attribute, an optimal read size attribute, an optimal read alignment attribute, optimal write attribute, an optimal write alignment attribute, a maximum number spindles attribute, an interleave size attribute, and a rebuild priority attribute. - View Dependent Claims (2, 3, 4)
-
-
5. A method for managing one or more storage volumes of a storage subsystem by a computer comprising:
-
receiving, via application programming interface (API), the API conforming to Component Object Model (COM) interface, presented by a volume provider to applications on the computer, first storage access information from a first application;
previously received, from a second application via the API, second storage access information;
reconfiguring, by the volume provider, one or more logical storage volumes of the storage subsystem as a function of the first and second storage access information, by monitoring and comparing access patterns of the logical storage volume, wherein the reconfiguring by the volume provider occurs if the access patterns differs from the first or second storage access information; and
wherein the first and second storage access information are selected from a set of predefined attributes including fault tolerance attribute, a fast crash recovery required attribute, a removable attribute, an optimize for sequential reads attribute, an optimize for sequential writes attributes, an optimize for mostly reads attribute, a reconfiguration allowed attribute, an expected maximum size attribute, an optimal read size attribute, an optimal read alignment attribute, optimal write attribute, an optimal write alignment attribute, a maximum number spindles attribute, an interleave, and a rebuild priority attribute. - View Dependent Claims (6)
-
-
7. A computer-readable medium having computer-executable instructions to cause a computer to perform a method of:
-
receiving, from a first application via an application programming interface (API), the API conforming to Component Object Model (COM) interface, presented by volume provider to applications on the computer, first storage access information that characterizes desired volume behavioral attributes of one or more storage volumes when stored on a storage subsystem;
receiving, from a second application via the API, second storage access information that characterizes desired volume behavioral attributes of one or more storage volumes;
reconfiguring, by the volume provider, the one or more storage volumes of the storage subsystem based on the first and second access information by monitoring and comparing access patterns of the one or more storage volume, wherein the reconfiguring by the volume provider occurs if the access patterns differs from the first or second storage access information; and
wherein the first and second storage access information are selected from a set of predefined attributes including fault tolerance attribute, a fast crash recovery required attribute, a removable attribute, an optimize for sequential reads attribute, an optimize for sequential writes attributes, an optimize for mostly reads attribute, a reconfiguration allowed attribute, an expected maximum size attribute, an optimal read size attribute, an optimal read alignment attribute, optimal write attribute, an optimal write alignment attribute, a maximum number spindles attribute, an interleave, and a rebuild priority attribute.
-
-
8. The method for configuring a logical volume onto a storage device comprising:
-
receiving, by an application programming interface (API), the API conforming to Component Object Model (COM) interface, exposed by a volume provider to applications on a computer, first desired behavioral attributes for the logical volume form a first application, the first behavioral attributes independent of the storage device physical characteristics;
receiving, by the API, second desired behavioral attributes for the logical volume from a second application on the computer;
the volume provider reconfigures the logical storage volume of the storage devices by monitoring and comparing access patterns of the logical storage volume using the first desired behavioral attributes received from a first application and second desired behavioral attributes previously received via the API from a second application, wherein the volume provider reconfigures the logical storage volume if the access patterns differs from the first or second desired behavioral attributes; and
wherein the first and second desired behavioral attributes are selected from a set of predefined attributes including fault tolerance attribute, a fast crash recovery required attribute, a removable attribute, an optimize for sequential reads attribute, an optimize for sequential writes attributes, an optimize for mostly reads attribute, a reconfiguration allowed attribute, an expected maximum size attribute, an optimal read size attribute, an optimal read alignment attribute, optimal write attribute, an optimal write alignment attribute, a maximum number spindles attribute, an interleave size attribute, and a rebuild priority attribute. - View Dependent Claims (9, 10, 11, 12)
-
Specification