SDN Switch Packet Parsing for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing load balancing methods, such as Receive Side Scaling (RSS), struggle to effectively discriminate between unique packet flows, especially with packets having new or evolving networking formats and non-standard structures, leading to inefficient processing and increased resource usage due to exception handling.

Innovation Solution

A system utilizing a Software-Defined Networks (SDN) architecture that parses packets based on programmable rules to recognize and process standard, evolving, and non-standard packet structures, generating an SDN_HDR to guide the packet processing and load balancing, thereby improving the separation and distribution of packet flows across Receive Queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If RSS extracts fields from standardized networking layers (L2, L3, L4) to build keys for load balancing, then standard packet flows can be discriminated, but packets with new or evolving networking formats and non-standard structures cannot be properly discriminated

Engineering Contradiction:
Improveability to handle new and evolving packet formatsVSAvoidflow discrimination accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements dynamic packet parsing that adapts to different packet formats. The system uses programmable packet parsers that can be configured to recognize various packet structures including standard Ethernet, VLAN, MPLS, and custom formats. The parsing rules are dynamically adjustable to handle evolving networking protocols without requiring hardware redesign, thus improving adaptability while maintaining reliable flow discrimination through configurable field extraction.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal packet processing system that can handle multiple packet formats through a single programmable architecture. The SDN controller can program switches to recognize and parse various packet structures (standard and non-standard) using a unified approach. This multi-functional capability allows the same hardware to reliably discriminate flows across different networking protocols and formats by extracting relevant fields according to format-specific rules.

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

2Speed

If RSS uses simple key generation algorithms (e.g., addition of fields), then processing is fast, but key collisions increase leading to poor load distribution

Engineering Contradiction:
Improvepacket processing speedVSAvoidload balancing effectiveness
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements configurable hash function selection that allows switching between different key generation algorithms based on traffic patterns and performance requirements. The system can use simple addition for high-speed scenarios with low collision risk, while switching to more sophisticated hash functions (XOR-based, multiplication-based, or custom algorithms) when load balancing effectiveness deteriorates. This parameter change capability maintains processing speed while improving productivity when needed.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent incorporates monitoring and feedback mechanisms that track key collision rates and load distribution effectiveness. When collisions are detected or load balancing degrades, the system can dynamically adjust the hash function parameters or select alternative algorithms. The SDN controller receives feedback about flow distribution patterns and can reprogram switches to use more appropriate key generation methods, thus maintaining both speed and productivity through adaptive feedback-driven optimization.

Inventive Principle:
Principle #23Feedback

3Reliability

If RSS processes packets with non-standard structures using exception handling, then correct processing can be achieved, but resource usage increases significantly

Engineering Contradiction:
Improvecorrect packet processingVSAvoidprocessing resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent implements preliminary packet classification and format identification before main processing. The system uses pre-configured parsing rules that quickly identify packet formats (standard Ethernet, VLAN, MPLS, or custom formats) and prepare appropriate field extraction patterns in advance. By performing this preliminary action, the system avoids expensive exception handling during main processing and instead uses optimized paths for each packet format, maintaining correct processing while reducing resource consumption.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the packet processing function into distinct format-specific parsing paths. Each packet format (standard and non-standard) has its own dedicated parsing logic and field extraction rules configured in the switch. This segmentation allows the system to handle non-standard packets through specialized optimized paths rather than generic exception handling, achieving correct processing with lower resource usage by matching packets to pre-prepared processing segments.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9813342B2Method and system for improved load balancing of received network traffic
Publication Date: 2017.11.07 MARVELL ASIA PTE LTD
  • US9813342B2 patent drawing
  • US9813342B2 patent drawing
  • US9813342B2 patent drawing

AI summary

A method and a system embodying the method for load balancing of a received a packet based network traffic, comprising: receiving a packet at a software defined network switch; determining information pertaining to uniqueness of a packet flow for the received packet; providing the determined information and the received packet to a network interface controller; and processing the received packet at the network interface controller in accordance with the provided determined information, are disclosed.