Network Queue Monitoring via ASIC Microcode Telemetry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices face challenges in detecting and handling bursts of network traffic, leading to queue saturation and potential packet drops or delays, as existing technologies lack efficient real-time monitoring capabilities.

Innovation Solution

Implementing a microcode engine in a forwarding ASIC within network devices to monitor queue depth and generate telemetry packets, which are transmitted to a queue management device, enabling near real-time detection of traffic bursts and resource conservation by eliminating the need for additional processors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If additional processors are added to monitor network queues, then monitoring capability is improved, but device complexity increases

Engineering Contradiction:
Improvequeue depth monitoring capabilityVSAvoidprocessor configuration
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The forwarding ASIC monitors its own queue depth using an integrated microcode engine, eliminating the need for separate monitoring processors. The ASIC serves itself by incorporating the monitoring function directly into its architecture, thereby improving measurement precision without increasing device complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent merges the queue monitoring function with the forwarding ASIC by implementing a microcode engine within the ASIC. This integration combines packet forwarding and queue depth monitoring into a single unified component, resolving the contradiction between improved monitoring capability and increased device complexity.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of time

If real-time queue monitoring is implemented, then fault detection speed is improved, but processing overhead increases

Engineering Contradiction:
Improvefault detection timeVSAvoidpacket processing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The microcode engine continuously monitors queue depth in advance of potential packet processing bottlenecks. By performing preliminary monitoring actions within the forwarding plane, the system detects queue saturation conditions before they affect packet processing, enabling proactive fault detection without adding processing overhead to the packet forwarding path.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The microcode engine acts as an intermediary between the packet processing function and the queue monitoring function. It efficiently collects queue depth information and generates telemetry packets without interfering with the main packet forwarding process, thus achieving real-time fault detection while maintaining high packet processing efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If queue depth measurements are collected from memory, then measurement accuracy is improved, but access time increases

Engineering Contradiction:
Improvequeue depth measurement accuracyVSAvoidmeasurement retrieval speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent extracts queue depth measurement data directly from the forwarding ASIC's memory into telemetry packets. By taking out the measurement function from the packet processing path and implementing it within the ASIC's microcode engine, the system achieves accurate measurements without the latency overhead of external monitoring access.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10547560B1Monitoring network communications queues
Publication Date: 2020.01.28 JUNIPER NETWORKS INC
  • US10547560B1 patent drawing
  • US10547560B1 patent drawing
  • US10547560B1 patent drawing

AI summary

A network device may include a controller and a hardware forwarding component. The hardware forwarding component may receive a network packets and assign the network packets to multiple network queues. The network device may also obtain, using a microcode engine of the hardware forwarding component, and for each of the network queues, a measurement of queue depth, each measurement of queue depth being obtained from memory of the hardware forwarding component. Based on the measurements of queue depth, the network device may generate and transmit a telemetry packet.