Hardware Packet Pre-Processor for HTTP Cookie Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Server load balancers face computational challenges in processing HTTP header fields and sub-header fields for cookie insertion, detection, and removal, which can be alleviated by using a hardware processing module to assist in identifying and managing these fields.

Innovation Solution

A method involving a hardware packet pre-processor that detects and generates header field blocks for HTTP packets, allowing a processor module to apply service policies based on these blocks, and modify packets by inserting, detecting, or removing cookies, thereby reducing computational load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If deep packet inspection techniques are used to examine payload content for load balancing optimization, then load balancing precision is improved, but computational complexity increases

Engineering Contradiction:
Improveload balancing precisionVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the packet processing function into two parts: a hardware packet pre-processor that handles header field detection and cookie management, and a processor module that handles load balancing decisions. This segmentation offloads computational tasks from the main processor, reducing computational complexity while maintaining load balancing precision through the hardware-assisted header field identification.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hardware packet pre-processor as an intermediary component between the network interface and the processor module. This intermediary handles the computationally intensive tasks of detecting header fields and managing cookies, thereby reducing the computational burden on the main processor while enabling precise load balancing decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a server load balancer inserts and detects special cookies to optimize load balancing, then load balancing effectiveness is improved, but processing time increases

Engineering Contradiction:
Improveload balancing effectivenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent replaces the software-based cookie detection and management mechanism with a hardware packet pre-processor that performs these functions in parallel with packet forwarding. This substitution eliminates the sequential processing delay inherent in software-based cookie management, reducing processing time while maintaining load balancing effectiveness through hardware-accelerated cookie insertion, detection, and removal.

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

3Productivity

If hardware assistance is used to process HTTP header fields, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the specific function of HTTP header field detection and cookie management from the general-purpose processor and implements it in dedicated hardware. This extraction improves packet processing efficiency by handling these specific tasks in parallel, while the hardware complexity is managed by focusing the hardware module on a narrow, well-defined set of functions rather than attempting to handle all processing tasks.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10348631B2Processing packet header with hardware assistance
Publication Date: 2019.07.09 A10 NETWORKS INC
  • US10348631B2 patent drawing
  • US10348631B2 patent drawing
  • US10348631B2 patent drawing

AI summary

Methods and systems for load balancing are disclosed. An example method for load balancing commences with receiving a data packet from a host device. The method further includes identifying a header field of the data packet. After identifying the header field of the data packet, the method proceeds with matching the data packet to a network service based on the header field. Thereafter, the method generates a header field block for the data packet based on the network service. The method further includes sending the data packet to a processor module. The data packet is processed based on the header field block.