IP Library Granted Patent US 9,164,786
Granted Patent B2
US 9,164,786 · App. 13/874,441 · Granted Oct 20, 2015

Determining performance states of parent components in a virtual-machine environment based on performance states of related child components during a time period

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 9,164,786
App. No.
13/874,441
Granted
Oct 20, 2015
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 (80)

1. A computer-implemented method, comprising:

identifying, on a computing device, a parent component in a virtual-machine environment, wherein the parent 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 child components having at least one of the following relationships to the parent component:

when the parent component includes a host cluster of two or more hosts, each child component in the set of two or more child components includes a host in the host cluster,

when the parent component includes a host, each child component in the set of two or more child components includes a virtual machine running on the host, and

when the parent component includes a set of two or more virtual machines, each child component in the set of two or more child components includes a virtual machine in the set of two or more virtual machines;

receiving through a graphical user interface an identification of a first time period;

determining, on a computing device, a performance metric for each child component in the set of two or more child components, wherein the performance metric for a child component indicates a performance of the child component within the first time period, and 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 child-component performance state for each child component in the set of two or more child components based on the performance metric for the child component and a child-component state criterion, wherein the child-component state criterion maps a first range of values for a performance metric to a first child component performance state and a second range of values for the performance metric to a second child-component performance state; and

determining a parent state for the parent component based on the child-component performance state for each child component in the set of two or more child components and a parent-component state criterion, wherein the parent-component state criterion includes a threshold percentage or number of child components 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 parent component and an indication of the parent state of the parent 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 child components and an indication of the child-component performance state for each child component in the set of two or more child components.

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 parent component, an indication of the parent state of the parent component;

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

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 parent component, an indication of the parent state of the parent component, and an indication that the parent component and the set of child components are related.

6. The method of claim 1 , wherein the child-component 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 child-component performance state for each child component in the set of two or more child components using the child-performance state criterion includes mapping the performance metric for the child component to the child-component performance state.

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

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

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

11. The method of claim 1 , wherein the parent component includes a set of two or more virtual machines, and each child component in the set of two or more child components 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 parent state of the parent component.

13. The method of claim 1 , further comprising displaying a visual indication of the child-performance state for each child component in the set of child components.

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

15. The method of claim 1 , wherein determining the child-component performance state for each child component in the set of two or more child components includes:

determining a performance-metric statistic based on a set of performance metrics for the child component, 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 parent component in a virtual-machine environment, wherein the parent 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 child components having at least one of the following relationships to the parent component:

when the parent component includes a host cluster of two or more hosts, each child component in the set of two or more child components includes a host in the host cluster,

when the parent component includes a host, each child component in the set of two or more child components includes a virtual machine running on the host, and

when the parent component includes a set of two or more virtual machines, each child compo the set of two or more child components includes a virtual machine in the set of two or more virtual machines;

receiving through a graphical user interface an identification of a first time period;

determining, on a computing device, a performance metric for each child component in the set of two or more child components, wherein the performance metric for a child component indicates a performance of the child component within the first time period, and 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 child-component performance state for each child component in the set of two or more child components based on the performance metric for the child component and a child-component state criterion, wherein the child-component state criterion maps a first range of values for a performance metric to a first child-component performance state and a second range of values for the performance metric to a second child-component performance state; and

determining a parent state for the parent component based on the child-component performance state for components and a parent-component state criterion, wherein the parent-component state criterion includes a threshold percentage or number of child components 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 parent component and an indication of the parent state of the parent 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 child components and an indication of the child-component performance state for each child component in the set of two or more child components.

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 parent component, an indication of the parent state of the parent component;

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

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 parent component, an indication of the parent state of the parent component, and an indication that the parent component and the set of child components are related.

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

concurrently displaying an indication of the parent state of the parent component and an indication of the child-component performance state for each child component in the set of two or more child components.

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

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

generating the parent-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 parent component in a virtual machine environment, wherein the parent 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 child components having at least one of the following relationships to the parent component:

when the parent component includes a host cluster of two or more hosts, each child component in the set of two or more child components includes a host in the host cluster,

when the parent component includes a host, each child component in the set of two or more child components includes a virtual machine running on the host, and

when the parent component includes a set of two or more virtual machines, each child component in the set of two or more child components includes a virtual machine in the set of two or more virtual machines;

receiving through a graphical user interface an identification of a first time period;

determining, on a computing device, a performance metric for each child component in the set of two or more child components, wherein the performance metric for a child component indicates a performance of the child component within the first time period, and 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 child-component performance state for each child component in the set of two or more child components based on the performance metric for the child component and a child-component state criterion, wherein the child-component state criterion maps a first range of values for a performance metric to a first child-component performance state and a second range of values for the performance metric to a second child component performance state; and

determining a parent state for the parent component based on the child-component performance state for each child component in the set of two or more child components and a parent-component state criterion, wherein the parent-component state criterion includes a threshold percentage or number of child components 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 parent component, an indication of the parent state of the parent component;

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

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 parent component, an indication of the parent state of the parent component, and an indication that the parent component and the set of child components are related.

27. The computer-program product of claim 24 , wherein

the actions further include:

concurrently displaying an indication of the parent state of the parent component and an indication of the child-component performance state for each child component in the set of two or more child components.

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

29. The computer-program product of claim 24 , wherein

the actions further include:

generating the parent-component state criterion based on user input.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2013
From: BINGHAM, BRIAN; FLETCHER, TRISTAN
To: SPLUNK INC.
Reel/Frame 030323/0602 →