# US 2017/0255481 A1 · Systems and Methods For Automatically Characterizing Performance Of A Hypervisor System

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0255481 A1
- Document ID: US20170255481A1
- Status: Published application
- Kind: A1
- Application number: 15/582,108
- Filed: 2017-04-28
- Published: 2017-09-07
- Earliest claimed: 2013-04-30
- Assignees: Splunk Inc.
- Applicants: Splunk Inc.
- Inventors: BRIAN BINGHAM; TRISTAN FLETCHER
- Web page: https://patentgrep.com/patent/US20170255481A1

## CPC

- G06F 9/45533: {Hypervisors; Virtual machine monitors}
- G06F 11/323: {Visualisation of programs or trace data}
- G06F 11/328: {Computer systems status display (G06F11/327 takes precedence)}
- G06F 11/3409: {for performance assessment}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

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

### Claim 1

A computer-implemented method, comprising:
accessing, on a computing device, an architecture identifying relationships between a plurality of components in a system providing virtual-machine processing, the plurality of components including a plurality of virtual machines;
monitoring, for each virtual machine of the plurality of virtual machines, a performance metric of the virtual machine;
identifying, on the computing device and based on the architecture, a set of virtual machines, the plurality of virtual machines including the set of virtual machines;
determining, on the computing device, a first performance indicator for the set of virtual machines, the first performance indicator depending on the performance metrics for virtual machines in the set of virtual machines;
presenting the first performance indicator;
identifying, on the computing device and based on the architecture, a plurality of subsets of the set of virtual machines;
determining, on the computing device, a second performance indicator for each subset of the plurality of subsets of virtual machines, the second performance indicator depending on the performance metric(s) for virtual machine(s) in the subset of virtual machines; and
subsequent to the presentation of the first performance indicator, simultaneously presenting the second performance indicators for the subsets of virtual machines.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting an input identifying a selection of the set of virtual machines,
wherein the second performance indicators are presented in response to the input.

### Claim 3 (depends on 1)

The method of claim 1, wherein the presenting the first performance indicator comprises displaying a color in association with a representation of the set of virtual machines.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the first performance indicator comprises:
accessing, for each virtual machine in the set of virtual machines, an individual performance-satisfaction state identifying whether operation of the virtual machine is satisfactory;
generating a group performance metric identifying whether operation of the set of virtual machines, as a whole, is satisfactory;
evaluating a state criterion based on the group performance metric; and
determining a group performance-satisfaction state based on whether the state criterion was met, the first performance indicator comprising the group performance-satisfaction state.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
presenting a first representation of a first part of the architecture simultaneously with the presentation of the first performance indicator; and
presenting a second representation of a second part of the architecture simultaneously with the presentation of the second performance indicator, the second part of the architecture being more detailed than the first part of the architecture.

### Claim 6 (depends on 1)

The method of claim 1, wherein:
presenting the first performance indicator comprises presenting a first representation of a first performance-satisfaction state,
the first performance indicator identifies whether operation of the set of virtual machines is satisfactory,
presenting the second performance indicator comprises presenting a second representation of a second performance-satisfaction state, and
the second performance indicator identifies whether operation of the subset of virtual machines is satisfactory.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
detecting an input identifying a selection of a virtual machine of the subset of virtual machines; and
subsequent to the detection, presenting a plurality of historical performance metrics characterizing performance of the virtual machine.

### Claim 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 processor to perform operations including:
accessing an architecture identifying relationships between a plurality of components in a system providing virtual-machine processing, the plurality of components including a plurality of virtual machines;
monitoring, for each virtual machine of the plurality of virtual machines, a performance metric of the virtual machine;
identifying, based on the architecture, a set of virtual machines, the plurality of virtual machines including the set of virtual machines;
determining a first performance indicator for the set of virtual machines, the first performance indicator depending on the performance metrics for virtual machines in the set of virtual machines;
presenting the first performance indicator;
identifying, based on the architecture, a plurality of subsets of the set of virtual machines;
determining a second performance indicator for each subset of the plurality of subsets of virtual machines, the second performance indicator depending on the performance metric(s) for virtual machine(s) in the subset of virtual machines; and
subsequent to the presentation of the first performance indicator, simultaneously presenting the second performance indicators for the subsets of virtual machines.

### Claim 9 (depends on 8)

The system of claim 8, wherein the instructions, when executed on the one or more data processors, further cause the process to:
detect an input identifying a selection of the set of virtual machines,
wherein the second performance indicators are presented in response to the input.

### Claim 10 (depends on 8)

The system of claim 8, wherein the presenting the first performance indicator comprises displaying a color in association with a representation of the set of virtual machines.

### Claim 11 (depends on 8)

The system of claim 8, wherein determining the first performance indicator comprises:
accessing, for each virtual machine in the set of virtual machines, an individual performance-satisfaction state identifying whether operation of the virtual machine is satisfactory;
generating a group performance metric identifying whether operation of the set of virtual machines, as a whole, is satisfactory;
evaluating a state criterion based on the group performance metric; and
determining a group performance-satisfaction state based on whether the state criterion was met, the first performance indicator comprising the group performance-satisfaction state.

### Claim 12 (depends on 8)

The system of claim 8, wherein the instructions, when executed on the one or more data processors, further cause the process to:
present a first representation of a first part of the architecture simultaneously with the presentation of the first performance indicator; and
present a second representation of a second part of the architecture simultaneously with the presentation of the second performance indicator, the second part of the architecture being more detailed than the first part of the architecture.

### Claim 13 (depends on 8)

The system of claim 8, wherein:
presenting the first performance indicator comprises presenting a first representation of a first performance-satisfaction state,
the first performance indicator identifies whether operation of the set of virtual machines is satisfactory,
presenting the second performance indicator comprises presenting a second representation of a second performance-satisfaction state, and
the second performance indicator identifies whether operation of the subset of virtual machines is satisfactory.

### Claim 14 (depends on 8)

The system of claim 8, wherein the instructions, when executed on the one or more data processors, further cause the process to:
detecting an input identifying a selection of a virtual machine of the subset of virtual machines; and
subsequent to the detection, presenting a plurality of historical performance metrics characterizing performance of the virtual machine.

### Claim 15

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:
access an architecture identifying relationships between a plurality of components in a system providing virtual-machine processing, the plurality of components including a plurality of virtual machines;
monitor, for each virtual machine of the plurality of virtual machines, a performance metric of the virtual machine;
identify, based on the architecture, a set of virtual machines, the plurality of virtual machines including the set of virtual machines;
determine a first performance indicator for the set of virtual machines, the first performance indicator depending on the performance metrics for virtual machines in the set of virtual machines;
present the first performance indicator;
identify, based on the architecture, a plurality of subsets of the set of virtual machines;
determine a second performance indicator for each subset of the plurality of subsets of virtual machines, the second performance indicator depending on the performance metric(s) for virtual machine(s) in the subset of virtual machines; and
subsequent to the presentation of the first performance indicator, simultaneously present the second performance indicators for the subsets of virtual machines.

### Claim 16 (depends on 15)

The computer-program product of claim 15, wherein the instructions are further configured to cause the one or more data processors to:
detect an input identifying a selection of the set of virtual machines,
wherein the second performance indicators are presented in response to the input.

### Claim 17 (depends on 15)

The computer-program product of claim 15, wherein the presenting the first performance indicator comprises displaying a color in association with a representation of the set of virtual machines.

### Claim 18 (depends on 15)

The computer-program product of claim 15, wherein determining the first performance indicator comprises:
accessing, for each virtual machine in the set of virtual machines, an individual performance-satisfaction state identifying whether operation of the virtual machine is satisfactory;
generating a group performance metric identifying whether operation of the set of virtual machines, as a whole, is satisfactory;
evaluating a state criterion based on the group performance metric; and
determining a group performance-satisfaction state based on whether the state criterion was met, the first performance indicator comprising the group performance-satisfaction state.

### Claim 19 (depends on 15)

The computer-program product of claim 15, wherein the instructions are further configured to cause the one or more data processors to:
present a first representation of a first part of the architecture simultaneously with the presentation of the first performance indicator; and
present a second representation of a second part of the architecture simultaneously with the presentation of the second performance indicator, the second part of the architecture being more detailed than the first part of the architecture.

### Claim 20 (depends on 15)

The computer-program product of claim 15, wherein:
presenting the first performance indicator comprises presenting a first representation of a first performance-satisfaction state,
the first performance indicator identifies whether operation of the set of virtual machines is satisfactory,
presenting the second performance indicator comprises presenting a second representation of a second performance-satisfaction state, and
the second performance indicator identifies whether operation of the subset of virtual machines is satisfactory.

### Claim 21 (depends on 15)

The computer-program product of claim 15, wherein the instructions are further configured to cause the one or more data processors to:
detect an input identifying a selection of a virtual machine of the subset of virtual machines; and
subsequent to the detection, present a plurality of historical performance metrics characterizing performance of the virtual machine.
