IP Library Granted Patent US 10,547,521
Granted Patent B1
US 10,547,521 · App. 15/637,716 · Granted Jan 28, 2020

Network dashboard with multifaceted utilization visualizations

Inventors: Parantap Roy (Mountain View, CA); Weixu Zhuang (Sunnyvale, CA); Sumeet Singh (Saratoga, CA); Harshit Naresh Chitalia (Santa Clara, CA); Travis Gregory Newhouse (Encinitas, CA); Avi K. Patel (San Jose, CA); Moitrayee Gupta (San Jose, CA)
Assignee: Juniper Networks, Inc.
H04L43/045H04L41/22H04L43/06H04L43/0876H04L41/20H04L43/10H04L43/14
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 10,547,521
App. No.
15/637,716
Granted
Jan 28, 2020
Kind
B1
Abstract

Techniques for presenting information about a network, virtualization infrastructure, cluster, or other computing environment, which may involve presentation of user interfaces that may enable nuanced, unique, and/or comprehensive insights into how infrastructure elements, instances, and/or computing resources are being used and information about patterns of usage and/or utilization. Techniques for communicating, within a computing system, information used to create, update, and/or modify the user interfaces that present information about a network, virtualization infrastructure, cluster, or other computing environment. Techniques in accordance with one or more aspects of the present disclosure may involve use of separate interfaces for collecting or accessing data used to draw a user interface that presents information about a network, and for collecting or receiving data used to update the user interface as changes occur to the utilization of infrastructure elements represented within the user interface.

Claims (82)

1. A method comprising:

determining, by a computing system, information about a plurality of instances executing on a plurality of host devices within a network, wherein the network includes a message bus on which metric information associated with the network is published;

identifying, by the computing system, an instance to represent within a user interface, wherein the instance is one of the plurality of instances;

requesting, by the computing system, that the message bus report metric values for a metric associated with the instance;

requesting, by the computing system, that the message bus report summary metric values for the plurality of instances, wherein the summary metric values are based on metric values for all of the plurality of instances during a time window, and are determined by identifying a maximum value for the metric values for all of the plurality of instances during the time window;

receiving, by the computing system and from the message bus, a metric value for the instance;

receiving, by the computing system and from the message bus, a summary metric value;

determining, by the computing system, a plurality of value ranges for the metric value, wherein the plurality of value ranges are based on a plurality of percentages of the summary metric value;

identifying, by the computing system and based on the metric value for the instance, a representative value range for the instance, wherein the representative value range is one of the plurality of value ranges that includes the metric value for the instance, and

generating, by the computing system and for inclusion in the user interface, a display element for each of the plurality of instances, including a first display element representing the instance, wherein the first display element is configured to have an appearance in the user interface that indicates the representative value range for the instance.

2. The method of claim 1 , wherein the instance is one of the following:

a virtual machine, a container, or a virtual network device.

3. The method of claim 1 , the method further comprising:

receiving, by the computing system and from the message bus, an updated metric value for the instance; and

identifying, by the computing system and based on the metric value for the instance, an updated representative value range for the instance, wherein the updated representative value range is one of the plurality of value ranges that includes the updated metric value for the instance, and wherein the updated representative value range is different than the representative value range; and

updating, by the computing system, the first display element to have an appearance in the user interface that indicates the updated representative value range for the instance.

4. The method of claim 1 , wherein the metric is a first metric,

the method further comprising:

receiving, by the computing system, an indication of input;

identifying, by the computing system and based on the indication of input, a second metric for the instance;

requesting, by the computing system, that the message bus report metric values for the second metric associated with the instance; and

requesting, by the computing system, that the message bus not report metric values for the first metric.

5. The method of claim 1 , wherein the instance is a first instance, the method further comprising:

receiving, by the computing system, an indication of input;

identifying, by the computing system and based on the indication of input, a second instance to represent within the user interface, wherein the second instance is one of the plurality of instances;

requesting, by the computing system, that the message bus report metric values for the second instance; and

requesting, by the computing system, that the message bus not report metric values for the first instance.

6. A method comprising:

receiving, by a computing system, a request to report on a message bus metric values for a metric associated with an instance, wherein the instance is one of a plurality of instances executing on a plurality of host devices within a network;

receiving, by the computing system, a request to report on the message bus summary metric values for the plurality of instances, wherein the summary metric values are based on metric values for the metric for all of the plurality of instances during a time window;

sending, by the computing system and over the message bus, a metric value for the instance;

determining, by the computing system and based on observed values for the metric for all of the plurality of instances during a time window, a summary metric value,

wherein the summary metric value is determined by identifying a maximum value for the metric values

for all of the plurality of instances during the time window;

sending, by the computing system and over the message bus, the summary metric value;

determining, by the computing system, a plurality of value ranges for the metric value, wherein the plurality of value ranges are based on a plurality of percentages of the summary metric value;

identifying, by the computing system and based on the metric value for the instance element, a representative value range for the instance element, wherein the representative value range is one of the plurality of value ranges that includes the metric value for the instance element; and

generating, by the computing system and for inclusion in the user interface, a display element for each of the plurality of instances, including a first display element representing the instance, wherein the first display element is configured to have an appearance in the user interface that indicates the representative value range for the instance.

7. The method of claim 6 , wherein determining the summary metric value includes:

identifying an Nth percentile largest value for the metric values for all of the plurality of instances during the time window, where N is a number between 0 and 100 inclusive.

8. A computing system comprising:

a storage device; and

processing circuitry having access to the storage device and configured to:

determine information about a plurality of instances executing on a plurality of host devices within a network, wherein the network includes a message bus on which metric information associated with the network is published,

identify an instance to represent within a user interface, wherein the instance is one of the plurality of instances,

request that the message bus report metric values for a metric associated with the instance,

request that the message bus report summary metric values for the plurality of instances, wherein the summary metric values are based on metric values for all of the plurality of instances during a time window, and are determined by identifying a maximum value for the metric values for all of the plurality of instances during the time window,

receive, from the message bus, a metric value for the instance,

receive, from the message bus, a summary metric value,

determine a plurality of value ranges for the metric value, wherein the plurality of value ranges are based on a plurality of percentages of the summary metric value,

identify, based on the metric value for the instance, a representative value range for the instance, wherein the representative value range is one of the plurality of value ranges that includes the metric value for the instance, and

generate, for inclusion in the user interface, a display element for each of the plurality of instances, including a first display element representing the instance, wherein the first display element is configured to have an appearance in the user interface that indicates the representative value range for the instance.

9. The computing system of claim 8 , wherein the instance is one of the following:

a virtual machine, a container, or a virtual network device.

10. The computing system of claim 8 , wherein the instructions, when executed, further configure the processing circuitry to:

receive, from the message bus, an updated metric value for the instance; and

identify, based on the metric value for the instance, an updated representative value range for the instance, wherein the updated representative value range is one of the plurality of value ranges that includes the updated metric value for the instance, and wherein the updated representative value range is different than the representative value range; and

update the first display element to have an appearance in the user interface that indicates the updated representative value range for the instance.

11. The computing system of claim 8 , wherein the metric is a first metric, and wherein the instructions, when executed, further configure the processing circuitry to:

receiving, by the computing system, an indication of input;

identifying, by the computing system and based on the indication of input, a second metric for the instance;

requesting, by the computing system, that the message bus report metric values for the second metric associated with the instance; and

requesting, by the computing system, that the message bus not report metric values for the first metric.

12. The computing system of claim 8 , wherein the instance is a first instance, and wherein the instructions, when executed, further configure the processing circuitry to:

receiving, by the computing system, an indication of input;

identifying, by the computing system and based on the indication of input, a second instance to represent within the user interface, wherein the second instance is one of the plurality of instances;

requesting, by the computing system, that the message bus report metric values for the second instance; and

requesting, by the computing system, that the message bus not report metric values for the first instance.

13. A computing system comprising:

a storage device; and

processing circuitry having access to the storage device and configured to:

receive a request to report on a message bus metric values for a metric associated with an instance, wherein the instance is one of a plurality of instances executing on a plurality of host devices within a network,

receive a request to report on the message bus summary metric values for the plurality of instances, wherein the summary metric values are based on metric values for the metric for all of the plurality of instances during a time window,

send, over the message bus, a metric value for the instance, determine, based on observed values for the metric for all of the plurality of instances during a time window,

a summary metric value, wherein the summary metric value is determined by identifying a maximum value for the metric values for all of the plurality of instances during the time window,

send, over the message bus, the summary metric value;

determining, by the computing system, a plurality of value ranges for the metric value,

wherein the plurality of value ranges are based on a plurality of percentages of the summary metric value;

identifying, by the computing system and based on the metric value for the instance element, a representative value range for the instance element, wherein the representative value range is one of the plurality of value ranges that includes the metric value for the instance element; and

generating, by the computing system and for inclusion in the user interface, a display element for each of the plurality of instances, including a first display element representing the instance, wherein the first display element is configured to have an appearance in the user interface that indicates the representative value range for the instance.

14. The computing system of claim 13 , wherein the instructions that configure the processing circuitry to determine the summary metric value include instructions that, when executed, configure the processing circuitry to:

identify an Nth percentile largest value for the metric values for all of the plurality of instances during the time window, where N is a number between 0 and 100 inclusive.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: ZHUANG, WEIXU; SINGH, SUMEET
To: JUNIPER NETWORKS, INC.
Reel/Frame 043876/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: ROY, PARANTAP; CHITALIA, HARSHIT NARESH; PATEL, AVI K.; GUPTA, MOITRAYEE
To: JUNIPER NETWORKS, INC.
Reel/Frame 042867/0875 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2017
From: NEWHOUSE, TRAVIS GREGORY
To: JUNIPER NETWORKS, INC.
Reel/Frame 042868/0701 →
Cited By (64)
US 12,197,936 US 12,197,971 US 12,199,833 US 12,200,008 US 12,206,562 US 12,210,329 US 12,228,897 US 12,231,398 US 12,242,245 US 12,254,019 US 12,255,950 US 12,261,746 US 12,261,866 US 12,267,212 US 12,267,345 US 12,267,912 US 12,273,424 US 12,284,197 US 12,301,382 US 12,309,236 US 12,314,037 US 12,316,514 US 12,316,601 US 12,321,154 US 12,323,449 US 12,333,347 US 12,335,348 US 12,355,793 US 12,363,148 US 12,417,120 US 12,417,210 US 12,418,508 US 12,449,789 US 12,457,157 US 12,470,454 US 12,470,577 US 12,470,578 US 12,476,973 US 12,477,294 US 12,489,770 US 12,524,389 US 12,526,297 US 12,535,800 US 12,542,717 US 12,542,740 US 12,554,236 US 12,556,548 US 12,563,071 US 12,566,650 US 12,572,134 US 12,585,237 US 12,592,950 US 12,596,660 US 12,609,876 US 12,613,930 US 12,619,204 US 12,619,209 US 12,621,324 US 12,639,120 US 12,683,864 US 12,695,768 US 12,701,156 US 12,706,980 US 12,712,897