IP Library Granted Patent US 11,018,960
Granted Patent B2
US 11,018,960 · App. 16/294,777 · Granted May 25, 2021

Accelerated time series analysis in a network

Inventors: Ashish K. Dalela (Bangalore, IN); Charles Calvin Byers (Wheaton, IL); Xiaoguang Jason Chen (San Jose, CA); Pradeep K. Munakala (Nandyal, IN)
Assignee: Cisco Technology, Inc.
H04L43/026H04L43/04H04L43/062H04L43/067H04L43/087
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,018,960
App. No.
16/294,777
Granted
May 25, 2021
Kind
B2
Abstract

Techniques for accelerated Time series analysis (TSA) in a network are described. Packets from a first network flow at a network element, such as a switch or a router, are trapped using a hardware based TSA engine at the network element. The packets are then reduced into TSA tuples including TSA data points and stored into memory. A software based TSA module performs one or more TSA actions on the stored tuples, where the TSA actions produce analysis results used to determine network performance for the network and network based applications.

Claims (92)

1. A method for performing time series analysis (TSA) in a network comprising:

trapping one or more packets in a first network flow in a hardware based TSA engine on a network device;

generating, at the hardware based TSA engine, a TSA tuple comprising a first set of TSA data points for a packet of the one or more packets;

determining a hardware resource level and a hardware performance level for the hardware based TSA engine during generation of the TSA tuple;

storing the TSA tuple in a memory on the network device;

performing, at a TSA software module on the network device, one or more TSA actions for the first network flow using the stored TSA tuple to generate one or more analysis results;

determining a software resource level and a software performance level for the TSA software module during performance of the one or more TSA actions;

determining a reallocation of processes between the hardware based TSA engine and the TSA software module based on at least one of the hardware resource level, the hardware performance level, the software resource level, and the software performance level; and

executing the reallocation between the hardware based TSA engine and the TSA software module.

2. The method of claim 1 , further comprising:

generating, at the TSA software module, an analysis export comprising the TSA tuple and the one or more analysis results for analysis at a central TSA analysis module.

3. The method of claim 1 , wherein the one or more TSA actions comprise one or more of:

determining a periodicity of requests and responses for a connected device in the first network flow;

determining a latency and jitter in the requests and responses;

correlating the determined periodicity and the determined latency and jitter in one network session with one or more other network sessions; and

generating one or more correlation models comprising changes in performance metrics between the first network flow and a second network flow.

4. The method of claim 3 , further comprising:

determining, at the TSA software module, a device type for the connected device;

generating a device profile for the connected device based on the device type and using the one or more correlation models; and

determining, from the first network flow and using the device profile, one or more device behaviors.

5. The method of claim 3 , wherein the connected device comprises a connected internet of things device.

6. The method of claim 1 , wherein the TSA data points comprise:

a session identification;

a time of arrival;

a packet protocol type;

a packet size; and

a packet direction.

7. The method of claim 1 , wherein storing the TSA tuple in the memory comprises:

enqueueing, based on a packet protocol type and the first network flow, the TSA tuple into the memory.

8. The method of claim 1 , wherein,

the reallocation of processes comprises a reallocation in the generation of the TSA tuple and the one or more TSA actions between the generation of the TSA tuple and the TSA actions, wherein the reallocation comprises a movement of TSA tasks to or from the hardware based TSA engine to or from the TSA software module.

9. The method of claim 8 , wherein the hardware resource level comprises one or more of:

field programmable gate array gate counts for the TSA engine,

a memory size for the TSA engine,

a power dissipation, and

a bandwidth associated a storage system; and

wherein, the hardware performance level includes a comparison of the hardware resource level to designated limits of the hardware resource level.

10. The method of claim 8 , wherein the software resource level comprises one or more of:

a CPU utilization,

a cache context size,

a number of processes running,

a main memory footprint,

a bandwidth on various networks and input/output interfaces; and

wherein, the software performance level includes a comparison of the software resource level to designated limits of the software resource level.

11. A network device for performing time series analysis (TSA) in a network, comprising a hardware based TSA engine and a TSA software module, wherein the hardware based TSA engine is configured to

trap one or more packets in a first network flow;

generate, at the hardware based TSA engine, a TSA tuple comprising a first set of TSA data points for a packet of the one or more packets;

determine a hardware resource level and a hardware performance level for the hardware based TSA engine during generation of the TSA tuple

store the TSA tuple in a memory; and

wherein the TSA software module is configured to:

perform one or more TSA actions for the first network flow using the stored TSA tuple to generate one or more analysis results;

determine a software resource level and a software performance level for the TSA software module during performance of the one or more TSA actions;

determine a reallocation of processes between the hardware based TSA engine and the TSA software module based on at least one of the hardware resource level, the hardware performance level, the software resource level, and the software performance level; and

execute the reallocation between the hardware based TSA engine and the TSA software module.

12. The network device of claim 11 , wherein the TSA software module is further configured to:

generate an analysis export comprising the TSA tuple and the one or more analysis results for analysis at a central TSA analysis module.

13. The network device of claim 11 , wherein the one or more TSA actions comprise one or more of:

determining a periodicity of requests and responses for a connected device in the first network flow;

determining a latency and jitter in the requests and responses;

correlating the determined periodicity and the determined latency and jitter in one network session with one or more other network sessions; and

generating one or more correlation models comprising changes in performance metrics between the first network flow and a second network flow.

14. The network device of claim 13 , wherein the TSA software module is further configured to:

determine a device type for the connected device;

generate a device profile for the connected device based on the device type and using the one or more correlation models; and

determine, from the first network flow and using the device profile, one or more device behaviors.

15. The network device of claim 13 , wherein the connected device comprises a connected internet of things device.

16. The network device of claim 11 , wherein the TSA data points comprise one or more of:

a session identification;

a time of arrival;

a packet protocol type;

a packet size; and

a packet direction.

17. The network device of claim 11 , wherein storing the TSA tuple in the memory comprises:

enqueueing, based on a packet protocol type and the first network flow, the TSA tuple into the memory.

18. The network device of claim 11 , wherein the network device further comprises an orchestration module configured to:

determine the hardware resource level and a hardware performance level for the hardware based TSA engine;

determine the software resource level and a software performance level for the TSA software module;

determine the reallocation of processes in the generation of the TSA tuple and the one or more TSA actions between the generation of the TSA tuple and the TSA actions, wherein the reallocation comprises a movement of TSA tasks to or from the hardware based TSA engine to or from the TSA software module; and

execute the reallocation between the hardware based TSA engine and the TSA software module.

19. The network device of claim 18 , wherein the hardware resource level comprises one or more of:

field programmable gate array gate counts for the TSA engine,

a memory size for the TSA engine,

a power dissipation, and

a bandwidth associated a storage system; and

wherein, the hardware performance level includes a comparison of the hardware resource level to designated limits of the hardware resource level.

20. The network device of claim 18 , wherein the software resource level comprises one or more of:

a CPU utilization,

a cache context size,

a number of processes running,

a main memory footprint,

a bandwidth on various networks and input/output interfaces; and

wherein, the software performance level includes a comparison of the software resource level to designated limits of the software resource level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2019
From: DALELA, ASHISH K.; BYERS, CHARLES CALVIN; CHEN, XIAOGUANG JASON; MUNAKALA, PRADEEP K.
To: CISCO TECHNOLOGY, INC.
Reel/Frame 048523/0780 →
Continuity (1)
Related Publication 20200287804A1 · Sep 10, 2020