Flow Table Management via Static Rules and Exceptions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing traffic rates in datacenters necessitate larger and more costly flow tables in switches, which are difficult to manage due to high internal memory costs and load balancing issues, leading to the abandonment of traditional full flow table support and the use of external load balancers, with no high-capacity terabit load balancers available.

Innovation Solution

A system and method that establishes a static rule to distribute flows to servers and monitors their loads, creating exception rules when servers reach capacity, allowing flow tables to store only exception flows instead of full static rule flows, thereby reducing memory requirements and enabling more efficient load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If flow tables are enlarged to support higher traffic rates, then switch capacity increases, but memory cost increases significantly

Engineering Contradiction:
Improveswitch capacityVSAvoidmemory cost
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts the flow table management function from the switch by introducing an external load balancer. The switch only maintains minimal flow state information while the external load balancer handles comprehensive flow management, thereby reducing in-switch memory requirements while maintaining high switch capacity

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The flow management functionality is segmented between the switch and external load balancer. The switch handles packet forwarding with minimal state, while the external load balancer maintains detailed flow information and makes routing decisions, dividing the memory burden across multiple components

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If full flow table support is maintained, then load balancing capability improves, but device complexity increases

Engineering Contradiction:
Improveload balancing capabilityVSAvoidflow table management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The complex flow table management and load balancing logic are extracted from the switch and placed in an external load balancer. This allows the switch to maintain simple forwarding operations while the external device handles complex flow management, reducing device complexity while preserving load balancing capability

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

An external load balancer acts as an intermediary between traffic sources and the switch. It receives flow management requests, makes routing decisions based on load conditions, and directs traffic accordingly, simplifying the switch's role while maintaining sophisticated load balancing

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3343879B1A system and method of managing flow state in stateful applications
Publication Date: 2023.08.23 CISCO TECHNOLOGY INC
  • EP3343879B1 patent drawingFigure 1
  • EP3343879B1 patent drawingFigure 2A
  • EP3343879B1 patent drawingFigure 2B

AI summary

Disclosed is a method for managing flow tables at a switch in a network. The method includes establishing a static rule to distribute a first flow to a first server and a second flow to a second server and monitoring a first load on the first server and a second load on a second server. When, based on the monitoring, the first server is running at capacity and the third flow is to be distributed to the first server according to the static rule, the method includes establishing an exception to the static rule to yield an exception rule, distributing the third flow to a third server with capacity according to the exception rule and storing a flow table for the third flow at a switch, wherein the switch does not store a static rule flow table for the static rule.