U.S. patent application number 12/352474 was filed with the patent office on 2010-07-15 for assembly and output of user-defined groupings.
Invention is credited to Matthew Robert Bogner, Dietmar Noll.
Application Number | 20100180230 12/352474 |
Document ID | / |
Family ID | 42319924 |
Filed Date | 2010-07-15 |
United States Patent
Application |
20100180230 |
Kind Code |
A1 |
Bogner; Matthew Robert ; et
al. |
July 15, 2010 |
ASSEMBLY AND OUTPUT OF USER-DEFINED GROUPINGS
Abstract
A method in one embodiment includes determining which elements
of a storage environment or system have been selected for addition
to a group, each of the elements being associated with a tier;
adding the selected elements to the group; determining whether a
parent of each of the selected elements has also been selected, the
parent of each of the selected elements being in a higher tier than
the element; adding the parent to the group as an element if the
parent of any of the selected elements has not been selected;
associating the elements in the group into subgroups; generating a
view of at least some of the elements in the group, the view
representing the tier of the elements in the view, the elements
being spatially organized by subgroup; and outputting the view.
Additional systems, methods and computer program products are also
disclosed.
Inventors: |
Bogner; Matthew Robert;
(Austin, TX) ; Noll; Dietmar; (Bad Soden-Salm,
DE) |
Correspondence
Address: |
ZILKA-KOTAB, PC- IBM
P.O. BOX 721120
SAN JOSE
CA
95172-1120
US
|
Family ID: |
42319924 |
Appl. No.: |
12/352474 |
Filed: |
January 12, 2009 |
Current U.S.
Class: |
715/810 |
Current CPC
Class: |
G06F 3/0481
20130101 |
Class at
Publication: |
715/810 |
International
Class: |
G06F 3/00 20060101
G06F003/00 |
Claims
1. A method, comprising: determining which elements of a storage
environment or system have been selected for addition to a group,
each of the elements being associated with a tier; adding the
selected elements to the group; determining whether a parent of
each of the selected elements has also been selected, the parent of
each of the selected elements being in a higher tier than the
element; adding the parent to the group as an element if the parent
of any of the selected elements has not been selected; associating
the elements in the group into subgroups; generating a view of at
least some of the elements in the group, the view representing the
tier of the elements in the view, the elements being spatially
organized by subgroup; and outputting the view.
2. A method as recited in claim 1, further comprising allowing a
user to select the elements for addition to the group.
3. A method as recited in claim 2, further comprising detecting the
elements of the storage environment or system.
4. A method as recited in claim 3, further comprising outputting a
representation of the elements in the storage environment or
system, the user selecting the one or more elements from the
representation.
5. A method as recited in claim 1, wherein determining whether the
parent of each of the selected elements has also been selected
includes analyzing all parents of the selected elements in all
tiers above the tiers of the respective elements.
6. A method as recited in claim 1, wherein the elements include at
least one of virtual machines and hypervisors.
7. A method as recited in claim 1, wherein the elements include at
least one of data storage devices, storage pools, and data
volumes.
8. A method as recited in claim 1, wherein the elements include
network attached storage (NAS).
9. A method as recited in claim 1, wherein the elements include a
storage area network (SAN) storage subsystem.
10. A method as recited in claim 1, further comprising
automatically adding elements that give context to other elements
to the group.
11. A method as recited in claim 1, wherein the view includes
elements associated with a particular tier and elements of a lower
tier having a parent in the particular tier that was not selected
by the user.
12. A method as recited in claim 11, wherein the elements of the
lower tier having the parent in the particular tier that was not
selected by the user are shown in a subgroup of elements associated
with the parent that was not selected by the user.
13. A method as recited in claim 1, wherein the view includes a hub
and spoke map connecting the subgroups.
14. A method as recited in claim 1, wherein each oldie subgroups is
collapsible.
15. A method as recited in claim 1, further comprising receiving a
user selection of one of the elements from the view and generating
a second view of at least some of the elements associated with the
element selected from the view.
16. A computer program product, the computer program product
comprising: a computer usable medium having computer usable program
code embodied therewith, the computer usable program code
comprising: computer usable program code configured to determine
which elements of a storage environment or system have been
selected for addition to a group, each of the elements being
associated with a tier; computer usable program code configured to
add the selected elements to the group; computer usable program
code configured to determine whether a parent of each of the
selected elements has also been selected, the parent of each of the
selected elements being in a higher tier than the element; computer
usable program code configured to add the parent to the group as an
element if the parent of any of the selected elements has not been
selected; computer usable program code configured to associate the
elements in the group into subgroups; computer usable program code
configured to generate a view of at least some of the elements in
the group, the view representing the tier of the elements in the
view, the elements being spatially organized by subgroup; and
computer usable program code configured to output the view.
17. A method, comprising: outputting a nested view of several
hierarchically-tiered groups of elements of a storage environment
or system, lower-tiered groups being nested in the higher-tiered
groups associated therewith, wherein the groups are collapsible;
detecting a selection of one of the elements by a user; outputting
additional information about the selected one of the elements;
receiving an instruction from the user to collapse or expand one of
the groups; updating the view to show the one of the groups in an
expanded or collapsed state; and outputting the updated view.
18. A method as recited in claim 17, wherein the view includes a
hub and spoke map connecting the groups.
19. A method as recited in claim 17, wherein the view includes
elements associated with a particular tier and elements of a lower
tier having a parent in the particular tier that was not
preselected.
20. A computer program product, the computer program product
comprising: a computer usable medium having computer usable program
code embodied therewith, the computer usable program code
comprising: computer usable program code configured to output a
view of several preselected elements of a storage environment or
system, each of the elements being associated with a tier, the
elements being organized into subgroups in the view, wherein the
subgroups are collapsible; computer usable program code configured
to detect a selection of one of the elements by a user; computer
usable program code configured to output additional information
about the selected one of the elements; computer usable program
code configured to receive an instruction from the user to collapse
or expand one of the subgroups; computer usable program code
configured to update the view to show the one of the subgroups in
an expanded or collapsed state; and computer usable program code
configured to output the updated view.
Description
BACKGROUND
[0001] The present invention relates to data assembly and
presentation, and more particularly, this invention relates to
assembling and outputting defined groupings.
[0002] When users are permitted to group arbitrary sets of entities
together in a sensible manner, it is often difficult to find a
standard way to display all possible permutations of group members
in a meaningful and user friendly form. This issue is often
exacerbated when dealing with more complex entities, such as
entities with varying tiers (e.g. levels, etc.) and entities with
various classes and tiers. There is thus a need for addressing
these and/or other issues.
SUMMARY
[0003] A method in one embodiment includes determining which
elements of a storage environment or system have been selected for
addition to a group, each of the elements being associated with a
tier; adding the selected elements to the group; determining
whether a parent of each of the selected elements has also been
selected, the parent of each of the selected elements being in a
higher tier than the element; adding the parent to the group as an
element if the parent of any of the selected elements has not been
selected; associating the elements in the group into subgroups;
generating a view of at least some of the elements in the group,
the view representing the tier of the elements in the view, the
elements being spatially organized by subgroup; and outputting the
view.
[0004] A computer program product according to another embodiment
includes a computer usable medium having computer usable program
code embodied therewith. The computer usable program code includes
computer usable program code configured to determine which elements
of a storage environment or system have been selected for addition
to a group, each of the elements being associated with a tier;
computer usable program code configured to add the selected
elements to the group; computer usable program code configured to
determine whether a parent of each of the selected elements has
also been selected, the parent of each of the selected elements
being in a higher tier than the element; computer usable program
code configured to add the parent to the group as an element if the
parent of any of the selected elements has not been selected;
computer usable program code configured to associate the elements
in the group into subgroups; computer usable program code
configured to generate a view of at least some of the elements in
the group, the view representing the tier of the elements in the
view, the elements being spatially organized by subgroup; and
computer usable program code configured to output the view.
[0005] A method according to yet another embodiment includes
outputting a nested view of several hierarchically-tiered groups of
elements of a storage environment or system, lower-tiered groups
being nested in the higher-tiered groups associated therewith,
wherein the groups are collapsible; detecting a selection of one of
the elements by a user; outputting additional information about the
selected one of the elements; receiving an instruction from the
user to collapse or expand one of the subgroups; updating the view
to show the one of the subgroups in an expanded or collapsed state;
and outputting the updated view.
[0006] A computer program product in a further embodiment includes
a computer usable medium having computer usable program code
embodied therewith. The computer usable program code includes
computer usable program code configured to output a view of several
preselected elements of a system, each of the elements being
associated with a tier, the elements being organized into subgroups
in the view, wherein the subgroups are collapsible; computer usable
program code configured to detect a selection of one of the
elements by a user; computer usable program code configured to
output additional information about the selected one of the
elements; computer usable program code configured to receive an
instruction from the user to collapse or expand one of the
subgroups; computer usable program code configured to update the
view to show the one of the subgroups in an expanded or collapsed
state; and computer usable program code configured to output the
updated view.
[0007] Other aspects and embodiments of the present invention will
become apparent from the following detailed description, which,
when taken in conjunction with the drawings, illustrate by way of
example the principles of the invention.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
[0008] FIG. 1 shows a method for providing user-defined groupings,
in accordance with one embodiment.
[0009] FIG. 2 shows an interface for providing user-defined
groupings, in accordance with one embodiment.
[0010] FIG. 3 shows an interface illustrating a collapsed view of
the interface of FIG. 2, in accordance with one embodiment.
[0011] FIG. 4 shows a method for providing user-defined groupings,
in accordance with another embodiment.
[0012] FIG. 5 shows a method for providing user-defined groupings,
in accordance with another embodiment.
DETAILED DESCRIPTION
[0013] The following description is made for the purpose of
illustrating the general principles of the present invention and is
not meant to limit the inventive concepts claimed herein. Further,
particular features described herein can be used in combination
with other described features in each of the various possible
combinations and permutations.
[0014] Unless otherwise specifically defined herein, all terms are
to be given their broadest possible interpretation including
meanings implied from the specification as well as meanings
understood by those skilled in the art and/or as defined in
dictionaries, treatises, etc.
[0015] It must also be noted that, as used in the specification and
the appended claims, the singular forms "a," "an" and "the" include
plural referents unless otherwise specified.
[0016] The following description includes description of systems
and methods for displaying information in an organized and
user-friendly way. Particularly, the information is represented by
elements organized into groups. If the information is further
organized into a hierarchy of tiers, the hierarchy may also be
output, e.g., the elements are represented in subgroups within each
of the groups. Embodiments of the present invention utilize a
hybrid map layout combining a hub-and-spoke map with collapsible
grouping to display the relationships between the classes and tiers
of elements within the group.
[0017] In one general embodiment, a method is provided. In
operation, it is determined which elements of a storage environment
or system have been selected for addition to a group, each of the
elements being associated with a tier. Additionally, the selected
elements are added to the group. Furthermore, it is determined
whether a parent of each of the selected elements has also been
selected, the parent of each of the selected elements being in a
higher tier than the element. In addition, the parent to the group
is added as an element if the parent of any of the selected
elements has not been selected. Further, the elements in the group
are associated into subgroups. Moreover, a view of at least some of
the elements in the group is generated, the view representing the
tier of the elements in the view, the elements being spatially
organized by subgroup. Still yet, the view is output.
[0018] In another general embodiment, a computer program product
for outputting a view is provided, the computer program product
comprising a computer usable medium having computer usable program
code embodied therewith. The computer usable program code includes
computer usable program code configured to determine which elements
of a storage environment or system have been selected for addition
to a group, each of the elements being associated with a tier,
computer usable program code configured to add the selected
elements to the group, computer usable program code configured to
determine whether a parent of each of the selected elements has
also been selected, the parent of each of the selected elements
being in a higher tier than the element, computer usable program
code configured to add the parent to the group as an element if the
parent of any of the selected elements has not been selected,
computer usable program code configured to associate the elements
in the group into subgroups, computer usable program code
configured to generate a view of at least some of the elements in
the group, the view representing the tier of the elements in the
view, the elements being spatially organized by subgroup, and
computer usable program code configured to output the view.
[0019] In another general embodiment, a method is provided. In
operation, a nested view of several hierarchically-tiered groups of
elements of a storage environment or system are output,
lower-tiered groups being nested in the higher-tiered groups
associated therewith, wherein the groups are collapsible.
Additionally, a selection of one of the elements by a user is
detected. Furthermore, additional information about the selected
one of the elements is output. In addition, an instruction is
received from the user to collapse or expand one of the subgroups.
Moreover, the view is updated to show the one of the subgroups in
an expanded or collapsed state. Still yet, the updated view is
output.
[0020] In another general embodiment, a computer program product
for outputting a view is provided, the computer program product
comprising a computer usable medium having computer usable program
code embodied therewith. The computer usable program code includes
computer usable program code configured to output a view of several
preselected elements of a storage environment or system, each of
the elements being associated with a tier, the elements being
organized into subgroups in the view, wherein the subgroups are
collapsible, computer usable program code configured to detect a
selection of one of the elements by a user, computer usable program
code configured to output additional information about the selected
one of the elements, computer usable program code configured to
receive an instruction from the user to collapse or expand one of
the subgroups, computer usable program code configured to update
the view to show the one of the subgroups in an expanded or
collapsed state, and computer usable program code configured to
output the updated view.
[0021] As will be appreciated by one skilled in the art, the
present invention may be embodied as a system, method or computer
program product. Accordingly, the present invention may take the
form of an entirely hardware embodiment, an entirely software
embodiment (including firmware, resident software, micro-code,
etc.) or an embodiment combining software and hardware aspects that
may all generally be referred to herein as a "circuit," "module" or
"system." Furthermore, the present invention may take the form of a
computer program product embodied in any tangible medium of
expression having computer-usable program code embodied in the
medium.
[0022] Any combination of one or more computer usable or computer
readable medium(s) may be utilized. The computer-usable or
computer-readable medium may be, for example but not limited to, an
electronic, magnetic, optical, electromagnetic, infrared, or
semiconductor system, apparatus, device, or propagation medium.
More specific examples (a non-exhaustive list) of the
computer-readable medium would include the following: an electrical
connection having one or more wires, a portable computer diskette,
a hard disk, a random access memory (RAM), a read-only memory
(ROM), an erasable programmable read-only memory (EPROM or Flash
memory), an optical fiber, a portable compact disc read-only memory
(CD-ROM), an optical storage device, a transmission media such as
those supporting the Internet or an intranet, or a magnetic storage
device. Note that the computer-usable or computer-readable medium
could even be paper or another suitable medium upon which the
program is printed, as the program can be electronically captured,
via, for instance, optical scanning of the paper or other medium,
then compiled, interpreted, or otherwise processed in a suitable
manner, if necessary, and then stored in a computer memory. In the
context of this document, a computer-usable or computer-readable
medium may be any medium that can contain, store, communicate,
propagate, or transport the program for use by or in connection
with the instruction execution system, apparatus, or device. The
computer-usable medium may include a propagated data signal with
the computer-usable program code embodied therewith, either in
baseband or as part of a carrier wave. The computer usable program
code may be transmitted using any appropriate medium, including but
not limited to wireless, wireline, optical fiber cable, RF,
etc.
[0023] Computer program code for carrying out operations of the
present invention may be written in any combination of one or more
programming languages, including an object oriented programming
language such as Java, Smalltalk, C++ or the like and conventional
procedural programming languages, such as the "C" programming
language or similar programming languages. The program code may
execute entirely on the user's computer, partly on the user's
computer, as a stand-alone software package, partly on the user's
computer and partly on a remote computer or entirely on the remote
computer or server. In the latter scenario, the remote computer may
be connected to the user's computer through any type of network,
including a local area network (LAN) or a wide area network (WAN),
or the connection may be made to an external computer (for example,
through the Internet using an Internet Service Provider).
[0024] The present invention is described below with reference to
flowchart illustrations and/or block diagrams of methods, apparatus
(systems) and computer program products according to embodiments of
the invention. It will be understood that each block of the
flowchart illustrations and/or block diagrams, and combinations of
blocks in the flowchart illustrations and/or block diagrams, can be
implemented by computer program instructions. These computer
program instructions may be provided to a processor of a general
purpose computer, special purpose computer, or other programmable
data processing apparatus to produce a machine, such that the
instructions, which execute via the processor of the computer or
other programmable data processing apparatus, create means for
implementing the functions/acts specified in the flowchart and/or
block diagram block or blocks.
[0025] These computer program instructions May also be stored in a
computer-readable medium that can direct a computer or other
programmable data processing apparatus to function in a particular
manner, such that the instructions stored in the computer-readable
medium produce an article of manufacture including instruction
means which implement the function/act specified in the flowchart
and/or block diagram block or blocks.
[0026] The computer program instructions may also be loaded onto a
computer or other programmable data processing apparatus to cause a
series of operational steps to be performed on the computer or
other programmable apparatus to produce a computer implemented
process such that the instructions which execute on the computer or
other programmable apparatus provide processes for implementing the
functions/acts specified in the flowchart and/or block diagram
block or blocks.
[0027] The flowchart and block diagrams in the Figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods and computer program products
according to various embodiments of the present invention. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of code, which comprises one or more
executable instructions for implementing the specified logical
function(s). It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. It will also be noted
that each block of the block diagrams and/or flowchart
illustration, and combinations of blocks in the block diagrams
and/or flowchart illustration, can be implemented by special
purpose hardware-based systems that perform the specified functions
or acts, or combinations of special purpose hardware and computer
instructions.
[0028] FIG. 1 shows a method 100 for providing user-defined
groupings, in accordance with one embodiment. As shown, it is
determined which elements of a system have been selected for
addition to a group, each of the elements being associated with a
tier. See operation 102.
[0029] In the context of the present description, a system refers
to any system including one or more elements. For example, in
various embodiments, the system may include a computer system, a
software system, a file system, a data storage system, and/or any
other system for that matter. Furthermore, in the context of the
present description, elements refer to any component, object,
computer code, or object representative that may be included in a
system. For example, in various embodiments, the elements referred
to herein may include physical objects, software objects, virtual
objects, etc.
[0030] As an option, a user may be allowed to select the elements.
As another option, the elements may be selected automatically. As
still another option, the elements may be selected based on user
preferences.
[0031] In one embodiment, the elements of the system may be
detected. In various embodiments, this detection may include
physical detection and/or virtual detection. For example, the
detection may be performed by reviewing data from which the
elements may be determined. In these cases, a database of system
information may be provided for detecting elements in a system.
[0032] Once it is determined which elements of a system have been
selected for addition to a group, the selected elements are added
to the group. See operation 104. It is then determined whether a
parent of each of the selected elements has also been selected. See
operation 106.
[0033] In this case, the parent of each of the selected elements is
in a higher tier than the element. In the context of the present
description, a tier refers to a level or node of a system. In some
cases, the tier may include a plurality of elements associated with
one or more other tiers or levels. In these cases, the tier
including the elements of the other tiers may be a higher tier
(e.g. tier 1, etc.) than tiers associated with the elements that
are included in the tier.
[0034] In one embodiment, determining whether the parent of each of
the selected elements has also been selected may include analyzing
all parents of the selected elements in all tiers above the tiers
of the respective elements. In this case, a tier 1 element is in
the highest tier, a tier 2 element is the second highest tier, etc.
Once it is determined whether a parent of each of the selected
elements has also been selected, the parent is added to the group
as an element if the parent of any of the selected elements has not
been selected. See operation 108.
[0035] The elements in the group are then associated into
subgroups. See operation 110. In one embodiment, the elements in
the groups may be associated into the subgroups by class. In this
case, each of the elements may be grouped into or labeled as part
of the subclass.
[0036] Furthermore, a view of at least some of the elements in the
group is generated. See operation 112. In this case, the view
represents the tier of the elements in the view, where the elements
are spatially organized by subgroup. Additionally, each subgroup
may contain one or more element.
[0037] Once the view of at least some of the elements in the group
is generated, the view is outputted, e.g., to a display device such
as a computer monitor, etc. See operation 114. It should be noted
that this view may not necessarily represent a default view.
[0038] Furthermore, the view may include a number of
representations and/or layouts. For example, in one embodiment, the
view may include a hub and spoke map connecting the subgroups. In
this case, each of the subgroups may be collapsible.
[0039] In addition to outputting the view, in one embodiment, a
representation of the elements in the system may be outputted. The
representation may include any representation, such as a list, a
graphical representation, a data flow, etc. In this case, the
representation may be outputted to a user selecting the one or more
elements from the representation.
[0040] For example, the representation may be outputted as a window
or an interface displayed to the user. As an option,
representations of all of the selected elements may be output in
the view of at least some of the elements in the group. As another
option, representations of all of the elements in the group may be
output in the view.
[0041] As still another option, the view of at least some of the
elements in the group may include elements associated with a
particular tier and elements of a lower tier may have a parent in
the particular tier that was not selected by the user. For example,
if a first tier is being shown, the selected elements in the first
tier may be displayed, along with one or more selected elements in
a lower tier. To place a lower-tiered element in a context, its
parent in the first tier may also be shown, even though that parent
may or may not have been selected by the user.
[0042] Thus, the elements of the lower tier having the parent in
the particular tier that was not selected by the user may be shown
in a subgroup of elements associated with the parent that was not
selected by the user. In one embodiment, a user selection of one of
the elements may be received from the outputted view. In this case,
a second view of at least some of the elements associated with the
element selected from the view may be generated.
[0043] Using these techniques, a hybrid map layout combining a hub
and spoke map with a collapsible grouping may be utilized to
adequately display relationships between classes and tiers of
elements within a group. Thus, users may group arbitrary sets of
entities together in a user sensible, standard manner, such that
all possible permutations of group members may be displayed in a
meaningful form. This may be accomplished even when the entities
are of varying tiers. Any type of graphical user interface (GUI)
may be used to enable the user to create, modify, and/or view the
hybrid map layout. FIGS. 2 and 3 show illustrative layouts, though
other types of layouts will be readily apparent to those skilled in
the art upon being apprised of the teachings herein. Elements may
be assigned to a group and/or tier using any method, including
drag-and-drop, designation of properties of the element, etc.
Moreover, elements may belong to more than one group and/or tier in
some approaches.
[0044] In one illustrative embodiment for outputting information
about a storage environment (e.g., storage system, including
peripheral hardware and software), a storage area network (SAN)
storage subsystem may be a tier 1 (i.e. a highest level element).
In this case, a storage pool inside of that storage subsystem would
be a tier 2 (i.e. a secondary element). Furthermore, a data volume
inside of that storage pool would be a tier 3 (i.e. tertiary
element), etc.
[0045] This may become more complicated when each grouping includes
entities of various classes and tiers. For example, a physical or
virtual computer system or cluster of computers may be a "Host"
class of element. Additionally, a fibre-channel switch along with
blades and ports associated with the switch may be a "Fabric" class
of element. A SAN storage subsystem, network attached storage (NAS)
filer, or tape library may be a "Storage" class of element.
[0046] One technique of displaying the group members is to use a
tree view. The tree view makes it easy to see the different tiers
of entities. However, a tree view is not able to show the
relationships between different classes of elements in the same
group. For example, a tree view is unable to show relationships
between a "storage" class and a "connectivity" class.
[0047] In some hub-and-spoke style map views, the views may either
show all the different tiers on the same map, or call for the user
enter to a tier 1 element to find the lower tiers of elements. In
these cases, if all the different tiers are placed onto the same
map in this hub-and-spoke style, the parent/child nature of the
relationship of all the various tiers may become unclear.
[0048] In one embodiment, a representation and visualization of
this type of grouping may be accomplished utilizing a map style
view. For example, the information may be displayed such that the
parent/child relationships of the various tiers within the same
class of entity are clear, all the entities are visible on the same
map, the relationships between the various classes of entities (if
they exist) are visible, and various sets of meta information may
be conveyed to the user for each tier and class of entity (e.g.
alert status, health status, performance status, etc.).
[0049] Accordingly, in one embodiment, a map with the addition of
containment notions to adequately represent the various tiers may
be utilized. This map may be constructed in such a way that the
containment is conditional upon lower level tiers actually being a
member of the group. In this way, a user may have
ultimate-flexibility of what appears on the map. Furthermore, if a
tier 3 element is added to a group, the map may display not only
the tier 3 element, but also a parent, tier 2 and tier 1
elements.
[0050] FIG. 2 shows an interface 200 for providing user-defined
groupings, in accordance with one embodiment. As an option, the
present interface 200 may be implemented in the context of the
details of FIG. 1. Of course, however, the interface 200 may be
implemented in any desired environment.
[0051] As shown, a first storage resource group (SRG1) 202 an
associated contents are displayed. In the context of the present
description, the term "storage resource group" is used to represent
a grouping of entities of varying types. In the current example,
the first storage resource group 202 includes four classes of
elements including storage resource groups class 204 (e.g. groups
within groups, etc.), a computers class 206, a connectivity class
208, and a storage class 210.
[0052] It should be noted that, in the storage resource groups
class 204, there is a distinction made between other groups (e.g.
parents, etc.) that include the storage resource group being
focused on in this view (i.e. SRG1 202), and between other groups
(e.g. children, etc.) that are included within the storage resource
group that is the focus of the interface 200 (i.e. SRG1 202).
Selecting (e.g. double-clicking, etc.) any storage resource group
icon displayed using the interface 200 may bring the user to focus
on the selected storage resource group.
[0053] The various classes 204-210 may be defined as members of the
first storage resource group 202 in a variety of ways. For example,
the computer class 206 of elements may be defined as members of the
first storage resource group 202 as illustrated in Table 1.
TABLE-US-00001 TABLE 1 SRG1 Computer: pc1 Computer: pc2 Computer:
pc3 Computer: pc4 Disk: Disk1 Disk: Disk2 Computer: Hyper1
Computer: Hyper2 Computer: vm1 Computer: vm2 Vmdisk: vmdk1 Vmdisk:
vmdk2 Computer: vm4 Vmdisk: vmdk3 Vmdisk: vmdk4
[0054] In this case, the computer "pc5," a tier 1 element, is not
an explicit member of the group, but it is still added to the map
in order to give context to the display of Disk1 and Disk2, which
are tier 2 elements. Likewise, the virtual machine "vm3," a tier 2
element, is not an explicit member of the group. However, the
virtual machine "vm3" is still added to the interface 200 (i.e. the
map) in order to give context to the display of "vmdk1" and
"vmdk2," which are tier 3 elements under vm3 and hypervisor
"hyper2" tiers in this case. Thus, elements that give context to
other elements may be automatically added to the group based on
system data, e.g., which contextual elements are associated in a
hierarchical or other way with the elements for which the context
is desired.
[0055] As an option, a visual marker may be utilized on a
multi-function icon in the map to aide the distinction between the
explicit and implicit members of the group. As another option, an
implicit member of the group (e.g. added for context of another
child explicit member, etc.) may always be in the form of a
grouping box. In this case, an explicit member may be in the form
of a grouping box as well as a single multi-function icon.
[0056] In one embodiment, if a tier 1 element does not have a
child, tier 2 or 3 elements may be added to the same group. In this
case, the tier 1 element may appear merely as a single icon on the
map. However, if there are child tier 2 or 3 elements added to the
same group, that tier 1 element may then be displayed as a
collapsible group. In this way, the children of the tier 1 element
may be displayed with the tier 1 collapsible group.
[0057] In one embodiment, a button may be included on each element
representation or grouping displayed such that the element,
grouping, and/or tier associated with that element may be collapsed
or expanded. For example, a button 212 may be provided for each
grouping.
[0058] As an option, all groupings may start out collapsed, so as
not to immediately clutter the display. To preserve processing
power and memory, the contents of each collapsed grouping may not
be presented to the user interface until expanded by the user (e.g.
"lazy loading" of data, etc.).
[0059] FIG. 3 shows an interface 300 illustrating a collapsed view
of the interface 200 of FIG. 2, in accordance with one embodiment.
As an option, the present interface 300 may be implemented in the
context of the details of FIGS. 1-2. Of course, however, the
interface 300 may be implemented in any desired environment.
[0060] As shown, the interface 300 illustrates a collapsed view of
a map including a first storage resource group (SRG1) 302. The
first storage resource group 202 includes four classes of elements
including storage resource groups class 304, a computers class 306,
a connectivity class 308, and a storage class 310, all in a
collapsed state. In this case, the contents of each collapsed
grouping may not be presented to the user interface until expanded
by a user. As an option, the user may use a button 312 to expand
each grouping.
[0061] By enabling the display of groupings in this manner, the
groupings may be configured to model the infrastructure components
of business applications. Furthermore, a health status of a
business application may be at least partially deduced from the
health and performance status of any infrastructure components.
Additionally, all infrastructure components for a particular
application may be visible on a single map view. Still yet, various
levels (i.e. tiers) of elements may be added to the same group,
depending solely on the responsibility and interest of the user
(e.g. an administrator, etc.) managing the group and not on any
physical relationship between elements and/or the groups.
[0062] FIG. 4 shows a method 400 for providing user-defined
groupings, in accordance with another embodiment. As an option, the
present method 400 may be implemented in the context of the
functionality and architecture of FIGS. 1-3. Of course, however,
the method 400 may be carried out in any desired environment.
[0063] As shown, a view of several preselected elements of a system
is output. See operation 402. In this case, each of the elements is
associated with a tier and the elements are organized into
subgroups in the view. Furthermore, the subgroups are
collapsible.
[0064] A selection of one of the elements by a user is then
detected. See operation 404. Once the selection by the user is
detected, additional information about the selected one of the
elements is output. See operation 406.
[0065] An instruction is then received from the user to collapse or
expand one of the subgroups. See operation 408. In various
embodiments, this instruction may be in the form of a mouse input
(e.g. a mouse click, etc.), a keyboard input, a touch screen input,
and/or various other inputs.
[0066] Once this instruction is received, the view is updated to
show the one of the subgroups in an expanded or collapsed state.
See operation 410. The updated view is then output. See operation
412.
[0067] In one embodiment, the view may include a hub and spoke map
connecting the subgroups. Furthermore, the view may include
elements associated with a particular tier. In this case, the
elements of a lower tier may have a parent in the particular tier
that was not preselected.
[0068] FIG. 5 shows a method 500 for providing user-defined
groupings, in accordance with another embodiment. As an option, the
present method 500 may be implemented in the context of the
functionality and architecture of FIGS. 1-4. Of course, however,
the method 500 may be carried out in any desired environment.
[0069] As shown, a nested view of several hierarchically-tiered
groups of elements of a storage environment or system is output in
operation 502. Lower-tiered groups are nested in the higher-tiered
groups associated therewith. Furthermore, the subgroups are
collapsible.
[0070] A selection of one of the elements by a user is detected.
See operation 504. Once the selection by the user is detected,
additional information about the selected one of the elements is
output. See operation 506.
[0071] An instruction is then received from the user to collapse or
expand one of the subgroups. See operation 508. In various
embodiments, this instruction may be in the form of a mouse input
(e.g. a mouse click, etc.), a keyboard input, a touch screen input,
and/or various other inputs.
[0072] Once this instruction is received, the view is updated to
show the one of the subgroups in an expanded or collapsed state.
See operation 510. The updated view is then output. See operation
512.
[0073] In one embodiment, the view may include a hub and spoke map
connecting the subgroups. Furthermore, the view may include
elements associated with a particular tier. In this case, the
elements of a lower tier may have a parent in the particular tier
that was not preselected.
[0074] While various embodiments have been described above, it
should be understood that they have been presented by way of
example only, and not limitation. Thus, the breadth and scope of a
preferred embodiment should not be limited by any of the
above-described exemplary embodiments, but should be defined only
in accordance with the following claims and their equivalents.
* * * * *