Multipath Table Compression via Routing Rule Building Blocks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multipath routing techniques, such as Weighted Cost MultiPath (WCMP) routing, face limitations in accommodating a large number of traffic flows due to the limited capacity of multipath tables, which restricts the number of forwarding rules that can be programmed, leading to reduced network performance.

Innovation Solution

A method is introduced to compress and optimize routing rules by combining overlapping rules into building blocks, allowing for efficient storage in multipath tables, using algorithms like the greedy algorithm and non-deterministic polynomial-time (N-P) hard algorithm, and scaling rules to reduce memory usage without compromising traffic load balancing ratios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple routing rules are programmed into the multipath table to support more traffic flows, then network capacity and performance are improved, but the memory space required in the multipath table increases

Engineering Contradiction:
Improvenetwork capacityVSAvoidmemory space
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The patent combines overlapping routing rules into unified building blocks. When multiple routing rules share common building blocks, those blocks are merged into a single representation in the multipath table, reducing redundant storage while preserving all routing functionality. This allows supporting more traffic flows within the same memory constraints.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent scales building blocks by adjusting their scope and coverage parameters. By modifying the parameters of building blocks (such as expanding their applicability to cover multiple routing rules), the system reduces the total number of entries needed in the multipath table, thereby reducing memory space requirements while maintaining network capacity.

Inventive Principle:
Principle #35Parameter changes

2Volume of stationary object

If the number of entries in the multipath table is reduced to save memory space, then memory usage is decreased, but the ability to accommodate various multi-path forwarding rules is limited

Engineering Contradiction:
Improvememory spaceVSAvoidforwarding rules capacity
Core Design Contradiction:
Volume of stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent segments routing rules into reusable building blocks that can be independently stored and combined. By breaking down complex routing rules into fundamental building blocks, the system can efficiently store only the essential components in the multipath table, reducing memory usage while maintaining the ability to reconstruct and support diverse forwarding rules through combination of these blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates universal building blocks that can serve multiple routing rules simultaneously. Each building block is designed to be multi-functional, capable of participating in different routing rule combinations to support various traffic flows and forwarding requirements. This universality allows the multipath table to accommodate diverse forwarding rules with fewer entries.

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

Data Source

PatentUS9276771B1Lossless multipath table compression
Publication Date: 2016.03.01 GOOGLE LLC
  • US9276771B1 patent drawing
  • US9276771B1 patent drawing
  • US9276771B1 patent drawing

AI summary

Exemplary embodiments provide compression of data that will be saved to a multipath table for a given set of routing rules. Thus, the total space required in the multipath table for storing a given set of routing rules is reduced. A routing rule associated with a network switch may be represented using a building block that includes one or more entries. The one or more entries form an unordered enumeration of egress ports of the network switch. In the routing rule, the weight of an egress port is represented by the number of times the egress port appears in the building block. Compression of data may be accomplished by combining one or more of the routing rules into a same building block having one or more entries. The building block may be stored in the multipath table, hereby programming the one or more of the rules into the multipath table.