IP Library › Granted Patent US 12,278,737
Granted Patent B2
US 12,278,737 · App. 17/978,259 · Granted Apr 15, 2025

Distributed virtualization of telemetry processing with IP anycast

Inventors: Dmitri Goloubev (Waterloo, BE); Peter De Vriendt (Denderleeuw, BE); Donald M. Allen (Colorado Springs, CO); Luc De Ghein (Deinze, BE)
Assignee: CISCO TECHNOLOGY, INC.
H04L41/14H04L43/062H04L61/5069
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 12,278,737
App. No.
17/978,259
Granted
Apr 15, 2025
Kind
B2
Abstract

Presented herein are techniques to analyze network traffic and equipment based on telemetry generated by a plurality of network devices. A method includes generating first telemetry at a first network device, receiving, at the first network device, via an Internet Protocol anycast addressing scheme, at least one of second telemetry generated at a second network device, and third telemetry generated at a third network device, performing, on the first network device using a local processing unit, first analytics on the first telemetry, performing, on the first network device using the local processing unit, second analytics on the at least one of the second telemetry and the third telemetry, and transmitting data resulting from the first analytics and the second analytics to a fourth network device.

Claims (44)

1. A method comprising:

generating first telemetry at a first network device;

receiving, at the first network device, via an Internet Protocol anycast addressing scheme that is configured, by control logic, based on transiently-available resources of the first network device, at least one of second telemetry generated at a second network device, and third telemetry generated at a third network device;

in response to receiving the at least one of the second telemetry and the third telemetry, retrieving by the first network device at least a portion of a computational graph that defines analytics to be performed on the at least one of the second telemetry and the third telemetry;

performing, on the first network device using a local processing unit, first analytics on the first telemetry;

performing, on the first network device using the local processing unit, second analytics based on the at least a portion of the computational graph on the at least one of the second telemetry and the third telemetry;

transmitting data resulting from the first analytics and the second analytics to a fourth network device, wherein the control logic is hosted on the fourth network device; and

in response to the first network device no longer being able to perform the second analytics on the at least one of the second telemetry and the third telemetry, controlling the Internet Protocol anycast addressing scheme such that the at least one of the second telemetry and the third telemetry is routed, respectively from the second network device and the third network device, to the fourth network device.

2. The method of claim 1 , further comprising receiving, at the first network device, a first segment of a computational graph to perform the first analytics.

3. The method of claim 2 , further comprising receiving, at the first network device, a second segment of the computational graph, different from the first segment of the computational graph, to perform the second analytics.

4. The method of claim 3 , further comprising receiving, at the first network device, a third segment of the computational graph, different from the first segment of the computational graph and the second segment of the computational graph, to perform third analytics on the third telemetry.

5. The method of claim 2 , further comprising caching the first segment of the computational graph on the first network device after the first analytics have been completed.

6. The method of claim 5 , further comprising applying cache invalidation criteria to the first segment of the computational graph to confirm a validity of the first segment of the computational graph.

7. The method of claim 1 , further comprising sending, by the first network device, data representative of compute resources availability on the first network device to the fourth network device.

8. The method of claim 1 , further comprising, at the first network device, temporarily storing the first telemetry while processing non-telemetry data, and then, thereafter, performing the first analytics on the first telemetry.

9. The method of claim 1 , further comprising, at the first network device, merging results of the first analytics and the second analytics.

10. The method of claim 9 , wherein transmitting data resulting from the first analytics and the second analytics to a fourth network device comprises transmitting a set of merged results based on the first analytics and the second analytics.

11. An apparatus comprising:

a network interface unit configured to enable network communications;

a memory configured to store logic instructions; and

a processor, when executing the logic instructions, configured to:

generate first telemetry;

receive via an Internet Protocol anycast addressing scheme that is configured, by control logic, based on transiently-available resources of the memory and the processor, at least one of second telemetry generated at a first network device, and third telemetry generated at a second network device;

in response to receiving the at least one of the second telemetry and the third telemetry, retrieve at least a portion of a computational graph that defines analytics to be performed on the at least one of the second telemetry and the third telemetry;

perform, using a local processing unit on the apparatus, first analytics on the first telemetry;

perform, using the local processing unit on the apparatus, second analytics based on the at least a portion of the computational graph on the at least one of the second telemetry and the third telemetry;

transmit data resulting from the first analytics and the second analytics to a third network device, wherein the control logic is hosted by the third network device; and

in response to the apparatus no longer being able to perform the second analytics on the at least one of the second telemetry and the third telemetry, the control logic controlling the Internet Protocol anycast addressing scheme such that the at least one of the second telemetry and the third telemetry is routed, respectively from the first network device and the second network device, to the third network device.

12. The apparatus of claim 11 , wherein the processor is further configured to receive a first segment of a computational graph to perform the first analytics.

13. The apparatus of claim 12 , wherein the processor is further configured to receive a second segment of the computational graph, different from the first segment of the computational graph, to perform the second analytics.

14. The apparatus of claim 13 , wherein the processor is further configured to receive a third segment of the computational graph, different from the first segment of the computational graph and the second segment of the computational graph, to perform third analytics on the third telemetry.

15. The apparatus of claim 12 , wherein the processor is further configured to cache the first segment of the computational graph after the first analytics have been completed.

16. The apparatus of claim 15 , wherein the processor is further configured to apply cache invalidation criteria to the first segment of the computational graph to confirm a validity of the first segment of the computational graph.

17. The apparatus of claim 11 , wherein the processor is further configured to send data representative of compute resources availability to a computational optimizer, hosted by the third network device, that is configured to determine which of the second telemetry and the third telemetry is to be routed to the apparatus.

18. A non-transitory computer readable storage media encoded with instructions that, when executed by a processor, cause the processor to:

generate first telemetry at a first network device;

receive, at the first network device, via an Internet Protocol anycast addressing scheme that is configured, by control logic, based on transiently-available resources of the processor, at least one of second telemetry generated at a second network device, and third telemetry generated at a third network device;

in response to receiving the at least one of the second telemetry and the third telemetry, retrieve by the first network device at least a portion of a computational graph that defines analytics to be performed on the at least one of the second telemetry and the third telemetry;

perform, using a local processing unit at the first network device, first analytics on the first telemetry;

perform, using the local processing unit at the first network device, second analytics on the at least one of the second telemetry and the third telemetry;

transmit data resulting from the first analytics and the second analytics to a fourth network device, wherein the control logic is hosted on the fourth network device; and

in response to the first network device no longer being able to perform the second analytics on the at least one of the second telemetry and the third telemetry, control the Internet Protocol anycast addressing scheme such that the at least one of the second telemetry and the third telemetry is routed, respectively from the second network device and the third network device, to the fourth network device.

19. The non-transitory computer readable storage media of claim 18 , encoded with instructions that, when executed by the processor, cause the processor to receive, at the first network device, a first segment of a computational graph to perform the first analytics.

20. The non-transitory computer readable storage media of claim 19 , encoded with instructions that, when executed by the processor, cause the processor to receive, at the first network device, a second segment of the computational graph, different from the first segment of the computational graph, to perform the second analytics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2022
From: GOLOUBEV, DMITRI; DE VRIENDT, PETER; ALLEN, DONALD M.; DE GHEIN, LUC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 061608/0576 →
Continuity (1)
Related Publication 20240146614A1 · May 2, 2024
References Cited (25)
US 9160667B2 · Satterlee · 2015 [cited by examiner]
US 9456049B2 · Soundararajan · 2016 [cited by examiner]
US 9590880B2 · Ashby · 2017 [cited by examiner]
US 10540358B2 · Wu · 2020 [cited by examiner]
US 10546022B2 · Raghavendra · 2020 [cited by examiner]
US 10992536B2 · Karasaridis · 2021 [cited by examiner]
US 10992556B2 · Guim Bernat · 2021 [cited by examiner]
US 11451450B2 · Patki · 2022 [cited by examiner]
US 11475007B2 · Mittal · 2022 [cited by examiner]
US 11567998B2 · Armbrust · 2023 [cited by examiner]
US 11595274B1 · Nagaraju · 2023 [cited by examiner]
US 11609554B2 · Burnham · 2023 [cited by examiner]
US 11665094B2 · Deshmukh · 2023 [cited by examiner]
US 11689436B2 · Nachimuthu · 2023 [cited by examiner]
US 11870683B2 · Eadala · 2024 [cited by examiner]
US 20170099346A1 · Eisenbud et al. · 2017 [cited by applicant]
US 20170302552A1 · Ward et al. · 2017 [cited by applicant]
US 20180048525A1 · Karasaridis et al. · 2018 [cited by applicant]
US 20200177509A1 · Itach · 2020 [cited by examiner]
US 20210320854A1 · King, V · 2021 [cited by examiner]
WO 2021014419A1 · 2021 [cited by applicant]
Kuhn, F. et al., “Distributed Computation in Dynamic Networks.” Proceedings of the 42nd ACM Symposium on Theory of Computing—STOC '10, http://dx.doi.org/10.1145/1806689.1806760, Jun. 5, 2010, 11 pages. [cited by applicant]
“Apache Storm,” Apache Storm, retrieved from https://storm.apache.org/ on Aug. 1, 2023, 4 pages. [cited by applicant]
“Unified engine for large-scale data analytics,” Apache Spark, retrieved from https://spark.apache.org/ on Aug. 1, 2023, 9 pages. [cited by applicant]
“Apache Nifi,” The Apache Software Foundation, retrieved from https://nifi.apache.org/ on Aug. 1, 2023, 2 pages. [cited by applicant]