IP Library › Granted Patent US 10,911,329
Granted Patent B2
US 10,911,329 · App. 16/679,645 · Granted Feb 2, 2021

Path and cadence optimization for efficient data collection from devices

Inventors: Ganesh Karthick Rajendran (San Jose, CA); Roy Nidesh Kantharajah (La Crosse, WI)
Assignee: Cisco Technology, Inc.
H04L41/5051G06F16/9027H04L41/0213H04L41/046H04L67/12
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,911,329
App. No.
16/679,645
Granted
Feb 2, 2021
Kind
B2
Abstract

Presented herein are embodiments for collecting and sharing telemetry data. A plurality of requests are received, from one or more applications, for telemetry data that is stored in a hierarchical tree representation comprising a plurality of nodes, wherein the telemetry data indicates an operational status and performance of a device, and wherein each request includes a cadence indicating a timespan at which the request repeats, and a path in the hierarchical tree where a requested portion of the telemetry data is stored. Processing the requests produces an optimized set of requests by merging any two or more requests whose paths indicate portions of data that share a common parent node in the hierarchical tree, wherein a merged request is assigned a cadence corresponding to a shortest cadence among the two or more requests. The hierarchical tree is polled using the optimized set of requests to satisfy the received requests.

Claims (39)

1. A method for collecting and sharing telemetry data, the method comprising:

receiving a plurality of requests, from one or more applications, for telemetry data that is stored in a hierarchical tree representation comprising a plurality of nodes, wherein the telemetry data indicates an operational status and performance of a device, wherein each request includes a cadence indicating a timespan at which the request repeats, and wherein each request specifies a path in the hierarchical tree representation where a requested portion of the telemetry data is stored;

processing the plurality of requests to produce an optimized set of requests by merging any two or more requests whose paths indicate portions of data that share a common parent node in the hierarchical tree representation, wherein a merged request is assigned a cadence corresponding to a shortest cadence among the two or more requests; and

polling the hierarchical tree representation according to the optimized set of requests to satisfy the plurality of requests.

2. The method of claim 1 , wherein the telemetry data is formatted according to a Yet Another Next Generation (YANG) data model, and wherein the telemetry data is stored in the hierarchical tree representation according to prefixes of the telemetry data.

3. The method of claim 1 , further comprising:

receiving an updated plurality of requests differing in one or more of: the portions of the telemetry data being requested, and the cadence of one or more requests; and

updating the optimized set of requests based on the updated plurality of requests.

4. The method of claim 1 , wherein polling the hierarchical tree representation according to a merged request comprises collecting data from all child nodes of the common parent node.

5. The method of claim 1 , wherein the plurality of requests are received from one or more applications.

6. The method of claim 1 , wherein the telemetry data is converted to a Yet Another Next Generation (YANG) data model prior to storing the telemetry data in the hierarchical tree representation.

7. The method of claim 1 , wherein the hierarchical tree representation comprises management information base (MIB) descriptions of network objects.

8. An apparatus comprising:

a communication interface configured to enable network communications;

one or more computer processors;

one or more computer readable storage media;

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, that when executed by the one or more computer processors, cause the one or more computer processors to:

receive a plurality of requests, from one or more applications, for telemetry data that is stored in a hierarchical tree representation comprising a plurality of nodes, wherein the telemetry data indicates an operational status and performance of a device, wherein each request includes a cadence indicating a timespan at which the request repeats, and wherein each request specifies a path in the hierarchical tree representation where a requested portion of the telemetry data is stored;

process the plurality of requests to produce an optimized set of requests by merging any two or more requests whose paths indicate portions of data that share a common parent node in the hierarchical tree representation, wherein a merged request is assigned a cadence corresponding to a shortest cadence among the two or more requests; and

poll the hierarchical tree representation according to the optimized set of requests to satisfy the plurality of requests.

9. The apparatus of claim 8 , wherein the telemetry data is formatted according to a Yet Another Next Generation (YANG) data model, and wherein the telemetry data is stored in the hierarchical tree representation according to prefixes of the telemetry data.

10. The apparatus of claim 8 , wherein the program instructions further cause the one or more computer processors to:

receive an updated plurality of requests differing in one or more of: the portions of the telemetry data being requested, and the cadence of one or more requests; and

update the optimized set of requests based on the updated plurality of requests.

11. The apparatus of claim 8 , wherein the program instructions to poll the hierarchical tree representation according to a merged request cause the one or more computer processors to collect data from all child nodes of the common parent node.

12. The apparatus of claim 8 , wherein the plurality of requests are received from one or more applications.

13. The apparatus of claim 8 , wherein the telemetry data is converted to a Yet Another Next Generation (YANG) data model prior to storing the telemetry data in the hierarchical tree representation.

14. The apparatus of claim 8 , wherein the hierarchical tree representation comprises management information base (MIB) descriptions of network objects.

15. One or more non-transitory computer readable storage media encoded with instructions that, when executed by one or more computer processors, cause the one or more computer processors to:

receive a plurality of requests, from one or more applications, for telemetry data that is stored in a hierarchical tree representation comprising a plurality of nodes, wherein the telemetry data indicates an operational status and performance of a device, wherein each request includes a cadence indicating a timespan at which the request repeats, and wherein each request specifies a path in the hierarchical tree representation where a requested portion of the telemetry data is stored;

process the plurality of requests to produce an optimized set of requests by merging any two or more requests whose paths indicate portions of data that share a common parent node in the hierarchical tree representation, wherein a merged request is assigned a cadence corresponding to a shortest cadence among the two or more requests; and

poll the hierarchical tree representation according to the optimized set of requests to satisfy the plurality of requests.

16. The one or more non-transitory computer readable storage media of claim 15 , wherein the telemetry data is formatted according to a Yet Another Next Generation (YANG) data model, and wherein the telemetry data is stored in the hierarchical tree representation according to prefixes of the telemetry data.

17. The one or more non-transitory computer readable storage media of claim 15 , wherein the instructions further cause the one or more computer processors to:

receive an updated plurality of requests differing in one or more of: the portions of the telemetry data being requested, and the cadence of one or more requests; and

update the optimized set of requests based on the updated plurality of requests.

18. The one or more non-transitory computer readable storage media of claim 15 , wherein the instructions to poll the hierarchical tree representation according to a merged request cause the one or more computer processors to collect data from all child nodes of the common parent node.

19. The one or more non-transitory computer readable storage media of claim 15 , wherein the plurality of requests are received from one or more applications.

20. The one or more non-transitory computer readable storage media of claim 15 , wherein the telemetry data is converted to a Yet Another Next Generation (YANG) data model prior to storing the telemetry data in the hierarchical tree representation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2019
From: RAJENDRAN, GANESH KARTHICK; KANTHARAJAH, ROY NIDESH
To: CISCO TECHNOLOGY, INC.
Reel/Frame 050979/0304 →
Continuity (2)
Provisional Application 62846901 · May 13, 2019
Related Publication 20200366575A1 · Nov 19, 2020