L7 Assist Circuit Offloads HTTP Processing from CPUs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current methods for processing Layer 7 (L7) data streams, such as HTTP data streams, in computer networks require substantial processing power and dedicate resources to network protocol handling, leading to inefficiencies and increased power consumption, especially as cloud-native applications grow in complexity.
Innovation Solution
Implementing a network appliance with a data plane that includes a specialized L7 assist circuit to reassemble and enhance L7 data streams by decoding Huffman coded elements, normalizing URLs, and producing hash values, thereby offloading processing tasks from general-purpose CPUs and simplifying microservice operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Use of energy by moving object
If general-purpose processors are used to interpret and process L7 headers and data streams, then processing flexibility is maintained, but processing power consumption increases substantially
Solution Approach 1:
The patent segments the L7 processing architecture into two distinct parts: specialized hardware circuits for specific L7 processing tasks (Huffman decoding, URL normalization, hash computation) and general-purpose processors for remaining tasks. This segmentation allows energy-intensive operations to be performed by efficient hardware while maintaining processing flexibility through the general-purpose component.
Solution Approach 2:
The patent introduces an intermediary L7 assist circuit that sits between the network interface and the general-purpose processor. This intermediary performs preliminary processing of L7 headers and data streams, preparing them for subsequent processor handling and reducing the overall processing burden on general-purpose CPUs.
2Productivity
If specialized L7 assist circuits are implemented for processing L7 data streams, then processing efficiency increases, but device complexity increases
Solution Approach 1:
The patent extracts specific L7 processing functions (Huffman decoding, URL normalization, hash computation) from the general-purpose processor and implements them in dedicated hardware circuits. This extraction improves processing efficiency for these specific tasks while allowing the general-purpose processor to focus on other responsibilities.
Solution Approach 2:
The L7 assist circuit performs self-service by autonomously handling specific L7 processing tasks without requiring general-purpose processor intervention. The circuit independently decodes Huffman-coded elements, normalizes URLs, computes hash values, and prepares enhanced L7 data streams for processing, thereby serving itself and reducing the processing load on other system components.
3Speed
If L7 data streams are processed by general-purpose processors, then processing accuracy is maintained, but processing speed decreases
Solution Approach 1:
The patent applies preliminary action by having the L7 assist circuit perform preprocessing operations on incoming L7 data streams before they reach the general-purpose processor. Huffman decoding, URL normalization, and hash computation are completed in advance by the hardware circuit, so that the general-purpose processor receives pre-processed data ready for final handling, thereby improving overall processing speed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Certain tasks related to processing layer 7 (L7) data streams, such as HTTP data streams, can be performed by an L7 assist circuit instead of by general-purpose CPUs. The L7 assist circuit can normalize URLs, Huffman decode, Huffman encode, and generate hashes of normalized URLs. A L7 data stream, which is reassembled from received network packets, includes an L7 header. L7 assist produces an augmented L7 header that is added to the L7 data stream. The CPUs can use the augmented L7 header, thereby speeding up processing. On the outbound path, L7 assist can remove the augmented L7 header and perform Huffman encoding such that the CPUs can perform other tasks.