IP Library › Granted Patent US 9,323,557
Granted Patent B2
US 9,323,557 · App. 14/609,335 · Granted Apr 26, 2016

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

Inventors: Brian Bingham (Denver, CO); Tristan Fletcher (Pacifica, CA)
Assignee: SPLUNK INC.
G06F9/45533G06F9/45545G06F9/45558G06F11/1484G06F11/3409G06F2009/45591
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,323,557
App. No.
14/609,335
Filed
Jan 29, 2015
Granted
Apr 26, 2016
Kind
B2
Examiner
LEE, JAMES J
Art Unit
2195
USPC
718/100
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 lower 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 (73)

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 of the parent component, wherein when the parent component includes a host cluster, each child component includes a host in the host cluster, when the parent component includes a host, each child component includes a virtual machine running on the host, and when the parent component includes a set of virtual machines, each child component includes a virtual machine in the set of virtual machines;

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 indicates a performance of the child component within a selected time period;

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;

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; and

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.

2. The method of claim 1 , wherein the performance metric for each child component characterizes one or more of the following:

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; and

a memory allocation.

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 ,

wherein when a user selects the parent 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 , wherein the child-component state criterion includes a threshold separating the first range of values from the second range of values.

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

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 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.

8. 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 of the parent component, wherein when the parent component includes a host cluster, each child component includes a host in the host cluster, when the parent component includes a host, each child component includes a virtual machine running on the host, and when the parent component includes a set of virtual machines, each child component includes a virtual machine in the set of virtual machines;

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 indicates a performance of the child component within a selected time period;

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;

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; and

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.

9. The system of claim 8 , wherein the performance metric for each child component characterizes one or more of the following:

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; and

a memory allocation.

10. The system of claim 8 , 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.

11. The system of claim 8 ,

wherein when a user selects the parent component through a user interface, the actions further include 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.

12. The system of claim 8 , 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.

13. The system of claim 8 , wherein the actions further include:

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

14. 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 of the parent component, wherein when the parent component includes a host cluster, each child component includes a host in the host cluster, when the parent component includes a host, each child component includes a virtual machine running on the host, and when the parent component includes a set of virtual machines, each child component includes a virtual machine in the set of virtual machines;

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 indicates a performance of the child component within a selected time period;

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;

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; and

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.

15. The computer-program product of claim 14 , wherein the performance metric for each child component characterizes one or more of the following:

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; and

a memory allocation.

16. The computer-program product of claim 14 ,

wherein when a user selects the parent component through a user interface, the actions further include 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.

17. The computer-program product of claim 14 , 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 Feb 25, 2016
From: BINGHAM, BRIAN; FLETCHER, TRISTAN
To: SPLUNK INC.
Reel/Frame 037832/0577 →
Continuity (2)
Continuation 13874441 · Apr 30, 2013
Related Publication 20150143173A1 · May 21, 2015