System, Method, and Computer Program Product for Storage Management Dashboard

An example method for providing contextual information of a computer system includes determining a current state of an attribute of one or more storage resources. The one or more storage resources is coupled to a computer system, and the current state of the storage resource attribute is monitored by a performance monitoring tool. The example method includes determining a target state of the attribute and displaying a user interface including contextual information regarding the attribute. The example method further includes rendering in the user interface a graph representative of the current state and the target state of the attribute o. In some examples, the method further includes determining a forecast for the attribute and rendering the forecast in the user interface. In some examples, the user interface may include a visual indication of whether the attribute is in violation of a policy.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE

The present application claims the benefit of U.S. Provisional Patent Application No. 61/919,487, filed Dec. 20, 2013, and entitled “System, method, and computer program product for monitoring infrastructure and assets,” the disclosure of which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The present disclosure relates generally to computing system monitoring and, more particularly, to providing visual information about the state of computing systems.

BACKGROUND

Information storage systems may include a variety of different hardware and software components. For instance, a storage system may include one or more storage controllers, where each of the storage controllers provides the low-level control for a plurality of physical storage drives. The storage system may also include network connections and other items that are ancillary to the storage functionality of the system. Storage systems continue to become more and more complex, with storage controllers hosting an increasing number of logical storage volumes and storage controllers being clustered rather than simply standing alone.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified block diagram of an example computing system according to one embodiment.

FIG. 2 is a simplified block diagram of an example relationship among applications and a storage cluster according to one embodiment.

FIG. 3 is a simplified diagram of an example display of contextual information of a computing system according to one embodiment.

FIG. 4 is a simplified diagram of an example method of displaying contextual information of a computing system according to one embodiment.

FIG. 5 is a simplified diagram of an example method of displaying contextual information of a computing system according to one embodiment.

FIG. 6 is a simplified diagram of an example service-oriented architecture (SOA) according to one embodiment.

DETAILED DESCRIPTION

In the following description, specific details are set forth describing some embodiments consistent with the present disclosure. It will be apparent, however, to one skilled in the art that some embodiments may be practiced without some or all of these specific details. The specific embodiments disclosed herein are meant to be illustrative but not limiting. One skilled in the art may realize other elements that, although not specifically described here, are within the scope and the spirit of this disclosure. In addition, to avoid unnecessary repetition, one or more features shown and described in association with one embodiment may be incorporated into other embodiments unless specifically described otherwise or if the one or more features would make an embodiment non-functional.

I. Overview

Various embodiments of the present disclosure provide providing contextual information of a computer system that is both efficient and easy to understand for a human user. One embodiment includes a user interface that provides graphing of performance metric data for one or more storage resources. For example, a storage resource may include multiple storage drives, virtual volumes, network connections, switches, and virtual machines, among other assets. A human user has a convenient visual comparison tool in the user interface that enables the user to compare information about one or more storage resources.

Silos of information may exist in different repositories in a storage environment. For example, some information may be stored in databases or management presentations. It may be desirable for a dashboard to provide visibility into a storage environment with sufficient context to enable the user to make informed decisions, ask relevant questions, and track the progress of one or more storage resources. Rather than just have a view of the raw or available storage capacity, the user may be able to determine (e.g., from a financial view point) how the storage usage is progressing in accordance with a plan (e.g., the target state).

To display contextual storage information and to perform other tasks, a monitoring system accesses and displays information associated with storage systems and the components, assets, and elements in those storage systems. A storage resource may refer to a component that stores data or assists in the storage of data. An attribute of a storage resource may refer to an object closely associated with or belonging to the storage resource.

In an example, the storage resource is a storage server, and the storage attribute is the response time of the storage server. The current state of an attribute of a storage resource may be determined. The current state may be monitored by a system monitoring tool. A value of the attribute may range among different values and the attribute may have an acceptable range. For example, an acceptable range may be up to 5 milliseconds (0-5 ms). A user interface including contextual information regarding the storage resource attribute may be displayed. A graph may be rendered in the user interface, where the graph is representative of the current state and the acceptable range for the storage resource attribute. The graph may also include a use forecast, which may refer to a projection of a value of the storage resource attribute. In an example, linear regression may be used to determine the user forecast. The graph enables the user to visualize the attributes of storage resources and be more knowledgeable of the storage infrastructure and environment.

In another example, the storage resource is a storage server, and the storage attribute is storage capacity. The current state and target state of an attribute of a storage resource may be determined. The current state may be monitored by a system monitoring tool, and a user may provide the target state of the storage resource attribute. A user interface including contextual information regarding the storage resource attribute may be displayed. A graph may be rendered in the user interface, where the graph is representative of the current state and the target state of the storage resource attribute. The graph may be, for example, a Bullet graph including the current state, the target state, and the use forecast of the storage resource attribute. The Bullet graph may be representative of the current storage capacity, target storage capacity, and the use forecast of the storage environment monitored by the performance monitoring tool.

Additionally, all categories displayed may be hyperlinked such that a user selecting the hyperlink may be provided with a report regarding the current state, target state, and/or use forecast of the storage resource attribute. The user interface may also display visual indications to highlight particular categories that violate a user-configured policy or that may violate a user-configured policy if not dealt with soon by the user.

II. Example System Architectures

The example of FIG. 1 below is directed to a network storage system, and the scope of embodiments is applicable to a wide variety of computer systems other than storage systems. Accordingly, the concepts described herein for monitoring and providing contextual information may be applied to computing systems generally.

FIG. 1 is an illustration of a network storage system 190 adapted according to one embodiment. Various embodiments of the present disclosure may be implemented by the network storage system 190, as described in more detail below.

The system 190 includes server system 110 connected to client system 160 via a network 165. The server system 110 accesses storage subsystems 100 that are connected to the server system 110 via a network 167. The storage subsystems 100 are included in a cluster 135. Each storage system 100 in the cluster 135 includes a set of storage devices 130 for storing client data, the storage devices 130 of the cluster 135 providing the shared storage of the storage system 100. Each storage subsystem 100 also includes a storage controller 101. Each storage controller 101 exercises low-level control over physical storage devices 130 to provide virtualized storage to server system 110 and client 160. Examples of storage hardware that can be used as physical storage devices 130 includes, e.g., hard disk drives and solid state drives, though the scope of embodiments is not limited to any particular storage hardware.

Each storage device 130 may store data from logical storage entities such as one or more storage volumes, where each volume has a file system implemented on the volume. A file system implemented on the logical storage entity may provide multiple directories in a single volume, each directory containing various filenames each of which may be mapped to a multitude of storage devices 130.

Client system 160 may run one or more applications (e.g., word processing or database programs, typified by application 161) that use the storage system. Client system 160 includes a computer system that interacts with server system 110 for submitting read/write access requests and for receiving or transmitting data from or to the server system 110 over the network 165. In a virtual server environment, application 161 on client system 160 may interact over the network 165 with one or more virtual machines (VMs) 115 executing on server system 110.

Various embodiments may include a system monitoring tool that receives data from the system assets, monitors performance of the system assets, and provides user access to analyzed system data. System 190 includes a system monitoring tool that is implemented as an application. For instance, a system monitoring tool can be implemented as application 161 at client 160. Additionally or alternatively, the system monitoring tool may be implemented as one of applications 112, 117, 119. For the purposes of this example, application 117 is described as the system monitoring tool. The system monitoring tool 117 receives system data by communicating with storage operating systems at each storage controller 101. For instance, system monitoring tool 117 may communicate via one or more application programming interfaces (APIs) to receive system information, such as hardware names, volume names, usage data, storage capacity, read and write operations per second, and the like. Various types of system information are described in more detail below. In short, the system information of this example includes any type of information that allows the monitoring tool 117 to construct a comprehensive description of the architecture, state, and performance of system 190.

System 190 also includes a dashboard manager that provides contextual information of the system to a human user in an easily understandable format. Dashboard manager 119 may be implemented as an application. For the purposes of this example, application 119 is described as the dashboard manager 119. The dashboard manager 119 receives system data by retrieving the data collected by the system monitoring tool 117. In an example, system monitoring tool 117 collects the data and stores the data in a data warehouse. Dashboard manager 119 may communicate with the data warehouse via one or more application programming interfaces (APIs) to receive system information, such as hardware names, volume names, usage data, storage capacity, read and write operations per second, and the like. Although system monitoring tool 117 and dashboard manager 119 are illustrated as being separate applications, in other embodiments, system monitoring tool 117 and dashboard manager 119 may be combined into one application.

Server system 110 includes a computer system that executes applications and interacts with the client system 160 for receiving read/write access requests and receiving or transmitting data from or to the client system 160 over the network 165. Server system 110 in this example is connected to the client system 160 over a network 165 such as a local area network (LAN), an Ethernet subnet, a peripheral component interconnect (PCI) or PCI express (PCIe) subnet, a switched PCIe subnet, a wide area network (WAN), a metropolitan area network (MAN), the Internet, or the like.

The server system 110 may include any appropriate computer hardware and software. In one example, server system 110 includes a general-purpose computer configured to execute any of a variety of operating systems, including the Unix™, Linux™, and Microsoft Windows™ operating systems.

Server system 110 includes hypervisor 113, which creates and manages one or more Virtual Machines (VMs)—in this case, VM 115. The present example shows only a single VM 115, though in other embodiments, the server 110 includes multiple VMs (not shown), each VM being used by and connected with a client 160 through computer network 165. Thus, systems with more than one client 160 may include more than one VM 115, each client being supported by at least one VM. VM 115 includes an encapsulation or instance of an operating system and applications 112, 117, and 119 executing on top of that instance. Briefly, application 112 provides read/write access to the clients 160 to data stored in cluster 135. Application 117 is a system monitoring tool described in more detail below. In some embodiments, different types of VM hypervisors 113 may be used (e.g., VMware™ ESX, Microsoft™ Hyper-V, etc.). Application 119 provides contextual information of one or more storage resources for a user.

Each storage system 100 is configured to allow server system 110 to access its data, for example, to read or write data to the storage system. The server system 110 executes application 112 that “connects” to storage systems 100 over computer network 167 to send an access request (read or write request) to storage system 100 for accessing particular data stored on the storage system 100. The VM application 112 executing on the server 110 services the connected client 160 by receiving the client access requests and submitting the access requests to the storage system 100 for execution.

The scope of embodiments is not limited to the particular architecture of system 190. For instance, other systems may include additional servers, each server being similar to server system 110. While the example of FIG. 1 shows only one client 160, it is understood that any appropriate number of clients may be supported by the system 190. Moreover, while cluster 135 shows two storage subsystems 100a and 100b, it is understood that any appropriate number of controllers and storage drive arrays may be used with various embodiments. For instance, some embodiments may include only a single storage subsystem, whereas other embodiments may include three or more storage subsystems. In other words, the scope of embodiments is not limited to a single storage cluster.

System monitoring tool 117 monitors the assets of system 190, where the assets include any hardware or software component that is included in the architecture of system 190 or affects the performance of the system 190. Examples of assets include the underlying storage drives (e.g., HDDs and SSDs), virtual volumes, storage controllers, storage subsystems, aggregates of storage subsystems, network connections, virtual machines, hypervisors, applications, and the like.

FIG. 2 is a block diagram illustration of an exemplary conceptual layout according to one embodiment. Application 117 is a system monitoring application that provides for data collection, analysis, and display for performance aspects and contextual information of system 190. As explained above with respect to FIG. 1, tool 117 may be run in a VM in a storage server; additionally or alternatively, a performance management tool may be embodied as an application run on a client (not shown) or on any appropriate computer in communication with cluster 135.

A human user interacts with system monitoring tool 117 via UI 118. UI 118 may include a command line interface, a graphical user interface (GUI), or other appropriate interface. The human user may rely on UI 118 for troubleshooting and viewing performance data. For instance, the human user may input information identifying requested contextual information, performance statistics, identify new assets, and change settings using UI 118. FIG. 3 describes an example screen that may be displayed by UI 118.

Storage operating systems (OSs) 136 run on storage controllers 100 (FIG. 1). The scope of embodiments may include any appropriate OS that provides low-level control to implement virtual storage on storage drives. Storage OS instances 136 run on one or more processors at storage controllers 100. Also, communication between storage OSs 136 and system monitoring tool 117 go through communication links, such as network 167 (FIG. 1).

System monitoring tool 117 automatically imports information on the various infrastructure assets in system 190, providing accurate and real-time visibility of servers, virtual servers, Host Bus Adaptors (HBAs), switches, storage arrays, and the like. In one example, system monitoring tool 117 discovers the assets by polling each of the assets that it is aware of. Each of the deployed assets provides one or more APIs that can be used to request information therefrom. System monitoring tool 117 is programmed to use those APIs to automatically import the information. Imported information can include, but is not limited to, storage capacity, data usage, device type, latency, operations per second, faults, and the like. The scope of embodiments is not limited to any particular asset information, and any appropriate asset information may be imported in various embodiments.

III. Example Dashboard

FIG. 3 is an example display 3000 of system contextual information according to one embodiment. FIG. 3 may be presented by UI 118 (FIG. 1) on a display screen of a computing device to a human user. The underlying data analysis is performed by system monitoring tool 117 and dashboard manager 119 (FIG. 1). FIG. 3 shows a graphical display in which contextual information for multiple, different assets is displayed, thereby providing the human user with intuitive, digestible information. Dashboard manager 119 provides contextual information of the storage environment to a user via dashboard 3002.

Display 3000 illustrates a storage manager dashboard 3002, which in this example is provided in a single screen of information providing contextual information for the management of storage infrastructure and services. Silos of information may exist in different repositories in the storage environment. For example, some information may be stored in databases or management presentations. Dashboard 3002 provides visibility into a storage environment with sufficient context to enable the user to make informed decisions, ask relevant questions, and track the progress of one or more storage resources. Rather than just have a view of the raw or available storage capacity, the user may be able to determine (e.g., from a financial view point) how the storage usage is progressing in accordance with a plan (e.g., the target state).

Dashboard 3002 highlights issues and may allow an administrator to easily compare a current state of an attribute of one or more storage resources to a target state of the attribute of the one or more storage resources. A storage resource may refer to a component that stores data or assists in the storage of data. In an example, a storage resource may be a networked storage device (e.g., storage server), storage controller, network controller, caching unit, disk pool, storage drive (e.g., solid-state drive (SSD) or a disk), storage cluster, rack server, redundant array of independent disks (RAID), physical or virtual storage volume, or storage aggregate. An attribute of a storage resource may refer to an object closely associated with or belonging to the storage resource. Dashboard manager 119 may determine a current state of the attribute of one or more storage resources. The current state of the storage resource attribute may be monitored by system monitoring tool 117.

In an example, the storage resources are storage servers, and an attribute of the storage server is its storage capacity. In such an example, dashboard manager 119 may determine the current storage capacity of the storage servers (e.g., used and allocated memory).

In another example, the storage resources are storage servers, and an attribute of a storage server is its acceptable range of response times. In such an example, dashboard manager 119 may determine the acceptable range of response times (e.g., for different storage tiers). In another example, the storage resources are storage servers, and an attribute of a storage server is its response time. In such an example, dashboard manager 119 may determine the current response time of the storage servers (e.g., for different storage consumers). In another example, the storage resources are storage servers, and an attribute of a storage server is its input/output per seconds (IOPS). In such an example, dashboard manager 119 may determine the current IOPS of the storage servers.

Dashboard manager 119 may also break down the storage by tiers. For example, an attribute of the storage server may be a tier of the storage server (e.g., tier 1 storage, tier 2 storage, etc.). In another example, an attribute of the storage server is a location of a data center that includes the storage server.

In an example, the storage resources are storage servers, and an attribute of the storage server is storage traffic. In such an example, dashboard manager 119 may determine the current storage traffic of a storage server within a time frame (e.g., daily storage traffic, traffic within the last seven days, or traffic within the last month, etc.). Dashboard manager 119 may, for the storage servers, determine the daily mean for the storage traffic within the particular time frames and render graphs representative of the daily means. Storage traffic may be in accordance with the number of requests received from one or more clients, IOPS, number of blocks accessed, number of bytes retrieved, etc.

In another example, the storage resources are fiber channel (FC) switch ports, and an attribute of the FC switch port is a connection. In such an example, dashboard manager 119 may determine the current number of FC switch port connections (e.g., number of FC switch port connections and the total number of FC switch ports). In another example, the storage resource is FC bandwidth, and an attribute of the FC bandwidth is utilization. In such an example, dashboard manager 119 may determine the current FC bandwidth utilization.

The user may also be referred to as an administrator. An administrator may be tasked with overseeing the storage infrastructure. The administrator may set a target state of an attribute of the one or more storage resources in a variety of ways. In an example, the administrator has a best guess capacity projection (e.g., I want to buy X storage capacity) and sets this as the target state of the attribute. In another example, the administrator determines a target capacity for each storage tier and the sum of each of the target capacities determines the final target storage capacity. In another example, the total storage capacity of the environment may be determined and the target state of the attribute may depend on the total storage capacity of the environment.

Dashboard 3002 may also allow the user to easily compare current state of an attribute of one or more storage resources to a use forecast of the attribute of the one or more storage resources. For example, dashboard 3002 allows the rapid visualization of current and future issues in the storage infrastructure. Storage information is structured in dashboard 3002 in a highly visible format such that it is easy for the human user to understand the context of storage resources. Dashboard 3002 is displayed on a single window viewable in, for example, a Web browser via, for example, a laptop, desktop, or mobile device. The information displayed in dashboard 3002 is collected from system monitoring tool 117 and may be stored in a data warehouse. Additionally, the collected data may be augmented with information that is configurable by the user to give context to the storage resources and allow comparisons between storage resources. In an example, the human user provides the system with information via UI 118.

Dashboard 3002 displays a variety of discrete panes providing contextual storage management. For example, an administrator may look into different storage attributes and compare them to expectations. In the example illustrated in FIG. 3, dashboard 3002 includes panes 3004, 3006, 3008, 3010, 3012, 3014, and 3016. Each pane contains contextual information on certain aspects of the storage environment and provides a condensed format to enable the administrator to find storage information quickly. The panes displayed in dashboard 3002 may provide the administrator with a story regarding the availability and usage of storage resources in the storage environment. Accordingly, the administrator may feel in control of and knowledgeable about the storage environment. Although dashboard 3002 is illustrated as including seven panes, this is not intended to be limiting and other embodiments may include more or fewer than seven panes. The dashboard may include one or more panes.

A. Summary

Pane 3004 is labeled “Summary” 3020 and is displayed in the upper left-hand corner of dashboard 3002. Pane 3004 displays a summary, detailing storage capacity 3022, fiber channel (FC) switch ports 3024, and FC bandwidth 3026, and how they trend over time for the last twelve months.

1. Storage Capacity

Dashboard manager 119 may display a user interface including contextual information regarding an attribute of one or more storage resources. For example, dashboard manager 119 may render in the user interface a graph representative of the current state, the target state, and/or use forecast of the attribute of the one or more storage resources. In an example, dashboard manager 119 renders a Bullet graph including the current state, the target state, and the use forecast of the storage resource attribute, as will be explained further below.

Storage capacity in terms of use and allocation are plotted against time (last 12 months) on a graph 3028. In dashboard 3002, Bullet graphs are used in a storage context. For example, a Bullet graph 3030 in pane 3004 illustrates the overall capacity of the storage environment and enables a user to discern storage capacity trends in relation to a current state, a target state, and a use forecast of storage capacity. Storage capacity 3022 is visually depicted in relation to used and allocated storage capacity.

Based on the data collected by system monitoring tool 117, dashboard manager 119 may determine a current state of an attribute of one or more storage resources in network storage system 190. The current state of the storage resource attribute may be monitored by system monitoring tool 117. In an example, system monitoring tool 117 stores the data collected regarding the storage capacity in a data warehouse, and dashboard manager 119 retrieves that data from the data warehouse, processes the data, and displays the data in dashboard 3002. The attribute may be storage capacity 3022. In the example illustrated in FIG. 3 and in regard to the current state of storage capacity, dashboard manager 119 determines that 13 petabytes (PBs) are currently being used. The current state of storage capacity may indicate the actual storage capacity in network storage system 190. Dashboard 3002 shows the current state of storage capacity, which is illustrated numerically by the “13 PB” displayed to the left of Bullet graph 3030 and is also illustrated in a left portion 3032 of Bullet graph 3030.

Dashboard manager 119 may determine the use forecast for an attribute of one or more storage resources in network storage system 190 by, for example, running an algorithm. In an example, dashboard manager 119 predicts the storage capacity by running the algorithm on data collected on the storage capacity in network storage system 190. In such an example, the algorithm may include a linear regression algorithm. For example, the linear regression algorithm may model the collected data as a best fit line (e.g., to minimize a square of the errors between the collected data and the data as modeled by the best fit line) over time and extract a forecast in the future by projecting along the best fit line. The increase in storage capacity may be used in the linear regression algorithm to determine the storage capacity in the future and also a use forecast in terms of how much storage capacity will be consumed throughout the year. The algorithm may be applied to each of the storage resource attributes to determine the user forecast for the storage resource attribute.

The administrator may easily be able to determine where the company is relative to a target state of the storage resource attribute. In the example illustrated in FIG. 3 and in regard to the use forecast for storage capacity 3022, dashboard manager 119 determines that the use forecast is 20 PBs. The use forecast for storage capacity 3022 is illustrated numerically by the “20 PB” displayed to the right of Bullet graph 3030 and is also illustrated in a right portion 3036 of Bullet graph 3030.

Dashboard manager 119 may provide a context by allowing entry of a target state of storage resource attribute in network storage system 190. Dashboard manager 119 may determine the target state of the attribute of the one or more storage resources. In an example, a user provides dashboard manager 119 with information regarding the target state of an attribute for one or more storage resources in network storage system 190. The user may provide dashboard manager 119 with the target state via UI 118. In the example illustrated in FIG. 3 and in regard to the target state of storage capacity 3022, the user may provide 17.5 PBs as the target storage capacity to use. Dashboard manager 119 may receive the target state (e.g., target storage capacity) input by the user and depict the target state by a mark 3034 at a position that represents the target state on Bullet graph 3030. Mark 3034 is placed between 15 PBs and 20 PBs and is at a position representing 17.5 PBs in Bullet graph 3030. In such an example, the administrator may have allocated funds for 17.5 PBs of storage capacity.

Regarding the example contextual storage information regarding storage capacity displayed in pane 3004, the storage resource attribute is storage capacity, and Bullet graph 3030 is representative of the current storage capacity, target storage capacity, and the use forecast of a storage environment monitored by system monitoring tool 117. The storage environment includes the one or more storage resources. The human user may visually discern the current state, target state, and use forecast of storage capacity. The user may track storage usage, and compare and contrast the current state, system's prediction(s) (e.g., dashboard manager 119's prediction(s)), and/or target state of storage capacity. For example, the user may configure the system to show the target state and use forecast of a storage resource attribute for the end of the financial year so that the user can track storage capacity growth compared to the use forecast. Accordingly, users may compare the data to their understanding of the storage environment and be able to adjust their trajectories and budget allocation.

For example, in FIG. 3, the actual storage capacity (13 PBs) does not reach the target storage capacity (17.5 PBs). If dashboard 3002 illustrates the storage capacity state in December at the end of the year, the administrator may determine that she over budgeted. If, however, dashboard 3002 illustrates the storage capacity state in February at the beginning of the year, the administrator may be concerned because the actual storage capacity may be quickly approaching the target storage capacity and the administrator may have under budgeted. In another example, the administrator may view Bullet graph 3030 and identify that the target state (17.5 PBs) is less than the use forecast (20 PBs). In such an example, the administrator may conclude that she under-budgeted on storage capacity and may need to purchase more storage.

2. Networking Resources

a. FC Switch Port Connections

In another example, the storage resource is an FC switch port, and the attribute is an FC switch port connection. In FIG. 3, FC switch port connections are plotted against time (last 12 months) on a graph 3038. Additionally, a Bullet graph 3040 illustrates the FC switch port connections in the storage environment and enables a user to discern FC switch port connection trends in relation to a current state, a target state, and a use forecast of FC switch ports. FC switch ports 3024 are visually depicted in relation to connections and total quantity of FC switch ports.

Based on the data collected by system monitoring tool 117, dashboard manager 119 may determine a current state of FC switch port connections in network storage system 190. In the example illustrated in FIG. 3 and in regard to the current state of FC switch port connections, dashboard manager 119 determines that 65,000 FC switch ports are currently connected in network storage system 190. The current state of FC switch port connections may indicate the actual quantity of FC switch ports currently connected in network storage system 190. Dashboard 3002 shows the current state of FC switch port connections, which is illustrated numerically by the “65K” displayed to the left of Bullet graph 3040 and is also illustrated in a left portion 3042 of Bullet graph 3040.

Dashboard manager 119 may determine the use forecast for FC switch port connections as described above for storage capacity. In the example illustrated in FIG. 3 and in regard to the use forecast for FC switch ports 3024, dashboard manager 119 determines that the use forecast of FC switch ports is 115,000 FC switch port connections. The use forecast for FC switch ports 3024 is illustrated numerically by the “115K” displayed to the right of Bullet graph 3040 and is also illustrated in a right portion 3046 of Bullet graph 3040.

Dashboard manager 119 may determine the target state of FC switch ports 3024 as described above for storage capacity. In the example illustrated in FIG. 3 and in regard to the target state of FC switch ports 3024, the user may provide 130,000 as the target FC switch port connections to use. Dashboard manager 119 may receive the target state (e.g., target FC switch port connections) input by the user and depict the target state by a mark 3044 at a position that represents the target state on Bullet graph 3040. Mark 3044 is placed between 125K and 150K and is at a position representing 130K in Bullet graph 3040. In such an example, the administrator may have allocated funds for 130,000 FC switch port connections.

Regarding the example contextual storage information regarding FC switch ports displayed in pane 3004, the storage resource attribute is FC switch port connections, and Bullet graph 3040 is representative of current FC switch port connections, target FC switch port connections, and the use forecast of FC switch port connections in a storage environment monitored by system monitoring tool 117. The human user may visually discern the current state, target state, and use forecast of FC switch ports. The user may track the quantity of FC switch port connections, and compare and contrast the current state, system's prediction(s) (e.g., dashboard manager 119's prediction(s)), and/or target state of FC switch port connections. For example, the administrator may view Bullet graph 3040 and identify that the use forecast (115,000 FC switch port connections) is less than the target state (130,000 FC switch port connections). Thus, the administrator may conclude that it is unnecessary to purchase more FC switch ports.

b. FC Bandwidth

In another example, the storage resource is FC bandwidth, and the attribute is FC bandwidth utilization. In FIG. 3, FC bandwidth is plotted against time (last 12 months) on a graph 3058. Additionally, a Bullet graph 3050 illustrates the FC bandwidth utilization of the storage environment and enables a user to discern FC bandwidth utilization trends in relation to a current state and a use forecast of FC bandwidth. FC bandwidth 3026 is visually depicted in relation to utilization and capacity.

In dashboard 3002, the FC bandwidth utilization data set does not include a target state but does include acceptable ranges. In an example, the human user configures the acceptable ranges of the FC bandwidth via, for example, UI 118. In another example, the acceptable ranges of the FC bandwidth are already set and the user is unable to change the acceptable ranges. Dashboard manager 119 may determine an acceptable range for the attribute of the one or more storage resources (e.g., FC bandwidth) and display a user interface including contextual information regarding the attribute of the one or more storage resources. Dashboard manager 119 may render in the user interface a graph representative of the current state and the acceptable range for the attribute of the one or more storage resources.

Bullet graph 3050 displays the actual utilization compared against these acceptable ranges. In dashboard 3002, the acceptable ranges include three different levels of acceptable ranges—low utilization (0-50 percent utilization), mid utilization (51-75 percent utilization), and high utilization (76-100 percent utilization). Other embodiments may include fewer or more than three utilization levels and may differ in their utilization percentages for each level.

Based on the data collected by system monitoring tool 117, dashboard manager 119 may determine a current state of FC bandwidth utilization in network storage system 190. In the example illustrated in FIG. 3 and in regard to the current state of FC bandwidth utilization, dashboard manager 119 determines that 60 percent of FC bandwidth is currently being used. The current state of FC bandwidth utilization may indicate the actual use of FC bandwidth currently being consumed in network storage system 190. Dashboard 3002 shows the current state of FC bandwidth utilization, which is illustrated numerically by the “60%” displayed to the left of Bullet graph 3050 and is also illustrated in a portion 3052 of Bullet graph 3050.

Dashboard manager 119 may determine the use forecast for FC bandwidth utilization as described above for storage capacity. In the example illustrated in FIG. 3 and in regard to the use forecast for FC bandwidth 3026, dashboard manager 119 determines that the use forecast is 312 terabytes (TBs) per second. The use forecast for FC bandwidth 3026 is illustrated numerically by the “312 TB/s” displayed to the right of Bullet graph 3050.

Regarding the example contextual storage information regarding FC bandwidth displayed in pane 3004, the storage resource attribute is FC bandwidth utilization, and Bullet graph 3050 is representative of current FC bandwidth utilization, target FC bandwidth utilization, and the use forecast of FC bandwidth utilization in a storage environment monitored by system monitoring tool 117. The human user may visually discern the current state and use forecast of FC bandwidth utilization. The user may track FC bandwidth utilization, and compare and contrast the current state and system's prediction(s) (e.g., dashboard manager 119's prediction(s)) of FC bandwidth utilization. For example, the user may configure the system to show the current state and use forecast of FC bandwidth. If the current state of FC bandwidth utilization is 40 percent, the administrator may decide to not allocate any more funds to FC bandwidth. If, however, the current state of FC bandwidth utilization is 75 percent, the administrator may decide to allocate more funds to FC bandwidth.

3. Provide Hyperlinks Corresponding to the Storage Resource Attribute

Dashboard manager 119 may provide a hyperlink that corresponds to a storage resource attribute. In response to a user selecting the hyperlink, dashboard manager 119 provides a report regarding the current state, target state, and/or use forecast of the storage resource attribute. The report may have information on, for example, the current state, target state, and/or use forecast of the storage resource attribute over a threshold period of time.

4. Visual Indications

A user may provide a policy in relation to one or more storage resources. In an example, dashboard manager 119 determines whether a violation in a policy (e.g., user-configured policy) for a storage resource attribute has occurred. The user may enter the policy via UI 118. In response to determining that a violation in a policy (e.g., user-configured policy) for a storage resource attribute has occurred, dashboard manager 119 may display in dashboard 3002 a visual indication that the violation has occurred. The visual indication is used to alert the human user of the violation. A visual indication may be displayed near the particular category that has violated a policy in dashboard 3002 to enable rapid visualizations of issues in the storage environment and to highlight where in dashboard 3002 the administrator should look first. An administrator may use dashboard 3002 to identify issues relative to the data.

Additionally, the administrator may select a visual indication to receive more information about what is causing the violation. In an example, the visual indication may be a hyperlink selectable by the administrator to obtain more information about the violation. The hyperlink corresponds to the storage resource attribute that has violated a policy.

The administrator may select the visual indication by, for example, pointing a mouse and clicking on the visual indication or touching the visual indication with the administrator's finger (for touch-sensitive screens). In another example, a graph or text that is displayed in dashboard 3002 and that is associated with the violation may be a hyperlink selectable by the administrator to obtain more information about the violation. The administrator may select the graph or text, for example, by pointing a mouse and clicking on the graph or text or by touching the graph or text with the administrator's finger (for touch-sensitive screens).

The violation may be a global violation or a local violation (potential violation). A global violation may refer to an actual violation of a policy (e.g., user-configured policy). In an example, a visual indication of a global violation may be depicted with a solid circle. In dashboard 3002, a visual indication 3054 is displayed adjacent to storage capacity 3022 to indicate that a global violation in a user-configured policy for storage capacity 3022 has occurred. Visual indication 3054 is a solid circle. Accordingly, the human user is directed to visual indication 3054 and may easily determine that a global violation of a user-configured policy for storage capacity 3022 has occurred. Visual indication 3054 may be displayed if, for example, a growth rate threshold or a targeted consumption has been exceeded. For storage capacity 3022, the use forecast (20 PB) exceeds the target state (17.5 PB), indicating that dashboard manager 119 predicts the actual storage usage will exceed what the administrator targeted to use. In such an example, a visual indication may be displayed near storage capacity 3022 to alert the administrator of this.

A local violation may refer to a potential violation of a policy (e.g., user-configured policy) and that may actually violate the policy if not dealt with soon. In an embodiment, dashboard manager 119 determines whether a potential violation in a user-configured policy for a storage resource attribute exceeds a threshold. In an example, tier 3 storage may abide by user-configured policies but a data center including tier 3 stage may be almost full and its free storage below N megabytes. In such an example, dashboard manager 119 may determine that a potential violation in a user-configured policy for the storage resource attribute exceeds a threshold. in response to determining that the potential violation in the user-configured policy for the storage resource attribute exceeds the threshold, dashboard manger 119 displays in the user interface a visual indication that the potential violation in the user-configured policy for the storage resource attribute exceeds the threshold.

A visual indication indicating a local violation/potential violation highlights issues that are not of prime importance but should be displayed to make the administrator aware of potential issues. In an example, the problem does not appear in the summarized information and resides in a lower level of infrastructure. In an example, a visual indication of the potential violation may be depicted with a hollow circle. In dashboard 3002, a visual indication 3071 is displayed adjacent to tier 3 storage, which is also discussed in the next section, and indicates that there is a potential for a violation in a user-configured policy for tier 3 storage, such as exceeding a capacity threshold. Visual indication 3071 is a hollow circle. Accordingly, the human user is directed to visual indication 3071 and may easily determine that a potential violation of a user-configured policy for tier 3 storage exceeds the threshold. Visual indication 3071 may be displayed if, for example, tier 3 storage does not actually violate a policy but a particular data center is almost full and it would be advantageous to alert the user that the particular data center is almost full.

B. Storage Tier Capacity

In another example, the storage resource is a storage server, and a first attribute is a storage tier and a second attribute is capacity. Pane 3006 is labeled “Storage Tiers Capacity” 3060 and is displayed in the middle left portion of dashboard 3002. Different types of storage may be broken down into different tiers. Pane 3006 displays a plurality of storage tiers and their capacity. In dashboard 3002, pane 3006 includes five storage tiers—tier 1, tier 2, tier 3, tier 4, and tier 5. Although dashboard 3002 is illustrated as including five storage tiers, this is not intended to be limiting and other embodiments may include and/or display more or fewer than five storage tiers. Dashboard 3002 may include one or more storage tiers.

Pane 3006 may be configurable to display as many tiers as requested by the human user. Different storage tiers may have different prices and/or capabilities. For example, tier 1 storage may be very expensive compared to tier 5 storage, and the administrator may budget accordingly. The administrator may look into different investments to determine whether her target storage goals are being met.

For each of the displayed storage tiers, pane 3006 displays the capacity usage for the last twelve months and a Bullet graph that illustrates the overall capacity of the particular storage tier. Each Bullet graph has a value representing the actual usage to its left, the use forecast, and a target state of the storage tier's capacity. Additionally, for each storage tier, storage capacity is plotted against time (last 12 months). Accordingly, the administrator is able to discern storage capacity trends in relation to a current state, a target state, and a use forecast for a particular storage tier. Thus, the administrator may be able to compare different storage tiers relative to each other and their usage patterns.

Based on the data collected by system monitoring tool 117, dashboard manger 119 may determine a current state of a storage tier in network storage system 190. In the example illustrated in FIG. 3 and in regard to the current storage capacity of tier 1 storage, dashboard manager 119 determines that 4,200 TBs of tier 1 storage are currently being used. The current state of tier 1 storage capacity may indicate the actual storage capacity of tier 1 storage in network storage system 190. Dashboard 3002 shows the current state of tier 1 storage capacity, which is illustrated numerically by the “4,200 TB” displayed to the left of Bullet graph 3064 and is also illustrated in a left portion 3066 of Bullet graph 3064. Additionally, the use forecast for tier 1 storage is 10 PBs, and the target storage capacity for tier 1 storage is 6 PBs, represented by the rectangular mark in Bullet graph 3064.

In pane 3006, a visual indication 3070 is displayed adjacent to tier 1 storage and indicates that a global violation in a user-configured policy for tier 1 storage has occurred. Accordingly, the administrator is directed to visual indication 3070 and may easily determine that a global violation of a user-configured policy for tier 1 storage has occurred. This may alert the administrator that tier 1 storage may run out of capacity in, for example, two months. The user may select visual indication 3070 or the text and/or graph corresponding to tier 1 storage to determine what caused the display of visual indication 3070 and may then become aware that the tier 1 storage may projected to run out of space in two months.

In regard to the current state of tier 2 storage, dashboard manager 119 determines that 5,600 TBs of tier 2 storage are currently being used. The current state of tier 2 storage capacity may indicate the actual storage capacity of tier 2 storage in network storage system 190. Dashboard 3002 shows the current state of tier 2 storage capacity, which is illustrated numerically by the “5,600 TB” displayed to the left of the Bullet graph associated with tier 2 storage and is also illustrated in a left portion of the associated Bullet graph. Additionally, the use forecast for tier 2 storage is 9 PBs and the target storage capacity is 7.5 PBs, represented by the rectangular mark in the associated Bullet graph.

In regard to the current state of tier 3 storage, dashboard manager 119 determines that 3,913 TBs of tier 3 storage are currently being used. The current state of tier 3 storage capacity may indicate the actual storage capacity of tier 3 storage in network storage system 190. Dashboard 3002 shows the current state of tier 3 storage capacity, which is illustrated numerically by the “3,913 TB” displayed to the left of the Bullet graph associated with tier 3 storage and is also illustrated in a left portion of the associated Bullet graph. Additionally, the use forecast for tier 3 storage is 6 PBs and the target storage capacity is 5 PBs, represented by the rectangular mark in the associated Bullet graph.

In pane 3006, a visual indication 3071 is displayed adjacent to tier 3 storage and indicates that a potential violation in a user-configured policy for tier 3 storage has occurred. Accordingly, the administrator is directed to visual indication 3071 and may easily determine that a potential violation of a user-configured policy for tier 3 storage has occurred. Visual indication 3071 may be displayed if, for example, a problem exists but does not actually breach a user-configured policy. The visual indications indicating a potential violation highlights issues that are not of prime importance but should be displayed to make the administrator aware of potential issues. In an example, the problem does not appear in the summarized information and resides in a lower level of infrastructure. In such an example, the tier 3 storage summaries may be within the user-configured policies; however, an indication location with tier 3 storage may have violated a “local policy” that does not violate a “global policy” in the summaries. For example, the total capacity of tier 3 storage in the data centers as a whole may have enough storage capacity, but one particular data center may be running out of space. The user may select visual indication 3071 or the text and/or graph corresponding to tier 3 storage to determine what caused the display of visual indication 3071 and may then become aware that the data center is running out of space.

In regard to the current state of tier 4 storage, dashboard manager 119 determines that 4,500 TBs of tier 4 storage are currently being used. The current state of tier 4 storage capacity may indicate the actual storage capacity of tier 4 storage in network storage system 190. Dashboard 3002 shows the current state of tier 4 storage capacity, which is illustrated numerically by the “4,500 TB” displayed to the left of the Bullet graph associated with tier 4 storage and is also illustrated in a left portion of the associated Bullet graph. Additionally, the use forecast for tier 4 storage is 6 PBs and the target storage capacity is 7.5 PBs, represented by the rectangular mark in the associated Bullet graph.

In regard to the current state of tier 5 storage, dashboard manager 119 determines that 5,500 TBs of tier 5 storage are currently being used. The current state of tier 5 storage capacity may indicate the actual storage capacity of tier 5 storage in network storage system 190. Dashboard 3002 shows the current state of tier 5 storage capacity, which is illustrated numerically by the “5,500 TB” displayed to the left of the Bullet graph associated with tier 5 storage and is also illustrated in a left portion of the associated Bullet graph. Additionally, the use forecast for tier 5 storage is 8 PBs and the target storage capacity is 7.5 PBs, represented by the rectangular mark in the associated Bullet graph.

Moreover, for each of the displayed storage tiers, a histogram is displayed under “Total Capacity” showing the total capacity of the respective storage tier. This histogram allows an understanding of how much of a share of the storage environment is distributed among the storage tiers. In pane 3006, tier 4 storage has the largest share and tier 1 storage has the smallest share compared to each of the other displayed storage tiers. The storage capacities of tier 2 storage, tier 3 storage, and tier 5 storage fall somewhere in between tier 1 storage and tier 4 storage.

Further, for each of the displayed storage tiers, a bar graph is displayed under “Months to Full” showing the predicted number of months until the respective storage tier is full. This bar graph may be thought of as similar to a fuel gauge—the smaller the capacity, the smaller the bar displayed. In pane 3006, tier 1 storage is expected to be full in about two months, tier 2 storage is expected to be full in about eight months, tier 3 storage is expected to be full in about nine months, tier 4 storage is expected to be full in about 5 months, and tier 5 storage is expected to be full in about one year.

C. Daily Storage Traffic

In another example, the storage resource is a storage server, and the attribute is storage traffic. Pane 3008 is labeled “Daily Storage Traffic” 3080 and is displayed in the lower left-hand corner of dashboard 3002. Pane 3008 provides the administrator with a heartbeat of the storage environment in general. Pane 3008 displays a daily storage traffic chart 3082 including three lines that enable the administrator to compare and contrast previous storage traffic. A first line graph 3084 represents yesterday's mean of the storage traffic, a second line graph 3086 represents a daily mean of the storage traffic within the last seven days, and a third line graph 3088 represents a daily mean of the storage traffic within the last six months. Daily storage traffic chart 3082 enables the user to visualize any abnormalities in the way the storage infrastructure has been performing, as it gives information, which would highlight both cyclical (e.g., last seven days) and seasonal variations (e.g., last six months).

The administrator may compare the line graphs and in particular, the data spikes in the line graphs. For example, the administrator may look into yesterday's traffic represented by first line graph 3084 and determine that the peak of data traffic (50 TBs) occurred at 4:00 P.M yesterday. Although first line graph 3084 is described as being designed for a daily view, this is not limiting and other embodiments may illustrate a performance for any time frame (e.g., weekly or monthly). The other line graphs may also represent other data traffic values for other time frames. The line graphs may be displayed in different colors or patterns for ease of review.

D. Data Centers Time to Full

In an example, the storage resources are data centers, and an attribute of a data center is its location. System monitoring tool 117 may monitor a large storage environment containing a plurality of data centers. Pane 3010 is labeled “Data Centers Time to Full” 3090 and is displayed in the upper right-hand corner of dashboard 3002. Pane 3010 displays the different storage tiers and the cities in which the data centers are located. Pane 3010 is designed to give the user, for each storage tier, an easy to read view into how much storage capacity is left in each data center. In particular, pane 3010 indicates data centers of a particular storage tier that are expected to run out of space within a particular time period and/or data centers of a particular storage tier that have sufficient space and that the user need not be concerned with.

In the example illustrated in FIG. 3, the solid black color indicates that the storage capacity for that particular data center will be full in less than three months, the dashed lines indicate that the storage capacity for that particular data center will be full within three to six months, and the solid white color indicates that the storage capacity for that particular data center will take more than six months to be full.

In another example, the darkness of a color may be used to indicate a data center's time until it is full. For example, the darker the color the less space is available in the data center, and the lighter the color the less concerned the administrator should be. In an example, the default is that the darkest color indicates that the storage capacity for that particular data center will be full in less than three months, the lighter color indicates that the storage capacity for that particular data center will be full within three to six months, and the lightest color indicates that the storage capacity for that particular data center will take more than six months to be full.

The human user may configure pane 3010 to display particular storage tiers and may also configure how to indicate that less space is available in a data center. In an example, the human user sets the thresholds based on purchasing constraints. In such an example, if it takes two weeks to purchase and stand up storage the darkest color may be set to two weeks (rather than three months). Additionally, although the example in pane 3010 shows three ranges or categorizations of time periods (e.g., less than three months, between three and six months, and more than six months), this is not intended to be limiting and other embodiments may include fewer or more than three ranges or categorizations of time periods and/or time periods of different lengths.

E. Top Consumers

In an example, the storage resources are storage servers, and a first attribute of a storage server is its storage capacity, and a second attribute of the storage server is its response time. Pane 3012 is labeled “Top 10 Applications” 3110 and is displayed in the middle right portion of dashboard 3002. Pane 3012 displays the top ten storage consumers and enables the human user to more easily understand the location of the issues and identity of the storage consumers. Although pane 3012 is illustrated as displaying applications, this is not intended to be limiting, and pane 3012 may display whatever the business categorizes as the consumers. For example, other components may be used such as business units, projects, tenants, and/or storage arrays.

Availability may be a function of how much time the application is up and running Pane 3012 enables the administrator to see one level below the storage capacity by drilling down into the actual consumers of the storage. The administrator is able to identify the top critical services and look at their individual consumption contributions to storage capacity. Pane 3012 lists out the consumers in order of greatest capacity and displays how much storage the consumers have used over the last 12 months. For example, the administrator may look at applications listed in pane 3012 and ask important questions, such as “What is growth of the storage capacity in terms of this application?” and “What is the speed of the response time that is being delivered to this application?”

Moreover, for each of the top ten storage consumers, storage capacity is plotted against time (last 12 months) on a graph. Additionally, for each of the applications, a histogram is displayed under “Capacity” showing the total capacity of the respective application. This histogram allows an understanding of how much of a share of the storage infrastructure is distributed among the applications.

Pane 3012 shows a summary of the top ten storage consumers' response times using a box-and-whisker graph. Each box-and-whisker graph is overlaid on a block with a dotted background, where the dotted block represents an acceptable service level range. A left of the acceptable range represents the minimum (e.g., fastest) response times, and the right of the acceptable range represents the maximum (e.g., slowest) response times. In an embodiment, dashboard manager 119 renders a box-and-whisker graph overlaid on an object representative of acceptable response times for one or more storage resources, where the box-and-whisker graph is representative of actual response times of the one or more storage resources.

Pane 3012 displays a block with a dotted background, where the dotted block is representative of acceptable response times for one or more storage resources, and the actual performance of the storage is superimposed on the acceptable response times. For each of the top ten storage consumers, a box-and-whisker graph shows a spread of the actual data points of the response times and median response times of the storage. In an example, dashboard manager 119 renders a box-and-whisker graph 3115 for the “Juice” application. Although the description describes a box-and-whisker graph for the “Juice” application, the description applies as well to the other storage consumers. A left-most data point of a “whisker” 3117 of box-and-whisker graph 3115 represents the fastest response time of the storage (approximately 10 milliseconds (ms)). Similarly, a right-most data point of a “whisker” 3118 of box-and-whisker graph 3115 represents the slowest response time of the storage (approximately 19 ms). Thus, the range of the response time is about 9 ms (19 ms−10 ms=9 ms) and falls between 10 and 19 ms.

A thick solid box 3119 of box-and-whisker graph 3115 represents the actual data measurements (e.g., actual data points), and the thin vertical line inside thick solid box 3119 represents the median response time of the storage. A first quartile of the response times falls between the left-most data point of whisker 3117 and the intersection of whisker 3117 and thick solid box 3119. A second quartile of the response times falls between the intersection of whisker 3117 and thick solid box 3119 and the median response time. A third quartile of the response times falls between the median response time and the intersection of thick solid box 3119 and whisker 3118. A fourth quartile of the response times falls between the intersection of thick solid box 3119 and whisker 3118 and the right-most data point of whisker 3118. Half of the response times are less than the median response time, and half of the response times are greater than the median response time. Additionally, between 25-75 percent of the response times fall within thick solid box 3119. Although the graph is described as being broken down into quarters of a whole (e.g., quartiles), this is not intended to be limiting and in other embodiments the graph may be broken down into different portions of the whole (e.g., quintiles, etc.). Additionally, the graph may be broken down into unequal portions.

The administrator may view the box-and-whisker graph overlaid on the dotted block representative of acceptable response times and determine whether consumers are experiencing acceptable or unacceptable response times. Pane 3012 provides the administrator with a contextual view of, for example, the acceptable response rates for particular applications. From looking at pane 3012, the administrator may be able to determine when most of the responses to the application workload are outside of the acceptable range.

If the box-and-whisker graph completely resides to the far left of the acceptable range this could suggest the consumer is on storage that is delivering more performance than required and an opportunity may exist to move the consumer to a different type of storage. For example, if an application is on tier 3 storage and experiencing very fast response times, the administrator may decide to move the application to, for example, tier 4 storage. If, however, the box-and-whisker graph completely resides to the far right of the acceptable range this could suggest the consumer is on storage that is delivering far less performance than required and an opportunity may exist to move the consumer to a different type of storage. For example, if an application is on tier 3 storage and experiencing unacceptable response times, the administrator may decide to move the application to, for example, tier 1 storage or tier 2 storage.

Visual indications 3112 and 3114 are solid circles and are displayed to the left of the consumer categories that have a global violation in a user-configured policy. In pane 3012, visual indications 3112 and 3114 highlight the consumer categories “Prophet” and “Beacon” and provide the administrator with an easy visual aid in identifying consumer categories that are associated with a global violation in a user-configured policy. In an example, the policy specifies that the mean response time should always be within the acceptable service range. In such an example, visual indication 3114 highlights a consumer category in which the mean response time is outside of the acceptable service range. Visual indications 3112 and 3114 may refer to the same or different global-policy violation.

Additionally, visual indication 3116 is a hollow circle and is displayed to the left of the consumer category that is associated with a potential violation in a user-configured policy. In pane 3012, visual indication 3116 highlights the consumer category “GlobalCollab” and provides the administrator with an easy visual aid in identifying consumer categories that is associated with a potential violation in a user-configured policy. For example, by viewing visual indication 3116 in pane 3012, the administrator may be able to more easily see that the capacity of the storage delivering the “GlobalCollab” application may be running out of space.

F. Storage Performance by Tiers

In an example, the storage resources are storage servers, and a first attribute of a storage server is its storage tier, and a second attribute of the storage server is its performance (e.g., response time and/or IOPS). Pane 3014 is labeled “Storage Tiers Daily Performance” 3120 and is displayed in the bottom middle portion of dashboard 3002. In viewing pane 3014, the administrator is able to see the overall storage tiers and how they are performing. In particular, the administrator is able to look into different storage tiers from a statistical performance point of view rather than a raw capacity point of view. In pane 3014, the response time and throughput I/O per second (IOPS) is displayed for each storage tier. The administrator is able to determine whether a particular storage tier should be used over another storage tier and more easily tie the particular storage tier to performance. For example, looking at pane 3014, the administrator may be able to determine the acceptable range of I/O that justifies being in tier 1 storage.

Pane 3014 shows a summary of the previous day's response times and throughput (IOPS) using box-and-whisker graphs. Each box-and-whisker graph is overlaid on a block with a dotted background, where the dotted block represents an acceptable service level range for that tier. Regarding response times, a left of the acceptable range represents the minimum (e.g., fastest) response times, and the right of the acceptable range represents the maximum (e.g., slowest) response times. Regarding IOPS, a left of the acceptable range represents the minimum (e.g., fastest) IOPS, and the right of the acceptable range represents the maximum (e.g., slowest) IOPS.

Pane 3014 displays acceptable response times for the storage tiers, and the actual performance of the storage is superimposed on the response times. For each tier, a box-and-whisker graph shows a spread of the actual data points of the response times and median response times of that storage tier. In an example, dashboard manager 119 renders a box-and-whisker graph 3123 for tier 1 storage. Although the description describes a box-and-whisker graph for tier 1 storage, the description applies as well to the other storage tiers and the IOPS. A left-most data point of a “whisker” 3124 of box-and-whisker graph 3123 represents the fastest response time of the storage (approximately 2 ms). Similarly, a right-most data point of a “whisker” 3125 of box-and-whisker graph 3123 represents the slowest response time of the storage (approximately 8 ms). Thus, the range of the response time is about 6 ms (8 ms−2 ms=6 ms) and falls between 2 and 8 ms.

A thick solid box 3126 of box-and-whisker graph 3123 represents the actual data measurements (e.g., actual data points), and the thin vertical line inside thick solid box 3126 represents the median response time of tier 1 storage. A first quartile of the response times falls between the left-most data point of whisker 3124 and the intersection of whisker 3124 and thick solid box 3126. A second quartile of the response times falls between the intersection of whisker 3124 and thick solid box 3126 and the median response time. A third quartile of the response times falls between the median response time and the intersection of thick solid box 3126 and whisker 3125. A fourth quartile of the response times falls between the intersection of thick solid box 3126 and whisker 3125 and the right-most data point of whisker 3125. Half of the response times are less than the median response time, and half of the response times are greater than the median response time. Additionally, between 25-75 percent of the response times fall within thick solid box 3126.

The administrator may view the box-and-whisker graph overlaid on the block with the dotted background and determine whether particular storage tiers are providing acceptable or unacceptable response times. Pane 3014 provides the administrator with a contextual view of, for example, the acceptable response rates for each storage tier. From looking at pane 3014, the administrator may be able to determine when most of the responses of a storage tier are outside of the acceptable range. Accordingly, the administrator may see if there is opportunity to consolidate tiers or realign workloads delivered from those tiers.

The administrator may also see highlighted issues with particular tiers. For example, visual indication 3122 is a solid circle and is displayed to the left of the storage tier that has a global violation in a user-configured policy. In pane 3014, visual indication 3122 highlights tier 2 storage and provides the administrator with an easy visual aid in identifying that tier 2 storage has violated a user-configured policy.

G. Orphaned Capacity

In an example, the storage resources are storage servers, and an attribute of a storage server is orphaned capacity. Pane 3016 is labeled “Orphaned Capacity” 3130 and is displayed in the lower right-hand corner of dashboard 3002. Orphaned storage may be storage capacity that has been paid for but is not being used at the moment. A horizontally stacked bar 3132 is a visualization illustrating that the storage environment contains 325 TBs. Additionally, inside horizontally stacked bar 3132 is a utilization bar 3134 representing that 2.5 percent of the 325 TBs is currently being used. Utilization bar 3134 shows the actual capacity that is orphaned. If, for example, each TB costs $4,000, the administrator may reconsider how much storage to purchase because only 2.5 percent of the already purchased 325 TBs is being used. The percentages shown in horizontally stacked bar 3132 are user-configured and show the acceptable ranges. The more to the left utilization bar 3134 is, the more unacceptable the situation is.

A bar graph 3136 is a visualization representing the orphaned capacity detailed by storage tier. Bar graph 3136 enables the administrator to understand which categories should be investigated for finding savings. Bar graph 3136 breaks the storage down into different tiers, which shows the weight of storage capacity itself broken down into different tiers.

“Orphaned Capacity” 3130 may be user configured. In an example, orphaned capacity is storage orphaned by configuration, which refers to storage allocated to a host but the configuration has not been done properly and the host cannot access the storage. An ignore feature for storage may appear in this category. The ignore feature enables the administrator to remove from the calculations storage the administrator knows is going to appear in pane 3016 but should be ignored for a valid reason. For example, the administrator may want to ignore the storage if it is being migrated and will be removed from the data center floor.

In another example, orphaned capacity is storage orphaned by performance, which refers to storage that is correctly configured to be accessed by a host but a user-defined value of unacceptable small amounts of storage traffic exists over a user-defined period. An ignore feature for storage may appear in this category. The ignore feature enables the administrator to remove from the calculations storage the administrator knows is not going to be used for a significant time period but could because of disaster failover or other unexpected reasons. The ignored storage would not appear in the calculation.

The scope of embodiments is not limited to any particular set of performance metrics, as those shown in FIG. 3 are exemplary, and other embodiments may include any appropriate set of performance metrics. Dashboard 3002 may include more or fewer than the panes displayed in display 3000. Further, each pane may include more or less information that that displayed in the pane, and the information displayed in a pane may be included or combined with another pane.

Additionally, in the example illustrated in FIG. 3, visual indications 3054, 3070, 3112, 3114, and 3122 are solid circles and represent global violations, and visual indications 3071 and 3116 are hollow circles and represent potential violations exceeding a threshold. This is not intended to be limiting and in other embodiments, visual indications may be any visual indications that highlight particular categories, tiers, storage consumers, etc. For example, a visual indication may be an exclamation mark, orange star, and/or the like using any suitable symbol, shape, color, etc.

Furthermore, dashboard 3002 may use a color scheme that enables colorblind users to understand the data and the page can also be printed on a black and white printer and still convey the information.

The storage information may be structured in the dashboard such that the most commonly used or required information is displayed in the upper left portion of the screen and the least frequently used or required information is displayed in the bottom right portion of the screen. In an example, dashboard manager 119 may render a first graph in a first pane and render a second graph in a second pane. Dashboard manager 119 may identify a most commonly used graph of the first and second graphs rendered in the user interface. In response to determining that the first graph is the most commonly used graph, dashboard manager 119 may render the first graph in a first portion of the user interface and render the second graph in a second portion of the user interface, where the first portion is closer to the upper left-hand corner of the user interface than the second portion. In contrast, in response to determining that the second graph is the most commonly used graph, dashboard manager 119 may render the first graph in the second portion of the user interface and render the second graph in the first portion of the user interface.

A user and/or administrator may select the content and location of panes. For example, the administrator may be more concerned with the storage capacity and thus choose to have pane 3004, which shows the storage capacity, in the upper-left hand corner of dashboard 3002. The administrator may also select what content is shown in each of the panes. For example, the administrator may choose to combine the information in panes 3004 and 3006 into one pane. In another example, the administrator may choose to remove FC bandwidth 3026 from pane 3004 and insert the information from pane 3010 into pane 3004.

Various embodiments may provide advantages over conventional systems. For instance, the rendering of performance metric data, current state, target state, and/or use forecast for one or more storage resources on a single graph (FIG. 3) is not only new, but highly intuitive for a user who wants to compare the progression and state of a storage resource (e.g., performance, IOPS, etc.) in the system. For example, in a Bullet graph, multiple data about a storage resource (e.g., current state, target state, and/or use forecast) may be shown on a single graph and conveyed in an easy to understand manner. In another example, in a box-and-whisker graph, multiple data about storage resources and/or their consumers (e.g., fastest and slowest response times, median response times, etc.) may be shown on a single graph and conveyed in an easy to understand manner. Accordingly, space on the display may be saved, thus using UI real estate economically.

V. Example Methods

FIG. 4 is a simplified diagram of an example method 400 of displaying contextual information of a computing system according to one embodiment. Method 400 is not meant to be limiting and may be used in other applications.

Method 400 includes blocks 410-465. In a block 410, a current state of an attribute of one or more storage resources is determined, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by a performance monitoring tool. In an example, dashboard manager 119 determines a current state of an attribute of one or more storage resources, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by system monitoring tool 117. In an example, the storage resource attribute is the response time of a storage server. In another example, the storage resource attribute is the IOPS of a storage server. In other examples, the attribute may be any of the attributes described with respect to FIG. 3 and/or any other storage resource attribute.

In a block 420, an acceptable range for the attribute of the one or more storage resources is determined. In an example, dashboard manager 119 determines an acceptable range for the attribute of the one or more storage resources. In some examples, the acceptable ranges may be determined by a user and/or an administrator, based on prior observed ranges for the attributes, based on statistical analyses, and/or the like. In another example, the acceptable range may be determined by calculating an average response time and providing that average response time as the acceptable range.

In a block 430, a user interface including contextual information regarding the attribute of the one or more storage resources is displayed. In an example, dashboard manager 119 displays a user interface including contextual information regarding the attribute of the one or more storage resources.

In a block 440, a graph representative of the current state and the acceptable range for the attribute of the one or more storage resources is rendered in the user interface. In an example, dashboard manager 119 renders in the user interface a graph representative of the current state and the acceptable range for the attribute of the one or more storage resources. The graph may be, for example, a box-and-whisker graph overlaid on an object representative of acceptable response times for one or more storage resources (e.g., the block with the dotted background). In another example, the graph is also representative of a forecast of how much time until a data center is full (e.g., in pane 3080). In such an example, the forecast may be illustrated by the use of colors and patterns (e.g., darker color or a particular pattern represents data centers to which the administrator should be pay extra attention).

In a block 450, it is determined whether a violation in a user-configured policy for the storage resource attribute has occurred. In an example, dashboard manager 119 determines whether a violation in a user-configured policy for the storage resource attribute has occurred. In a block 455, if the violation in the user-configured policy for the storage resource attribute has occurred, a visual indication is displayed in the user interface to indicate that the violation in the user-configured policy for the storage resource attribute has occurred. In an example, if the violation in the user-configured policy for the storage resource attribute has occurred, dashboard manager 119 displays a visual indication in the user interface to indicate that the violation in the user-configured policy for the storage resource attribute has occurred.

In a block 460, it is determined whether a potential for a violation in a user-configured policy for the storage resource attribute exceeds a threshold. In an example, dashboard manager 119 determines whether a potential for a violation in a user-configured policy for the storage resource attribute exceeds a threshold. In a block 465, if the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold, a visual indication is displayed in the user interface to indicate that the potential for the violation in the user-configured policy exceeds the threshold. In an example, if the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold, dashboard manager 119 displays a visual indication in the user interface to indicate that the potential for the violation in the user-configured policy exceeds the threshold.

It is also understood that additional processes may be performed before, during, or after blocks 410-465 discussed above. It is also understood that one or more of the blocks of method 400 described herein may be omitted, combined, or performed in a different sequence as desired.

In an example, a graph, text, and/or a visual indication displayed in the user interface and corresponding to a storage resource attribute may be a hyperlink that, when selected by a user, provides a link to more detailed reports regarding the storage resource attribute. A block may be inserted into method 400 to determine whether the graph, text, and/or a visual indication has been selected. In response to determining that the graph, text, and/or a visual indication has been selected, a more detailed report regarding the storage resource attribute may be provided to the user.

FIG. 5 is a simplified diagram of an example method 500 of displaying contextual information of a computing system according to one embodiment. Method 500 is not meant to be limiting and may be used in other applications.

Method 500 includes blocks 510-565. In a block 510, a current state of an attribute of one or more storage resources is determined, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by a performance monitoring tool. In an example, dashboard manager 119 determines a current state of an attribute of one or more storage resources, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by system monitoring tool 117. In an example, the storage resource attribute is the response time of a storage server. In another example, the storage resource attribute is the IOPS of a storage server. In other examples, the attribute may be any of the attributes described with respect to FIG. 3 and/or any other storage resource attribute.

In a block 520, a target state of the attribute of the one or more storage resources is determined. In an example, dashboard manager 119 determines a target state of the attribute of the one or more storage resources. In an example, the target state of the attribute is storage capacity of a storage server. In another example, the target state of the attribute is the number of FC switch port connections. In some examples, the target state may be determined by a user and/or an administrator, based on prior observed ranges for the storage resource attributes, based on statistical analyses, and/or the like. In an example, the administrator has a best guess capacity projection (e.g., I want to buy X storage capacity) and sets this as the target state of the attribute. In another example, the target state is the total of what the administrator budgeted for minus a safety margin. For example, if the administrator has budgeted for 20 PB of storage capacity, the target state may be 20 PB minus a safety margin of 5 PB, which brings the target state to 15 PB of storage capacity.

In a block 530, a user interface including contextual information regarding the attribute of the one or more storage resources is displayed. In an example, dashboard manager 119 displays a user interface including contextual information regarding the attribute of the one or more storage resources.

In a block 540, a graph representative of the current state and the target state of the attribute of the one or more storage resources is rendered in the user interface. In an example, dashboard manager 119 renders in the user interface a graph representative of the current state and the target state of the attribute of the one or more storage resources. The graph may be, for example, a Bullet graph representative of the current state and target state of the storage resource attribute. In another example, the graph may indicate colors (e.g., a darkness of a color) to represent the current state of the storage resource attribute. The graph may also include a forecast for the corresponding attribute. For example, in pane 3010, a default may be that the darker the color the closer the data center is to the target state, and the lighter the color the further the data center is to the target state.

In a block 550, it is determined whether a violation in a user-configured policy for the storage resource attribute has occurred. In an example, dashboard manager 119 determines whether a violation in a user-configured policy for the storage resource attribute has occurred. In a block 555, if the violation in the user-configured policy for the storage resource attribute has occurred, a visual indication is displayed in the user interface to indicate that the violation in the user-configured policy for the storage resource attribute has occurred. In an example, if the violation in the user-configured policy for the storage resource attribute has occurred, dashboard manager 119 displays a visual indication in the user interface to indicate that the violation in the user-configured policy for the storage resource attribute has occurred.

In a block 560, it is determined whether a potential for a violation in a user-configured policy for the storage resource attribute exceeds a threshold. In an example, dashboard manager 119 determines whether a potential for a violation in a user-configured policy for the storage resource attribute exceeds a threshold. In a block 565, if the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold, a visual indication is displayed in the user interface to indicate that the potential for the violation in the user-configured policy exceeds the threshold. In an example, if the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold, dashboard manager 119 displays a visual indication in the user interface to indicate that the potential for the violation in the user-configured policy exceeds the threshold.

It is also understood that additional processes may be performed before, during, or after blocks 510-565 discussed above. It is also understood that one or more of the blocks of method 500 described herein may be omitted, combined, or performed in a different sequence as desired.

In an example, a graph, text, and/or a visual indication displayed in the user interface and corresponding to a storage resource attribute may be a hyperlink that, when selected by a user, provides a link to more detailed reports regarding the storage resource attribute. A block may be inserted into method 400 to determine whether the graph, text, and/or a visual indication has been selected. In response to determining that the graph, text, and/or a visual indication has been selected, a more detailed report regarding the storage resource attribute may be provided to the user.

V. Example Service-Oriented Architecture

FIG. 6 is a simplified diagram of an example service-oriented architecture (SOA) 2100. As shown in FIG. 6, SOA 2100 is built around a client-service model. In SOA 2100, requests originate from one or more clients 2111-2119. Each of the clients 2111-2119 may make requests through a network 2120 to a server 2130.

In some embodiments, any of the clients may be system monitoring tool 117 (FIG. 1) and the server 2130 may be server 110 (FIG. 1). In an alternative embodiment, system monitoring tool 117 may be a client that runs on server 2130, which is consistent with the FIG. 1 example above. In some embodiments, any of the clients may be dashboard manager 119 (FIG. 1) and the server 2130 may be server 110 (FIG. 1). In an alternative embodiment, dashboard manager 119 may be a client that runs on server 2130, which is consistent with the FIG. 1 example above. The scope of embodiments is not limited to any particular architecture.

Network 2120 may be any kind of network including a local area network (LAN), such as an Ethernet, and/or a wide area network (WAN), such as the Internet. In some examples, server 2130 may be a standalone workstation, a cluster, a production server, within a virtual machine, and/or the like. Server 2130 includes a processor 2140 coupled to memory 2150. In some examples, processor 2140 may control operation and/or execution of hardware and/or software on server 2130. Although only one processor 2140 is shown, server 2130 may include multiple processors, CPUs, multi-core processors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), and/or the like. Memory 2150 may include one or more types of machine readable media. Some common forms of machine readable media may include floppy disk, flexible disk, hard disk, magnetic tape, any other magnetic medium, CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, any other memory chip or cartridge, and/or any other medium from which a processor or computer is adapted to read.

Memory 2150 may be used to store an interface 2160 that is used by clients 2111-2119 to access the storage resource information with clients 2111-2119 being able to make requests for all, or part, of the storage resource information. Each of the requests is directed to interface 2160 where the requested storage resource information is retrieved, and a response is returned to the requesting client 2111-2119. Numerous mechanisms for directing the requests to interface 2160 may be used, including using a parameterized and/or unparameterized uniform resource locator (URL), using an application name corresponding to interface 2160, and/or the like. The requests may also be made using protocols or methods such as application programming interface (API) calls, remote procedure calls, representational state transfer (REST) web services, simple object access protocol (SOAP) web services, and/or the like.

As discussed above and further emphasized here, FIG. 6 is merely an example which should not unduly limit the scope of the claims. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. In some embodiments, other configurations may be used with SOA 2100. In some examples, any of the clients 2111-2119 may be hosted in server 2130. In some examples, the storage resource information may be stored outside of memory 2150 or server 2130. For example, the storage resource information may be stored in one or more files in a storage module hosted in server 2130 or in another computing device elsewhere in SOA 2100. As another example, the storage resource information may be stored in one or more databases stored in one or more database management systems. In some examples, processor 2140 and memory 2150 may be hosted in a virtual machine.

It should be noted that the examples above are given in the context of a network storage system, through the scope of embodiments is not so limited. Rather, the concepts described above may be implemented in any type of computing cluster, where performance data is sampled and analyzed. One example embodiment includes a cluster of server nodes, where performance data for the server nodes themselves, as well as for the applications running on the server nodes, is sampled according to the workload of each node or application.

When implemented via computer-executable instructions, various elements of embodiments of the present disclosure are in essence the software code defining the operations of such various elements. The executable instructions or software code may be obtained from a non-transient, tangible readable medium (e.g., a hard drive media, optical media, RAM, EPROM, EEPROM, tape media, cartridge media, flash memory, ROM, memory stick, network storage device, and/or the like). In fact, readable media can include any medium that can store information.

In the embodiments described above, example clients 160, server 110, storage controllers 101, and server 2130 include processor-based devices and may include general-purpose processors or specially-adapted processors (e.g., an Application Specific Integrated Circuit). Such processor-based devices may include or otherwise access the non-transient, tangible, machine readable media to read and execute the code. By executing the code, the one or more processors perform the actions of the processes of methods 400 and/or 500.

Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure and in some instances, some features of the embodiments may be employed without a corresponding use of other features. One of ordinary skill in the art would recognize many variations, alternatives, and modifications. Thus, the scope of the invention should be limited only by the following claims, and it is appropriate that the claims be construed broadly and in a manner consistent with the scope of the embodiments disclosed herein.

Claims

1. A computer program product having a computer readable medium tangibly recording computer program logic for providing contextual information of a computer system, the computer system in communication with a performance monitoring tool, the computer program product comprising:

code to determine a current state of an attribute of one or more storage resources, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by a performance monitoring tool;
code to determine an acceptable range for the attribute of the one or more storage resources;
code to display a user interface including contextual information regarding the attribute of the one or more storage resources; and
code to render in the user interface a graph representative of the current state and the acceptable range for the attribute of the one or more storage resources.

2. The computer program product of claim 1, further comprising:

code to run an algorithm to determine a forecast for the storage resource attribute.

3. The computer program product of claim 2, wherein the code to run the algorithm comprises a linear regression algorithm.

4. The computer program product of claim 1, wherein the code to render includes code to render a graph including the current state and the acceptable range for the storage resource attribute.

5. The computer program product of claim 1, wherein the storage resource attribute includes at least one from the group consisting of storage capacity, acceptable range of response times, actual response time, input/output per seconds (IOPS), a tier of storage, a location of a data center that includes the storage resource, storage traffic, FC switch port connections, and FC bandwidth utilization.

6. A method for providing contextual information of a computer system, the method comprising:

determining a current state of an attribute of one or more storage resources, the one or more storage resources coupled to a computer system, and the current state of the storage resource attribute being monitored by a performance monitoring tool;
determining a target state of the attribute of the one or more storage resources;
displaying a user interface including contextual information regarding the attribute of the one or more storage resources; and
rendering in the user interface a graph representative of the current state and the target state of the attribute of the one or more storage resources.

7. The method of claim 6, further comprising:

running an algorithm to determine a forecast for the attribute of the one or more storage resources.

8. The method of claim 7, wherein running the algorithm comprises running a linear regression algorithm.

9. The method of claim 7, wherein the rendering comprises rendering a Bullet graph including the current state, the target state, and the forecast of the storage resource attribute.

10. The method of claim 9, wherein the storage resource attribute is storage capacity, wherein the Bullet graph is representative of the current storage capacity, target storage capacity, and the forecast of a storage environment monitored by the performance monitoring tool, and wherein the storage environment includes the one or more storage resources.

11. The method of claim 7, further comprising:

providing a hyperlink that corresponds to the storage resource attribute; and
in response to a user selecting the hyperlink, providing a report regarding the current state of the storage resource attribute.

12. The method of claim 6, further comprising:

determining a second current state of a second attribute of one or more storage resources; and
determining a second target state of the second attribute, wherein the displaying includes displaying in the user interface contextual information regarding the second attribute, and wherein the rendering includes rendering in the user interface a second graph representative of the second current state and the second target state of the second attribute.

13. The method of claim 12, wherein the rendering comprises rendering the first graph in a first pane and rendering the second graph in a second pane.

14. The method of claim 13, further comprising:

identifying the most commonly used pane of the first and second panes rendered in the user interface,
wherein in response to determining that the first pane is the most commonly used pane, the rendering in the user interface a first graph includes rendering the first pane in a first portion of the user interface and the rendering in the user interface a second graph includes rendering the second pane in a second portion of the user interface, wherein the first portion is closer to the upper left-hand corner of the user interface than the second portion, and
wherein in response to determining that the second graph is the most commonly used graph, the rendering in the user interface a first graph includes rendering the first pane in the second portion of the user interface and the rendering in the user interface a second graph includes rendering the second pane in the first portion of the user interface.

15. The method of claim 6, further comprising:

determining whether a violation in a user-configured policy for the storage resource attribute has occurred; and
in response to determining that the global violation in the user-configured policy for the storage resource attribute has occurred, displaying in the user interface a visual indication that the global violation in the user-configured policy for the storage resource attribute has occurred.

16. The method of claim 6, further comprising:

determining whether a potential for a violation in a user-configured policy for the storage resource attribute exceeds a threshold; and
in response to determining that the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold, displaying in the user interface a visual indication that the potential for the violation in the user-configured policy for the storage resource attribute exceeds the threshold.

17. A system comprising:

a processor; and
memory accessible by the processor and storing computer-readable instructions, the processor performing the following actions by executing the instructions: determining a current state of a first attribute of one or more storage resources, the one or more storage resources coupled to a computer system, and the current state of the first storage resource attribute being monitored by a performance monitoring tool; identifying a second attribute of the one or more storage resources, the second attribute being different categories of the one or more storage resources; for each category of the different categories, determining a target state of the first attribute of the one or more storage resources; displaying a user interface including contextual information regarding the first and second attributes of the one or more storage resources; and rendering in the user interface a graph representative of the current state and the target state of the first and second attributes of the one or more storage resources.

18. The system of claim 17, wherein the processor performs the following actions by executing the instructions:

for each category of the different categories, running an algorithm to determine a use forecast for the first attribute of the one or more storage resources.

19. The system of claim 18, wherein the processor performs the following actions by executing the instructions:

for each category of the different categories, rendering a Bullet graph including the current state, the target state, and the use forecast of the first attribute of the one or more storage resources.

20. The system of claim 19, wherein the first storage resource attribute is storage capacity, and the second storage resource attribute is a tier of storage.

Patent History
Publication number: 20160026552
Type: Application
Filed: Jul 25, 2014
Publication Date: Jan 28, 2016
Inventors: James Holden (Waltham, MA), Omri Kessel (Waltham, MA)
Application Number: 14/341,508
Classifications
International Classification: G06F 11/32 (20060101); H04L 12/24 (20060101); H04L 12/26 (20060101);