Automated Packet Data Storage for Network Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development of packet processing applications often requires custom solutions, leading to duplication of effort and inconsistent use models due to varying parameters, which complicates efficient data storage and retrieval in networking systems.

Innovation Solution

A generalized and automated technique for creating packet processing applications, where user inputs specify functions for packet unit equivalence and ordering, generating high-level programming language descriptions for packet data storage units, allowing for efficient storage and retrieval of packet data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If custom packet processing solutions are developed for each application, then the application-specific requirements can be met, but duplication of effort increases and consistency decreases

Engineering Contradiction:
Improveapplication-specific requirementsVSAvoidduplication of effort
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal packet processing framework that can handle multiple different packet processing applications through a common architecture. The framework uses configurable parameters and functions that can be adjusted to meet specific application requirements while maintaining a consistent base structure, thereby eliminating duplication of effort across different applications.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent employs parameter changes by allowing the packet processing framework to be configured with different parameters for equivalence class determination and ordering functions. By changing these parameters, the same framework can adapt to different application-specific requirements without requiring custom development for each application.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If custom packet processing solutions are developed for each application, then the application-specific requirements can be met, but use model consistency decreases

Engineering Contradiction:
Improveapplication-specific requirementsVSAvoiduse model consistency
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The framework provides a stable, consistent use model that works across all packet processing applications. By using the same underlying architecture and data structures for all applications, the patent ensures use model consistency while still allowing customization through parameters and configuration to meet application-specific needs.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Speed

If packet data is stored in a manner that prioritizes fast access, then retrieval speed improves, but memory resource waste increases

Engineering Contradiction:
Improvedata access rateVSAvoidmemory resource utilization
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent uses parameter changes to optimize the packet data storage structure. By adjusting parameters related to equivalence class grouping and ordering functions, the framework can change the storage organization to balance between fast access and memory efficiency for different application scenarios.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8266583B1Flexible packet data storage for diverse packet processing applications
Publication Date: 2012.09.11 XILINX INC
  • US8266583B1 patent drawing
  • US8266583B1 patent drawing
  • US8266583B1 patent drawing

AI summary

A computer-implemented method of developing a packet processing application can include receiving a user input specifying a first function and a second function and automatically generating a high level programming language description of the packet processing application including a packet data storage unit (605, 610, 615). Packet units can be stored within the packet data storage unit at locations determined according to the first function and the second function. The high level programming language description also can be stored (630).