IP Library Granted Patent US 8,904,389
Granted Patent B2
US 8,904,389 · App. 13/874,423 · Granted Dec 2, 2014

Determining performance states of components in a virtual machine environment based on performance states of related subcomponents

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,904,389
App. No.
13/874,423
Granted
Dec 2, 2014
Kind
B2
Abstract

Techniques promote monitoring of hypervisor systems by presenting dynamic representations of hypervisor architectures that include performance indicators. A reviewer can interact with the representation to progressively view select lower-level performance indicators. Higher level performance indicators can be determined based on tower level state assessments. A reviewer can also view historical performance metrics and indicators, which can aid in understanding which configuration changes or system usages may have led to sub-optimal performance.

Claims (75)

1. A computer-implemented method, comprising:

identifying, on a computing device, a component in a virtual-machine environment, wherein the component includes a host cluster of two or more hosts, a host, or a set of two or more virtual machines;

identifying a set of two or more subcomponents having at least one of the following relationships to the component:

when the component includes a host cluster of two or more hosts, each subcomponent in the set of two or more subcomponents includes a host in the host cluster,

when the component includes a host, each subcomponent in the set of two or more subcomponents includes a virtual machine running on the host, and

when the component includes a set of two or more virtual machines, each subcomponent in the set of two or more subcomponents includes a virtual machine in the set of two or more virtual machines;

determining, on a computing device, a performance metric for each subcomponent in the set of two or more subcomponents, wherein the performance metric characterizes a task-processing time, a count or percentage of task completions, an intake number, a resource power state, a processor usage, a processor speed, a memory usage, a network usage, an occurrence of memory swapping or memory ballooning, an occurrence of an error, a task migration variable, a processing-power allocation, or a memory allocation;

determining a subcomponent performance state for each subcomponent in the set of two or more subcomponents based on the performance metric for the subcomponent and a subcomponent state criterion, wherein the subcomponent state criterion maps a first range of values for a performance metric to a first subcomponent performance state and a second range of values for the performance metric to a second subcomponent performance state; and

determining a component state for the component based on the subcomponent performance state for each subcomponent in the set of two or more subcomponents and a component state criterion, wherein the component state criterion includes a threshold percentage or number of subcomponents that have a specified state.

2. The method of claim 1 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component and an indication of the component state for the component.

3. The method of claim 1 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the set of two or more subcomponents and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

4. The method of claim 1 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component;

wherein when a user selects the component through a user interface, displaying a representation of the set of two or more subcomponents, and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

5. The method of claim 1 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component, and an indication that the component and the set of two or more subcomponents are related.

6. The method of claim 1 , wherein the subcomponent state criterion includes a threshold separating the first range of values from the second range of values.

7. The method of claim 1 , wherein determining the subcomponent performance state for each subcomponent in the set of two or more subcomponents using the subcomponent performance state criterion includes mapping the performance metric for the subcomponent to the subcomponent performance state.

8. The method of claim 1 , further comprising concurrently displaying an indication of the component state for the component and an indication of the subcomponent state for each subcomponent in the set of two or more subcomponents.

9. The method of claim 1 , wherein the component includes a host cluster of two or more hosts, and each subcomponent in the set of two or more subcomponents includes a host in the host cluster.

10. The method of claim 1 , wherein the component includes a host, and each subcomponent in the set of two or more subcomponents includes a virtual machine running on the host.

11. The method of claim 1 , wherein the component includes a set of two or more virtual machines, and each subcomponent in the set of two or more subcomponents includes a virtual machine in the set of two or more virtual machines.

12. The method of claim 1 , further comprising displaying a visual indication of the component state for the component.

13. The method of claim 1 , further comprising displaying a visual indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

14. The method of claim 1 , further comprising generating the component state criterion based on user input.

15. The method of claim 1 , wherein determining the subcomponent performance state for each subcomponent in the set of two or more subcomponents includes:

determining a performance-metric statistic based on a set of performance metrics for the subcomponent, wherein the set of performance metrics includes the performance metric; and

comparing the performance-metric statistic to a threshold for the performance metric.

16. A system, comprising:

one or more data processors; and

a non-transitory computer readable storage medium containing

instructions which when executed on the one or more data processors, cause the one or more data processors to perform actions including:

identifying, on a computing device, a component in a virtual-machine environment, wherein the component includes a host cluster of two or more hosts, a host, or a set of two or more virtual machines;

identifying a set of two or more subcomponents having at least one of the following relationships to the component:

when the component includes a host cluster of two or more hosts, each subcomponent in the set of two or more subcomponents includes a host in the host cluster,

when the component includes a host, each subcomponent in the set of two or more subcomponents includes a virtual machine running on the host, and

when the component includes a set of two or more virtual machines, each subcomponent in the set of two or more subcomponents includes a virtual machine in the set of two or more virtual machines;

determining, on a computing device, a performance metric for each subcomponent in the set of two or more subcomponents, wherein the performance metric characterizes a task-processing time, a count or percentage of task completions, an intake number, a resource power state, a processor usage, a processor speed, a memory usage, a network usage, an occurrence of memory swapping or memory ballooning, an occurrence of an error, a task-migration variable, a processing-power allocation, or a memory allocation;

determining a subcomponent performance state for each subcomponent in the set of two or more subcomponents based on the performance metric for the subcomponent and a subcomponent state criterion, wherein the subcomponent state criterion maps a first range of values for a performance metric to a first subcomponent performance state and a second range of values for the performance metric to a second subcomponent performance state; and

determining a component state for the component based on the subcomponent performance state for each subcomponent in the set of two or more subcomponents and a component state criterion, wherein the component state criterion includes a threshold percentage or number of subcomponents that have a specified state.

17. The system of claim 16 , wherein the actions further include:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component and an indication of the component state for the component.

18. The system of claim 16 , wherein the actions further include:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the set of two or more subcomponents and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

19. The system of claim 16 , wherein the actions further include:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component;

wherein when a user selects the component through a user interface, displaying a representation of the set of two or more subcomponents, and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

20. The system of claim 16 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component, and an indication that the component and the set of two or more sub components are related.

21. The system of claim 16 , wherein the actions further include:

concurrently displaying an indication of the component state for the component and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

22. The system of claim 16 , wherein the component includes a host, and each subcomponent in the set of two or more subcomponents includes a virtual machine running on the host.

23. The system of claim 16 , wherein the actions further include:

generating the component state criterion based on user input.

24. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors to perform actions including:

identifying, on a computing device, a component in a virtual-machine environment, wherein the component includes a host cluster of two or more hosts, a host, or a set of two or more virtual machines;

identifying a set of two or more subcomponents having at least one of the following relationships to the component:

when the component includes a host cluster of two or more hosts, each subcomponent in the set of two or more subcomponents includes a host in the host cluster,

when the component includes a host, each subcomponent in the set of two or more s subcomponents includes a virtual machine running on the host, and

when the component includes a set of two or more virtual machines, each subcomponent in the set of two or more subcomponents includes a virtual machine in the set of two or more virtual machines;

determining, on a computing device, a performance metric for each subcomponent in the set of two or more subcomponents, wherein the performance metric characterizes a task-processing time, a count or percentage of task completions, an intake number, a resource power state, a processor usage, a processor speed, a memory usage, a network usage, an occurrence of memory swapping or memory ballooning, an occurrence of an error, a task migration variable, a processing-power allocation, or a memory allocation;

determining a subcomponent performance state for each subcomponent in the set of two or more subcomponents based on the performance metric for the subcomponent and a subcomponent state criterion, wherein the subcomponent state criterion maps a first range of values for a performance metric to a first subcomponent performance state and a second range of values for the performance metric to a second subcomponent performance state; and

determining a component state for the component based on the subcomponent performance state for each subcomponent in the set of two or more subcomponents and a component state criterion, wherein the component state criterion includes a threshold percentage or number of subcomponents that have a specified state.

25. The computer-program product of claim 24 , wherein the actions further include:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component;

wherein when a user selects the component through a user interface, displaying a representation of the set of two or more subcomponents, and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

26. The computer-program product of claim 24 , further comprising:

displaying a visual representation of the virtual-machine environment, wherein the visual representation includes a representation of the component, an indication of the component state for the component, and an indication that the component and the set of two or more subcomponents are related.

27. The computer-program product of claim 24 , wherein the actions further include:

concurrently displaying an indication of the component state for the component and an indication of the subcomponent performance state for each subcomponent in the set of two or more subcomponents.

28. The computer-program product of claim 24 , wherein the component includes a host, and each subcomponent in the set of two or more subcomponents includes a virtual machine running on the host.

29. The computer-program product of claim 24 , wherein the actions further include:

generating the component state criterion based on user input.

Assignments (5)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
CHANGE OF NAME Recorded Jan 6, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 069825/0782 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2013
From: BINGHAM, BRIAN; FLETCHER, TRISTAN
To: SPLUNK, INC.
Reel/Frame 030323/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2013
From: BINGHAM, BRIAN; FLETCHER, TRISTAN
To: SPLUNK INC.
Reel/Frame 030323/0580 →