Load Balancing Switch Default Flow Entries
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current OpenFlow-based load balancing systems experience latency due to communication delays between the controller and switch, limiting network performance and flexibility in dynamic load distribution among servers.
Innovation Solution
Implementing a load balancing switch with default flow entries that include unrestricted match patterns, allowing initial data packet processing without controller intervention, and installing dedicated flow entries for high traffic flows to reduce latency and enhance dynamic load balancing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If controller decides how packets of new flows should be handled by the switch, then load balancing policy flexibility is improved, but communication latency between controller and switch increases
Solution Approach 1:
The system pre-installs default flow entries with unrestricted match patterns in the switch flow table before traffic arrives. These default entries contain predetermined actions for handling new flows, eliminating the need for real-time controller communication when packets arrive. The controller performs its load balancing decision in advance and configures the switch with these default rules, so when traffic arrives, the switch can immediately apply the predetermined actions without waiting for controller responses.
2Speed
If default flow entries with unrestricted match patterns are installed in the switch, then initial data packet processing speed is improved, but controller communication volume increases
Solution Approach 1:
The system extracts the load balancing decision-making function from the real-time packet processing path and places it in the pre-configuration phase. Default flow entries with unrestricted match patterns are installed in the switch, containing all necessary action information (server selection, forwarding rules) determined in advance by the controller. This extraction allows the switch to process packets at line rate using locally stored default entries, while controller communication is limited to the initial configuration phase only, not for each packet processing event.
3Productivity
If dedicated flow entries are installed for high traffic flows, then load balancing efficiency is improved, but switch flow table complexity increases
Solution Approach 1:
The system dynamically adapts the flow table structure based on traffic patterns. Initially, only default flow entries with unrestricted match patterns are installed, keeping the flow table simple. As traffic flows are identified and monitored, the system dynamically creates dedicated flow entries for high-traffic flows that match specific patterns. This dynamic approach allows the flow table to grow only when necessary, maintaining simplicity for low-traffic scenarios while enabling optimized handling for high-traffic scenarios.
Data Source
Figure 1~2
Figure 3A~3B
Figure 4~5
AI summary
A load balancing system may include a switch coupled with a plurality of servers and a controller. A flow table may include default flow entries with each default flow entry including a different match pattern. At least one of the default flow entries may include a match pattern with an unrestricted character so that the match pattern having the unrestricted character is satisfied by a plurality of data flow identifications. Each of the default flow entries may include an action to be performed for data packets having data flow identifications that satisfy its match pattern. A data packet including a data flow identification for a data flow may be received from a client device. A default flow entry having a match pattern that is satisfied by the data flow identification is identified, and the data packet is processed in accordance with the action for the identified default flow entry.