Packet Path Tracing in Network Devices Using Directed Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Verifying the behavior of internal components and diagnosing issues in network packet processing devices is challenging due to complexity and numerous component interactions, making it difficult to determine packet paths and create individual test stimuli.

Innovation Solution

A method representing a directed graph of the network packet processing system, where nodes are components and arcs represent packet connections, with unique packet identifiers and log data storage to track packet processing, allowing traversal of the graph to determine which components processed a packet and output the path data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If individual test stimuli are created for each internal component, then testing completeness improves, but development time and effort increase significantly

Engineering Contradiction:
Improvetesting completenessVSAvoiddevelopment time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent uses packet capture data as a copy of actual network traffic to automatically generate test stimuli. Instead of manually creating test cases, the system captures real packet flows and uses them to drive component-level testing, significantly reducing development time while maintaining comprehensive test coverage

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system performs preliminary packet capture and analysis during normal device operation. By pre-capturing packet data and building a directed graph representation of component interactions in advance, the system prepares test stimuli before actual component testing is needed, eliminating time-consuming manual test case creation

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the system state and packet field values are monitored to determine packet paths, then diagnostic accuracy improves, but system complexity increases

Engineering Contradiction:
Improvediagnostic accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces a packet identifier as an intermediary element that links packets to their processing paths. By assigning unique identifiers to packets and using them to trace component interactions, the system achieves precise diagnostic tracking without requiring complex monitoring of all system states and packet fields

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts only the essential information needed for tracing - packet identifiers and component processing records - from the complex network traffic and system state. By taking out only the relevant data elements rather than monitoring everything, the system maintains diagnostic accuracy while reducing complexity

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If manual verification of component behavior is performed, then testing thoroughness improves, but productivity decreases

Engineering Contradiction:
Improvetesting thoroughnessVSAvoiddevelopment productivity
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The system performs self-service by automatically generating test stimuli from captured packet data and executing component tests without manual intervention. The directed graph traversal and test case generation are performed autonomously by the system, maintaining thorough testing while dramatically improving development productivity

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Real network packet flows are copied and used as test stimuli for component testing. This automatic copying of actual traffic patterns replaces manual test case creation and verification, ensuring thorough testing of component behavior with real-world data while eliminating manual labor

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8180616B1Component tracing in a network packet processing device
Publication Date: 2012.05.15 XILINX INC
  • US8180616B1 patent drawing
  • US8180616B1 patent drawing
  • US8180616B1 patent drawing

AI summary

Approaches for gathering packet processing information. A directed graph is used to represent the packet processing system. In response to each network packet input to the system, an associated, unique packet identifier is established for the network packet. Each input network packet is processed by one or more components of the system. For each input network packet, respective log data is stored by each of one or more components of the system that processed the input network packet. The log data includes data from the input network packet, and the associated identifier. Components of the device that processed a packet having a selected, associated packet identifier are determined by traversing the graph and searching for graph-connected nodes for which the represented components stored log data with the selected packet identifier. Data is output indicating the components that processed the packet having the selected packet identifier.