Software Load Balancing for Multiplane Network Traffic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multiplane networks face challenges in load balancing, leading to increased flow completion times, queuing latency, and packet reordering due to loading imbalances, which existing technologies fail to address effectively.
Innovation Solution
The implementation of a software-based load balancing system that formats data flows and selects planes based on load statuses, combined with hardware-based load balancing for non-fixed data flows, to dynamically manage traffic and reduce congestion across multiple planes in a multiplane network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software-based load balancing is applied to fixed data flows, then network performance is improved and queuing latency is reduced, but device complexity increases due to the need for software-hardware coordination
Solution Approach 1:
The patent segments data flows into two categories: fixed data flows (requiring order preservation) and non-fixed data flows (allowing flexible routing). This segmentation allows different load balancing strategies to be applied to each type, improving overall network performance while managing complexity through targeted rather than universal software intervention.
Solution Approach 2:
The patent introduces an intermediary component that coordinates between software load balancing decisions and hardware routing mechanisms. This intermediary manages the complexity by abstracting the coordination layer, allowing software-based load balancing for fixed flows while maintaining hardware efficiency for non-fixed flows.
2Productivity
If load balancing is implemented across multiple planes, then traffic distribution is improved and head-of-line blocking is reduced, but flow completion time may increase due to migration overhead
Solution Approach 1:
The patent implements dynamic load balancing that adapts to real-time network conditions. For fixed data flows, planes are selected and maintained dynamically based on load status to reduce head-of-line blocking. For non-fixed flows, dynamic plane switching is enabled without ordering constraints. This dynamic approach optimizes traffic distribution while managing completion time through condition-based decisions.
Solution Approach 2:
The patent changes the parameter of plane selection based on flow type and network conditions. Fixed data flows use parameters that prioritize order preservation and load balancing, while non-fixed flows use parameters that prioritize speed and flexibility. This parameter adjustment resolves the contradiction by optimizing for different objectives in different scenarios.
3Reliability
If software-based load balancing is used for fixed data flows, then packet reordering is minimized, but queuing latency increases due to software processing overhead
Solution Approach 1:
The patent segments processing paths based on flow type. Fixed data flows undergo software-based load balancing to ensure proper ordering and reduce reordering. Non-fixed flows bypass software processing and use hardware-based routing for faster transmission. This segmentation reduces overall queuing latency by applying software processing only where necessary for reliability.
Solution Approach 2:
The patent creates separate processing paths or copies for different flow types. Fixed flows are copied to software processing queues that guarantee ordering, while non-fixed flows use hardware acceleration paths that prioritize speed. This copying approach allows parallel processing with optimized characteristics for each flow type.
Data Source
AI summary
A network device for load balancing in a multiplane network comprises a software stack that formats a data flow for transmission, and one or more circuits that identify the formatted data flow as a fixed data flow, and apply software-based load balancing to select a first plane, from among a plurality of planes of the multiplane network, for transmitting one or more data packets of the fixed data flow.


