Flow Compilation Packet Processing Bypasses Policy Database Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current packet processing techniques strain resources by repeatedly querying multiple databases for each incoming packet, even after employing flow acceleration methods, which still require accessing policy databases for packet processing efficiency.

Innovation Solution

Implementing flow compilation packet processing that caches compiled per-flow programs in a dedicated database, allowing these programs to be executed directly without searching conventional databases, thereby eliminating the need for repeated database queries and policy database access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If flow acceleration is used to reference a packet processing database to acquire an index, then the need for searching numerous policy databases is eliminated, but the appropriate policy database still must be accessed

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoiddatabase access requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the database access step from the packet processing flow by introducing a flow compilation mechanism. Compiled flow programs are pre-generated and stored, allowing the system to skip the policy database access step entirely for recognized flows, thereby removing the harmful factor of database access while preserving processing efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary action by pre-compiling flow programs before actual packet processing occurs. The flow compilation process creates ready-to-execute programs in advance, so when packets arrive, the system can directly execute pre-compiled programs without needing to access policy databases during the critical packet processing path

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If multiple databases are continuously queried after receiving each incoming packet, then packet processing can be performed, but packet processing resources are significantly strained

Engineering Contradiction:
Improvepacket processing capabilityVSAvoidpacket processing resources
Core Design Contradiction:
Ease of operationVSUse of energy by moving object

Solution Approach 1:

The patent creates a copy of the packet processing logic in the form of compiled flow programs. Instead of querying databases for each packet, the system executes pre-compiled program copies that contain the processing logic, dramatically reducing the resource strain on packet processing components

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical database querying process with a more efficient execution model. Rather than using database search operations for each packet, the system substitutes this with direct execution of compiled programs, eliminating the resource-intensive database access mechanism

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8964748B2Methods, systems, and computer readable media for performing flow compilation packet processing
Publication Date: 2015.02.24 GENBAND US LLC
  • US8964748B2 patent drawing
  • US8964748B2 patent drawing
  • US8964748B2 patent drawing

AI summary

Methods, systems, and computer readable media for performing flow compilation packet processing are disclosed. In one embodiment, the method includes receiving a packet at a packet processing device and determining if the packet is associated with a packet flow previously processed at the packet processing device. If the received packet is determined to be associated with the packet flow, at least one database containing compiled flow programs is queried to locate a compiled flow program previously used to process the packet flow. The method also includes utilizing the located compiled flow program to process the received packet.