Network Processor Application Verification via Function Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network application verification methods struggle to fully emulate the variety of packets received by network processors, making it difficult to verify network applications effectively and identify the source of errors due to the complexity of network applications.

Innovation Solution

The approach involves selecting sequences of network application functions based on an ingress packet field, allowing for the execution of specific sequences of commands that correspond to desired packet processing operations, thereby improving the control and comprehensiveness of network application verification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional packet verification methods are used, then verification can be performed, but the ability to fully emulate the wide variety of packets received during normal operation is limited

Engineering Contradiction:
Improvepacket variety emulationVSAvoidverification completeness
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The network application is segmented into multiple individual functions, each performing a specific packet processing operation. This segmentation allows the verification system to test each function independently and selectively invoke specific functions based on packet characteristics, thereby achieving more comprehensive verification coverage without requiring emulation of every possible packet type.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification system dynamically selects and invokes specific network application functions based on the characteristics of the test packet being verified. This dynamic approach allows the system to adapt the verification process to match normal operational conditions more closely, improving both packet variety emulation and verification completeness.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If network applications are verified using traditional methods, then verification can be performed, but it is difficult to identify the particular aspect or feature that is the source of errors

Engineering Contradiction:
Improveerror identificationVSAvoidnetwork application complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

By segmenting the network application into discrete, individually invokable functions, the system enables precise error localization. When a verification error occurs, the system can identify which specific function caused the error, making debugging significantly easier despite the overall complexity of the network application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The verification system acts as an intermediary between the test packet and the network application functions. It selectively invokes specific functions based on packet characteristics and monitors their execution, providing a controlled environment that simplifies error identification while managing the complexity of the underlying network application.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If all network application functions are executed for every test packet, then comprehensive verification is achieved, but verification efficiency and time consumption increase

Engineering Contradiction:
Improveverification thoroughnessVSAvoidverification efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of executing all network application functions for every test packet, the system performs partial action by selectively invoking only the specific functions relevant to the current test packet's characteristics. This approach maintains verification thoroughness for the tested scenarios while significantly improving verification efficiency by avoiding unnecessary function executions.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The verification system dynamically determines which network application functions to invoke based on the test packet characteristics. This dynamic function selection optimizes verification efficiency by executing only the necessary functions for each test case, rather than uniformly executing all functions, thereby maintaining thoroughness while reducing overall verification time.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10003677B2Network application verification at a network processor
Publication Date: 2018.06.19 FUTURE LINK SYSTEMS LLC
  • US10003677B2 patent drawing
  • US10003677B2 patent drawing
  • US10003677B2 patent drawing

AI summary

A network application is verified at a network processor by selecting network application functions based on a field of an ingress packet. The network application is composed of a set of network application functions, with each function carrying out a corresponding packet processing operation, such as packet parsing, statistical gathering, and the like. Each network application function can be invoked by the network processor with a corresponding command. Based on a field of an ingress packet, the network processor can select a sequence of functions to process the packet, wherein the sequence corresponds to functions of the network application or a portion thereof.