Techniques for managing a storage environment
AssigneeHitachi, Ltd.
InventorsSteven Quinn, Rick Stout, Justin O'Hagan
Life of this patent
Estimating the term…
Abstract
Techniques for managing a storage environment. According to an embodiment of the present invention, high-level application programming interfaces (APIs) are provided that can be used by applications such as storage management applications (e.g., ERM applications, SRM applications) to manage a storage environment. Using these APIs, an application can issue simple high-level commands to perform storage management operations without having to worry about the low level storage array-specific commands. Embodiments of the present invention handle the necessary translations between the high-level commands and the low-level storage array-specific commands or protocols.
Claims34
A method of managing a storage environment, the method comprising:
- receiving a request to perform a first command on a storage array in the storage environment;
- determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- communicating the first plurality of commands to the storage array;
- detecting one or more responses to the first plurality of commands;
- and
- generating a first response to the request to perform the first command based upon the one or more responses.
A method of managing a storage environment, the method comprising:
- receiving a signal indicating invocation of a first application programming interface (API);
- determining a first command to be performed corresponding to the first API;
- determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- communicating the first plurality of commands to the storage array;
- detecting one or more responses to the first plurality of commands;
- and
- generating a first response to the first API based upon the one or more responses.
A system for managing a storage environment comprising:
- a processor;
- a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising:
- a code module for receiving a request to perform a first command on a storage array in the storage environment;
- a code module for determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- a code module for communicating the first plurality of commands to the storage array;
- a code module for detecting one or more responses to the first plurality of commands;
- and
- a code module for generating a first response to the request to perform the first command based upon the one or more responses.
A system for managing a storage environment comprising:
- a processor;
- a memory coupled to the processor, the memory configured to store a plurality of code modules for execution by the processor, the plurality of code modules comprising:
- a code module for receiving a signal indicating invocation of a first application programming interface (API);
- a code module for determining a first command to be performed corresponding to the first API;
- a code module for determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- a code module for communicating the first plurality of commands to the storage array;
- a code module for detecting one or more responses to the first plurality of commands;
- and
- a code module for generating a first response to the first API based upon the one or more responses.
A computer program stored on a computer-readable storage medium for managing a storage environment, the computer program comprising:
- code for receiving a request to perform a first command on a storage array in the storage environment;
- code for determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- code for communicating the first plurality of commands to the storage array;
- code for detecting one or more responses to the first plurality of commands;
- and
- code for generating a first response to the request to perform the first command based upon the one or more responses.
A computer program stored on a computer-readable storage medium for managing a storage environment, the computer program comprising:
- code for receiving a signal indicating invocation of a first application programming interface (API);
- code for determining a first command to be performed corresponding to the first API;
- code for determining a first plurality of commands corresponding to the first command, the first plurality of commands belonging to a first communication protocol used for communicating with the storage array;
- code for communicating the first plurality of commands to the storage array;
- code for detecting one or more responses to the first plurality of commands;
- and
- code for generating a first response to the first API based upon the one or more responses.
Dependencies are inferred from the claim text.