IP Library Granted Patent US 11,005,721
Granted Patent B1
US 11,005,721 · App. 16/916,798 · Granted May 11, 2021

Scalable control plane for telemetry data collection within a distributed computing system

Inventors: Neeren Shripad Patki (Saratoga, CA); Harshit Naresh Chitalia (Mountain View, CA); Moitrayee Gupta (San Jose, CA)
Assignee: Juniper Networks, Inc.
H04L41/14G06F16/2379H04L41/042H04L41/046H04L41/22H04L43/045H04L67/10
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 11,005,721
App. No.
16/916,798
Granted
May 11, 2021
Kind
B1
Abstract

An example control plane that is executed on one or more processors in a distributed computing system is configured to receive an indication of a node to be onboarded into the distributed computing system, wherein the node comprises one of a compute node or a network device node, to discover one or more compute resources or network device resources that are associated with the node, and to assign, based on the discovery, the node to a collector that is executed in the distributed computing system, wherein the collector is configured to collect real-time telemetry data for the node during operation of the node. The control plane is further configured to receive, from the collector, the real-time telemetry data for the node that is collected by the collector, and to output, for display, a visual representation of the real-time telemetry data for the node.

Claims (74)

1. A method comprising:

receiving, by a control plane executed on one or more processors in a distributed computing system, an indication of a node to be onboarded into the distributed computing system, wherein the control plane is configured to onboard both compute nodes and network device nodes into the distributed computing system, and wherein the node comprises one of a compute node or a network device node;

discovering, by the control plane, one or more compute resources or network device resources that are associated with the node;

assigning, by the control plane and based on the discovering, the node to a collector that is executed in the distributed computing system, wherein the collector is configured to collect real-time telemetry data for the node during operation of the node, and wherein the control plane is configured to assign the compute nodes and the network device nodes of the distributed computing system to respective compute node collectors or network device node collectors;

receiving, by the control plane and from the collector, the real-time telemetry data for the node that is collected by the collector; and

outputting, by the control plane and for display, a visual representation of the real-time telemetry data for the node.

2. The method of claim 1 , wherein receiving the indication of the node to be onboarded into the distributed computing system comprises receiving, by the control plane and from a client device, a request to onboard the node into the distributed computing system.

3. The method of claim 2 , further comprising:

outputting, by the control plane and for display at the client device, a graphical dashboard that includes a visual representation of one or more nodes that are included in the distributed computing system,

wherein outputting the visual representation of the real-time telemetry data for the node comprises outputting, by the control plane and for display at the client device, the visual representation of the real-time telemetry data for the node within the graphical dashboard.

4. The method of claim 3 , further comprising:

receiving, by the control plane and from the client device via the graphical dashboard, a request to configure one or more alarms associated with the real-time telemetry data for the node.

5. The method of claim 1 , wherein the control plane comprises one or more services, wherein the one or more services each include one or more pods that are configured to execute at least one respective application or function, and wherein the one or more services comprise at least one of:

one or more dashboard services that at least output the visual representation of the real-time telemetry data for the node;

one or more controller services that at least assign the node to the collector;

a data manager service that at least receives the real-time telemetry data for the node that is collected by the collector;

a database service that at least stores the real-time telemetry data for the node;

one or more adapter services that at least discover the one or more compute resources or network device resources that are associated with the node; or

a message service that at least enables communication between the one or more services of the control plane.

6. The method of claim 5 ,

wherein (i) when the node comprises the compute node, the collector comprises a compute node collector that is executed on the compute node, and the one or more controller services assign the compute node collector to the compute node, or

wherein (ii) when the node comprises the network device node, the collector comprises a network device node collector that is executed on another node within the distributed computing system, and the one or more controller services assign the network device node collector to the network device node.

7. The method of claim 5 ,

wherein the control plane is deployed in a single-node mode or a high-availability mode, and

wherein (i) when the control plane is deployed in the single-node mode, the one or more services of the control plane are executed on a single controller node of the distributed computing system, or (ii) when the control plane is deployed in the high-availability mode, each of the one or more services of the control plane executes in one of an active-active mode or an active-passive mode.

8. The method of claim 7 ,

wherein the control plane is deployed in the high-availability mode,

wherein the data manager service executes in the active-active mode, and

wherein one pod of the one or more pods of the data manager service is instantiated on the node for execution in order to receive the real-time telemetry data for the node that is collected by the collector, such that the control plane dynamically scales with the distributed computing system as the node is onboarded into the distributed computing system.

9. The method of claim 8 , wherein one of the one or more pods of the data manager service is executed on each node of the distributed computing system to receive respective real-time telemetry data for the corresponding node.

10. The method of claim 1 ,

wherein the collector is executed on either the node or another node within the distributed computing system, and

wherein assigning the node to the collector comprises providing, by the control plane and to the collector, information associated with the one or more compute resources or network device resources that are associated with the node.

11. The method of claim 1 ,

wherein the one or more compute resources or network device resources associated with the node include one or more of a connection or a communication interface associated with the node, and

wherein the node comprises one of a bare-metal server or a virtual machine.

12. A computing system comprising:

one or more processors; and

at least one computer-readable storage device storing instructions that, when executed, cause the one or more processors to:

receive, by a control plane, an indication of a node to be onboarded into a distributed computing system, wherein the control plane is configured to onboard both compute nodes and network device nodes into the distributed computing system, and wherein the node comprises one of a compute node or a network device node;

discover, by the control plane, one or more compute resources or network device resources that are associated with the node;

assign, by the control plane, the node to a collector that is executed in the distributed computing system, wherein the collector is configured to collect real-time telemetry data for the node during operation of the node, and wherein the control plane is configured to assign the compute nodes and the network device nodes of the distributed computing system to respective compute node collectors or network device node collectors;

receive, by the control plane and from the collector, the real-time telemetry data for the node that is collected by the collector; and

output, by the control plane and for display, a visual representation of the real-time telemetry data for the node.

13. The computing system of claim 12 , wherein the instructions stored on the at least one computer-readable storage device further cause the one or more processors to:

output, by the control plane and for display at a client device, a graphical dashboard that includes a visual representation of one or more nodes that are included in the distributed computing system,

wherein the instructions stored on the at least one computer-readable storage device that cause the one or more processors to output the visual representation of the real-time telemetry data for the node cause the one or more processors to output, by the control plane and for display at the client device, the visual representation of the real-time telemetry data for the node within the graphical dashboard.

14. The computing system of claim 12 , wherein the control plane comprises one or more services, wherein the one or more services each include one or more pods that are configured to execute at least one respective application or function, and wherein the one or more services comprise at least one of:

one or more dashboard services that are configured at least to output the visual representation of the real-time telemetry data for the node;

one or more controller services that are configured at least to assign the node to the collector;

a data manager service that is configured at least to receive the real-time telemetry data for the node that is collected by the collector;

a database service that is configured at least to store the real-time telemetry data for the node;

one or more adapter services that are configured at least to discover the one or more compute resources or network device resources that are associated with the node; or

a message service that is configured at least to enable communication between the one or more services of the control plane.

15. The computing system of claim 14 ,

wherein (i) when the node comprises the compute node, the collector comprises a compute node collector that is executed on the compute node, and the one or more controller services assign the compute node collector to the compute node, or

wherein (ii) when the node comprises the network device node, the collector comprises a network device node collector that is executed on another node within the distributed computing system, and the one or more controller services assign the network device node collector to the network device node.

16. The computing system of claim 14 ,

wherein the control plane is configured to be deployed in a single-node mode or a high-availability mode, and

wherein (i) when the control plane is deployed in the single-node mode, the one or more services of the control plane are executed on a single controller node of the distributed computing system, or (ii) when the control plane is deployed in the high-availability mode, each of the one or more services of the control plane is configured to execute in one of an active-active mode or an active-passive mode.

17. The computing system of claim 16 ,

wherein the control plane is deployed in the high-availability mode,

wherein the data manager service is configured to execute in the active-active mode, and

wherein one pod of the one or more pods of the data manager service is instantiated on the node for execution in order to receive the real-time telemetry data for the node that is collected by the collector, such that the control plane dynamically scales with the distributed computing system as the node is onboarded into the distributed computing system.

18. The computing system of claim 17 , wherein one of the one or more pods of the data manager service is configured to execute on each node of the distributed computing system to receive respective real-time telemetry data for the corresponding node.

19. The computing system of claim 12 ,

wherein the collector is executed on either the node or another node within the distributed computing system, and

wherein the instructions stored on the at least one computer-readable storage device that cause the one or more processors to assign the node to the collector further cause the one or more processors to provide, by the control plane and to the collector, information associated with the one or more compute resources or network device resources that are associated with the node.

20. A computer-readable storage medium storing instructions that are executable by at least one processor to:

receive, by a control plane, an indication of a node to be onboarded into a distributed computing system, wherein the control plane is configured to onboard both compute nodes and network device nodes into the distributed computing system, and wherein the node comprises one of a compute node or a network device node;

discover, by the control plane, one or more compute resources or network device resources that are associated with the node;

assign, by the control plane, the node to a collector that is executed in the distributed computing system, wherein the collector is configured to collect real-time telemetry data for the node during operation of the node, and wherein the control plane is configured to assign the compute nodes and the network device nodes of the distributed computing system to respective compute node collectors or network device node collectors;

receive, by the control plane and from the collector, the real-time telemetry data for the node that is collected by the collector; and

output, by the control plane and for display, a visual representation of the real-time telemetry data for the node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2020
From: PATKI, NEEREN SHRIPAD; CHITALIA, HARSHIT NARESH; GUPTA, MOITRAYEE
To: JUNIPER NETWORKS, INC.
Reel/Frame 053088/0519 →
Cited By (3)
US 12,231,509 US 12,314,741 US 12,405,817