Parallel Network Address Translation Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Networking devices introduce latency in packet transmission due to serial processing of operations like forwarding, NAT, and ACL, which delays the routing decision and increases latency in high-demand network architectures.

Innovation Solution

Implementing parallel processing of forwarding, NAT, and ACL operations in networking devices, where each operation starts as soon as the relevant information becomes available, and using incremental checksum calculations to reduce latency and processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If serial processing of forwarding, NAT, and ACL operations is used, then device complexity is reduced, but latency increases

Engineering Contradiction:
Improveprocessing architecture complexityVSAvoidpacket latency
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments the packet processing operations into independent parallel modules: forwarding operations, NAT operations, and ACL operations. Each module processes packets independently simultaneously, eliminating the serial execution bottleneck while maintaining manageable device complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from one-dimensional serial processing to multi-dimensional parallel processing by executing forwarding, NAT, and ACL operations in different processing dimensions simultaneously. This dimensional change allows multiple operations to occur at the same time without increasing overall system complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If parallel processing of forwarding, NAT, and ACL operations is implemented, then latency is reduced, but device complexity increases

Engineering Contradiction:
Improvepacket latencyVSAvoidprocessing architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent merges the results of parallel forwarding, NAT, and ACL operations into a unified routing decision. By combining these parallel processing streams at the decision point, the system achieves low latency through parallelism while controlling complexity through a centralized decision-making mechanism.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary parallel processing of forwarding, NAT, and ACL operations before the final routing decision is made. This preliminary action allows all necessary processing to occur simultaneously before convergence, reducing overall latency while keeping the decision logic relatively simple.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If incremental checksum calculations are used, then re-write latency is reduced, but processing precision may be affected

Engineering Contradiction:
Improvere-write latencyVSAvoidchecksum accuracy
Core Design Contradiction:
Loss of timeVSManufacturing precision

Solution Approach 1:

The patent performs preliminary checksum calculations during the parallel processing phase, before the final packet rewrite operation. By calculating checksums incrementally as data becomes available rather than waiting for complete data assembly, the system reduces re-write latency while maintaining checksum accuracy through progressive validation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9154415B1Parallel processing for low latency network address translation
Publication Date: 2015.10.06 CISCO TECHNOLOGY INC
  • US9154415B1 patent drawing
  • US9154415B1 patent drawing
  • US9154415B1 patent drawing

AI summary

A packet is received at an ingress port of a networking device and a forwarding result that identifies an egress port for the packet is generated. In parallel with the generation of the forwarding result, a network address translation (NAT) result that identifies one or more NAT rules for possible application to the packet is generated. The forwarding result and the NAT result are then used to generate a routing decision result.