OpenFlow Switch Flow Entry Modification for Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current OpenFlow-based load balancing architectures face latency issues due to the separation of controllers and switches, leading to delayed data packet transfer and high resource consumption, as they require extensive involvement of the controller in flow management and maintenance.

Innovation Solution

Implement a method where flow entries in the switch's flow table are dynamically modified to include multiple servers, allowing data packets to be transmitted to both servers without continuous controller intervention, and dedicated flow entries are installed for established data flows, reducing the need for frequent abort message handling and controller involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an external OpenFlow controller is used to manage flow entries in the switch, then flexibility in policy and robustness to failure are improved, but latency increases and resource consumption increases due to continuous controller involvement

Engineering Contradiction:
Improveflexibility in policyVSAvoidlatency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The controller pre-installs flow entries with multiple server destinations in the switch's flow table before steady-state operation begins. This preliminary configuration allows the switch to autonomously forward packets to multiple servers without continuous controller intervention, reducing latency while maintaining the flexible load balancing policy designed by the controller.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The switch is empowered to autonomously modify flow entries by adding server destinations based on packet inspection and load balancing rules, without requiring continuous controller involvement. This self-service capability reduces latency and controller resource consumption while the controller retains overall policy control through initial configuration and monitoring.

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If an external OpenFlow controller is used to manage flow entries in the switch, then flexibility in policy and robustness to failure are improved, but resource consumption increases due to continuous controller involvement

Engineering Contradiction:
Improveflexibility in policyVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The controller performs flow table configuration and load balancing rule installation in advance, during which it consumes computational resources. Once configured, the switch autonomously executes load balancing operations locally, significantly reducing ongoing controller resource consumption while preserving the flexible policy framework established by the controller.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The switch takes over the computational workload of evaluating load balancing rules and modifying flow entries during steady-state operation, performing these operations locally without requiring continuous controller processing. This transfers resource consumption from the controller to the switch, reducing overall system resource usage while maintaining policy flexibility.

Inventive Principle:
Principle #25Self-service

3Productivity

If flow entries are dynamically modified to include multiple servers, then load distribution is improved and controller involvement is reduced, but flow table complexity increases

Engineering Contradiction:
Improveload distributionVSAvoidflow table complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Multiple server destinations are merged into single flow table entries as alternative destinations rather than creating separate flow entries for each server. This consolidation improves load distribution efficiency by reducing the number of table lookups required while the switch's flow modifier systematically manages the complexity of multi-destination entries through automated addition and removal of server destinations based on load conditions.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9456030B2Methods of operating load balancing switches and controllers using modified flow entries
Publication Date: 2016.09.27 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US9456030B2 patent drawing
  • US9456030B2 patent drawing
  • US9456030B2 patent drawing

AI summary

A method of operating a load balancing switch may include providing a flow entry in a flow table, the flow entry may include a match pattern that is satisfied by a data flow identification, and the flow entry may identify a first server. A first data packet including a first data flow identification may be received, and the first data packet may be transmitted to the first server responsive to the first data flow identification satisfying the match pattern. After transmitting the first data packet to the first server, the flow entry may be modified so that the flow entry identifies the first server and a second server. After modifying the flow entry, a second data packet including a second data flow identification may be received, and the second data packet may be transmitted to the first and second servers responsive to the second data flow identification satisfying the match pattern.