# US 11,451,454 B2 · Virtualization infrastructure underlay network performance measurement and monitoring

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

- Number: US 11,451,454 B2
- Document ID: US11451454B2
- Status: Granted
- Kind: B2
- Application number: 16/948,339
- Filed: 2020-09-14
- Published: 2021-01-07
- Granted: 2022-09-20
- Earliest claimed: 2018-06-13
- Assignees: Juniper Networks, Inc.
- Applicants: Juniper Networks, Inc.
- Inventors: Harshit Naresh Chitalia; Travis Gregory Newhouse; Weixu Zhuang; Sumeet Singh
- Web page: https://patentgrep.com/patent/US11451454B2

## CPC

- H04L 41/22: comprising specially adapted graphical user interfaces [GUI]
- G06F 3/048: Interaction techniques based on graphical user interfaces [GUI]
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06T 11/26: Drawing of charts or graphs
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/0811: by checking connectivity
- H04L 43/0817: by checking functioning
- H04L 43/0864: Round trip delays
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- G06T 2200/24: involving graphical user interfaces [GUIs]
- H04L 41/12: Discovery or management of network topologies
- H04L 43/20: the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A variety of different graphical user interfaces are generated that when displayed provide a visual and interactive representation of one or more performance metrics associated with the operation of a computer network. The graphical user interfaces may be used to monitor the underlay computer network for a virtualization infrastructure, as one example. Aspects include grouping the servers of a computer network into a plurality of aggregates, each aggregate comprising one or more servers. A set of probes are configured that are issued by an agent of a server in one aggregate and sent through the computer network to one or more agents in the server(s) of a different aggregate. Responses and other measurements taken based on the issuance of the probes is gathered and analyzed to generate metrics that are then used to generate, at least in part, the information provided in the graphical user interfaces.

## Claims

### Claim 1

A method comprising:
generating, by a computing device, a first graphical user interface comprising a first graphical element for a first aggregate representing a first plurality of servers, a second graphical element for a second aggregate representing a second plurality of servers, and a graphical indicator visually linking the first aggregate and the second aggregate and indicative of a status of communications between the first aggregate and the second aggregate;
outputting, by the computing device, the first graphical user interface for display at a display device;
in response to receiving an indication of a user input at the first graphical user interface, the user input indicating selection of the graphical indicator, generating, by the computing device, a second graphical user interface comprising a plurality of status blocks for different pairs of servers from the first plurality of servers and the second plurality of servers, each of the different pairs of servers including a server of the first plurality of servers and a server of the second plurality of servers, wherein each status block of the plurality of status blocks indicates a status of communications between the corresponding, different pair of servers; and
outputting, by the computing device, the second graphical user interface for display at the display device.

### Claim 2 (depends on 1)

The method of claim 1, wherein each status block of the plurality of status blocks indicates the status of communications between the corresponding, different pair of servers based on result data for communication probes generated by a source agent, for the server of the first plurality of servers, that issues the communication probes to a destination agent for the server of the second plurality of servers.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
receiving, by the computing device, an indication of a user input at the second graphical user interface, the user input indicating selection of a selected status block of the plurality of status blocks, wherein the selected status block indicates the status of communications between the corresponding, different pair of servers;
in response to receiving the indication of a user input at the second graphical user interface, outputting a third graphical user interface with an identifier for an agent of the corresponding server of the first plurality of servers and an identifier for an agent of the corresponding server of the second plurality of servers.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
receiving, by the computing device, an indication of a user input at the second graphical user interface, the user input indicating selection of a selected status block of the plurality of status blocks, wherein the selected status block indicates the status of communications between the corresponding, different pair of servers;
in response to receiving the indication of a user input at the second graphical user interface, outputting a third graphical user interface that displays a latency value for a latency between the corresponding server of the first plurality of servers and the corresponding server of the second plurality of servers.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plurality of status blocks is arranged in a grid of rows and columns.

### Claim 6 (depends on 1)

The method of claim 1, wherein the second graphical user interface includes an identifier for the first aggregate and an identifier for the second aggregate.

### Claim 7 (depends on 1)

The method of claim 1, wherein the first graphical user interface comprises a third graphical element for a third aggregate representing a third plurality of servers, and a graphical indicator visually linking the first aggregate and the third aggregate and indicative of a status of communications between the first aggregate and the third aggregate.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving result data for probes issued by each server of the first plurality of servers to each server of the second plurality of servers,
wherein generating the first graphical user interface comprises generating the first graphical user interface based at least on the result data.

### Claim 9 (depends on 1)

The method of claim 1, wherein the graphical indicator comprises an arrow at least partially rendered in a color that is indicative of the status of communications between the first aggregate and the second aggregate.

### Claim 10 (depends on 1)

The method of claim 1,
outputting a third graphical user interface that displays respective values for one or more of an average latency, a minimum latency, and a maximum latency for communications between the first plurality of servers and the second plurality of servers.

### Claim 11

A controller implemented in one or more computing devices, the controller comprising:
a dashboard application configured to:
generate a first graphical user interface comprising a first graphical element for a first aggregate representing a first plurality of servers, a second graphical element for a second aggregate representing a second plurality of servers, and a graphical indicator visually linking the first aggregate and the second aggregate and indicative of a status of communications between the first aggregate and the second aggregate;
output the first graphical user interface for display at a display device;
in response to receiving an indication of a user input at the first graphical user interface, the user input indicating selection of the graphical indicator, generate a second graphical user interface comprising a plurality of status blocks for different pairs of servers from the first plurality of servers and the second plurality of servers, each of the different pairs of servers including a server of the first plurality of servers and a server of the second plurality of servers, wherein each status block of the plurality of status blocks indicates a status of communications between the corresponding, different pair of servers; and
output the second graphical user interface for display at the display device.

### Claim 12 (depends on 11)

The controller of claim 11, wherein each status block of the plurality of status blocks indicates the status of communications between the corresponding, different pair of servers based on result data for communication probes generated by a source agent, for the server of the first plurality of servers, that issues the communication probes to a destination agent for the server of the second plurality of servers.

### Claim 13 (depends on 11)

The controller of claim 11, wherein the dashboard application is further configured to:
receive an indication of a user input at the second graphical user interface, the user input indicating selection of a selected status block of the plurality of status blocks, wherein the selected status block indicates the status of communications between the corresponding, different pair of servers;
in response to receiving the indication of a user input at the second graphical user interface, output a third graphical user interface with an identifier for an agent of the corresponding server of the first plurality of servers and an identifier for an agent of the corresponding server of the second plurality of servers.

### Claim 14 (depends on 11)

The controller of claim 11, wherein the dashboard application is further configured to:
receive an indication of a user input at the second graphical user interface, the user input indicating selection of a selected status block of the plurality of status blocks, wherein the selected status block indicates the status of communications between the corresponding, different pair of servers;
in response to receiving the indication of a user input at the second graphical user interface, output a third graphical user interface that displays a latency value for a latency between the corresponding server of the first plurality of servers and the corresponding server of the second plurality of servers.

### Claim 15 (depends on 11)

The controller of claim 11, wherein the second graphical user interface includes an identifier for the first aggregate and an identifier for the second aggregate.

### Claim 16 (depends on 11)

The controller of claim 11, wherein the first graphical user interface comprises a third graphical element for a third aggregate representing a third plurality of servers, and a graphical indicator visually linking the first aggregate and the third aggregate and indicative of a status of communications between the first aggregate and the third aggregate.

### Claim 17 (depends on 11)

The controller of claim 11, wherein the dashboard application is further configured to:
receive result data for probes issued by each server of the first plurality of servers to each server of the second plurality of servers,
wherein to generate the first graphical user interface the dashboard application is configured to generate the first graphical user interface based at least on the result data.

### Claim 18

A non-transitory computer readable medium comprising instructions to cause one or more processors of a controller to:
generate a first graphical user interface comprising a first graphical element for a first aggregate representing a first plurality of servers, a second graphical element for a second aggregate representing a second plurality of servers, and a graphical indicator visually linking the first aggregate and the second aggregate and indicative of a status of communications between the first aggregate and the second aggregate;
output the first graphical user interface for display at a display device;
in response to receiving an indication of a user input at the first graphical user interface, the user input indicating selection of the graphical indicator, generate a second graphical user interface comprising a plurality of status blocks for different pairs of servers from the first plurality of servers and the second plurality of servers, each of the different pairs of servers including a server of the first plurality of servers and a server of the second plurality of servers, wherein each status block of the plurality of status blocks indicates a status of communications between the corresponding, different pair of servers; and
output the second graphical user interface for display at the display device.
