Storage path optimization for SANs
First Claim
1. A storage area network (SAN), comprising:
- a host system comprising an application;
a storage device comprising application data;
a SAN fabric comprising a plurality of components for coupling the host system to the storage device;
a system external to the SAN fabric configured to implement a storage path monitor, wherein the storage path monitor is configured to;
monitor performance metrics of a plurality of paths through the SAN fabric from the host system to the storage device, wherein the application accesses the application data via one of the plurality of paths;
generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time;
determine current quality of service of each of the paths from the monitored performance metrics;
determine another one of the plurality of paths predicted based on the historical performance data to provide a higher quality of service than the one of the plurality of paths; and
change the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold.
9 Assignments
0 Petitions
Accused Products
Abstract
Embodiments of a system and method for rule-based proactive storage path optimization for SANs. Embodiments may evaluate paths between an application and its storage on a SAN based on current and/or historical path quality of service. Performance of alternative paths may be monitored to determine if a better path than a path currently in use is available. If a better path is determined, then the path may be switched to the better path. In one embodiment, one or more zones may be reconfigured to migrate to a different path. Path migration may be performed automatically without user intervention. Alternatively, a user may be given the option to manually migrate to a new path. Embodiments may proactively change paths between an application and its storage before path performance becomes a problem. Embodiments may be integrated with a SAN management system or, alternatively, may be standalone mechanisms.
335 Citations
22 Claims
-
1. A storage area network (SAN), comprising:
-
a host system comprising an application; a storage device comprising application data; a SAN fabric comprising a plurality of components for coupling the host system to the storage device; a system external to the SAN fabric configured to implement a storage path monitor, wherein the storage path monitor is configured to; monitor performance metrics of a plurality of paths through the SAN fabric from the host system to the storage device, wherein the application accesses the application data via one of the plurality of paths; generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time; determine current quality of service of each of the paths from the monitored performance metrics; determine another one of the plurality of paths predicted based on the historical performance data to provide a higher quality of service than the one of the plurality of paths; and change the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A storage area network (SAN), comprising:
-
a host system comprising an application; a storage device comprising application data; a SAN fabric comprising a plurality of components for coupling the host system to the storage device; a system configured to implement a storage path monitor, wherein the storage path monitor is configured to; monitor performance metrics of a plurality of paths through the SAN fabric from the host system to the storage device, wherein the application accesses the application data via one of the plurality of paths; determine an interval for which quality of service on the one of the plurality of paths is predicted to be below a quality of service threshold from the monitored performance metrics; determine another one of the plurality of paths predicted to provide a higher quality of service for the interval than the one of the plurality of paths; and change the paths prior to the interval so that the application accesses the application data via the other one of the plurality of paths during the interval. - View Dependent Claims (9)
-
-
10. A storage path monitor system, comprising:
-
a processor; and a memory storing program instructions, wherein the program instructions are executable by the processor to perform the steps of; monitor performance metrics of a plurality of paths through a fabric of a storage area network (SAN) from a host system to a storage device, wherein an application on the host system accesses application data on the storage device via one of the plurality of paths; generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time; determine current quality of service of each of the paths from the monitored performance metrics; determine another one of the plurality of paths predicted based on the historical performance data to provide a higher quality of service than the one of the plurality of paths; and change the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold; wherein the storage path monitor system is external to said fabric. - View Dependent Claims (11, 12, 13)
-
-
14. A system, comprising:
-
means for monitoring performance metrics of a plurality of paths through a fabric of a storage area network (SAN) from a host system to a storage device, wherein an application on the host system accesses application data on the storage device via one of the plurality of paths, wherein said monitoring comprises monitoring performance metrics from a location external to the fabric; means for generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time; means for determining current quality of service of each of the paths from the monitored performance metrics; means for determining another one of the plurality of paths predicted based on the historical data to provide a higher quality of service than the one of the plurality of paths; and means for changing the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold.
-
-
15. A method, comprising:
-
monitoring performance metrics of a plurality of paths through a fabric of a storage area network (SAN) from a host system to a storage device, wherein an application on the host system accesses application data on the storage device via one of the plurality of paths, wherein said monitoring comprises monitoring performance metrics from a location external to the fabric; generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time; determining current quality of service of each of the paths from the monitored performance metrics; determining another one of the plurality of paths predicted based on the historical data to provide a higher quality of service than the one of the plurality of paths; and changing the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold. - View Dependent Claims (16, 17, 18)
-
-
19. A computer storage medium storing program instructions, wherein the program instructions are executed to perform the steps of:
-
monitoring performance metrics of a plurality of paths through a fabric of a storage area network (SAN) from a host system to a storage device, wherein an application on the host system accesses application data on the storage device via one of the plurality of paths, wherein said monitoring comprises monitoring said performance metrics from a location external to the fabric; generating historical performance data for each path of said plurality of paths based on the performance metrics over a period of time; determining current quality of service of each of the paths from the monitored performance metrics; determining another one of the plurality of paths predicted to provide a higher quality of service than the one of the plurality of paths; and changing the paths so that the application accesses the application data via the other one of the plurality of paths predicted to perform above a quality of service threshold. - View Dependent Claims (20, 21, 22)
-
Specification