U.S. patent application number 14/341508 was filed with the patent office on 2016-01-28 for system, method, and computer program product for storage management dashboard.
The applicant listed for this patent is NetApp, Inc.. Invention is credited to James Holden, Omri Kessel.
Application Number | 20160026552 14/341508 |
Document ID | / |
Family ID | 53400105 |
Filed Date | 2016-01-28 |
United States Patent
Application |
20160026552 |
Kind Code |
A1 |
Holden; James ; et
al. |
January 28, 2016 |
System, Method, and Computer Program Product for Storage Management
Dashboard
Abstract
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.
Inventors: |
Holden; James; (Waltham,
MA) ; Kessel; Omri; (Waltham, MA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
NetApp, Inc. |
Sunnyvale |
CA |
US |
|
|
Family ID: |
53400105 |
Appl. No.: |
14/341508 |
Filed: |
July 25, 2014 |
Current U.S.
Class: |
709/224 |
Current CPC
Class: |
H04L 43/065 20130101;
G06F 8/65 20130101; G06F 11/3051 20130101; G06F 2201/865 20130101;
G06F 11/323 20130101; G06F 8/60 20130101; G06Q 30/0631 20130101;
G06F 11/3466 20130101; H04L 43/00 20130101; H04L 43/04 20130101;
H04L 41/147 20130101; H04L 41/22 20130101; H04L 67/34 20130101;
H04L 43/045 20130101; G06F 11/328 20130101; H04L 67/36 20130101;
G06F 11/3006 20130101; G06F 11/3452 20130101; G06F 11/0793
20130101; G06F 8/71 20130101; H04L 43/0894 20130101; G06F 11/2028
20130101; G06F 11/3409 20130101 |
International
Class: |
G06F 11/32 20060101
G06F011/32; H04L 12/24 20060101 H04L012/24; H04L 12/26 20060101
H04L012/26 |
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.
Description
CROSS-REFERENCE
[0001] 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
[0002] The present disclosure relates generally to computing system
monitoring and, more particularly, to providing visual information
about the state of computing systems.
BACKGROUND
[0003] 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
[0004] FIG. 1 is a simplified block diagram of an example computing
system according to one embodiment.
[0005] FIG. 2 is a simplified block diagram of an example
relationship among applications and a storage cluster according to
one embodiment.
[0006] FIG. 3 is a simplified diagram of an example display of
contextual information of a computing system according to one
embodiment.
[0007] FIG. 4 is a simplified diagram of an example method of
displaying contextual information of a computing system according
to one embodiment.
[0008] FIG. 5 is a simplified diagram of an example method of
displaying contextual information of a computing system according
to one embodiment.
[0009] FIG. 6 is a simplified diagram of an example
service-oriented architecture (SOA) according to one
embodiment.
DETAILED DESCRIPTION
[0010] 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
[0011] 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.
[0012] 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).
[0013] 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.
[0014] 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.
[0015] 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.
[0016] 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
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.TM., Linux.TM., and Microsoft
Windows.TM. operating systems.
[0026] 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.TM. ESX, Microsoft.TM.
Hyper-V, etc.). Application 119 provides contextual information of
one or more storage resources for a user.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] 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.
[0032] 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).
[0033] 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
[0034] 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.
[0035] 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).
[0036] 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.
[0037] 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).
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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.
[0044] 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
[0045] 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
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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
[0054] a. FC Switch Port Connections
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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
[0066] 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
[0067] 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.
[0068] 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.
[0069] 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).
[0070] 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.
[0071] 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.
[0072] 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
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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
[0085] 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).
[0086] 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
[0087] 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.
[0088] 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.
[0089] 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.
[0090] 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
[0091] 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.
[0092] 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?"
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] 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.
[0100] 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
[0101] 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.
[0102] 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.
[0103] 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.
[0104] 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.
[0105] 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.
[0106] 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
[0107] 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.
[0108] 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.
[0109] "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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] 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.
[0115] 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.
[0116] 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
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] 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).
[0122] 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.
[0123] 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.
[0124] 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.
[0125] 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.
[0126] 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.
[0127] 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.
[0128] 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.
[0129] 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.
[0130] 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.
[0131] 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.
[0132] 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.
[0133] 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.
[0134] 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
[0135] 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] 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.
[0143] 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.
* * * * *