Ternary Bloom Filter Encoding for Network Switch Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Bloom Filters struggle to handle ternary rules directly in network switches, leading to increased storage requirements and performance bottlenecks due to the need to convert ternary rules into binary rules, which overloads the system and occupies excessive storage space.

Innovation Solution

A method and apparatus for encoding ternary rules into binary codewords using a predetermined encoding rule that tags the most significant bit based on the mask length, places the prefix after the MSB, and adds a string of bits corresponding to the mask length, allowing for efficient comparison and processing of packets in network switches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If conventional Bloom Filters are used to reduce power consumption and redundant table-lookup operations, then power consumption is reduced, but the ability to handle ternary rules directly is lost requiring conversion to binary rules

Engineering Contradiction:
Improvepower consumptionVSAvoidability to handle ternary rules
Core Design Contradiction:
Use of energy by stationary objectVSAdaptability or versatility

Solution Approach 1:

The patent changes the parameter representation from binary to ternary by introducing a third state (X) in addition to 0 and 1. This allows the Bloom Filter to natively support ternary rules without conversion, resolving the contradiction between power efficiency and ternary rule handling capability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

Instead of converting ternary rules to binary rules (the conventional approach), the patent inverts the approach by making the Bloom Filter itself ternary. This fundamental inversion allows direct ternary rule handling while maintaining the power consumption benefits of Bloom Filter architecture.

Inventive Principle:
Principle #13The other way round (Inversion)

2Productivity

If ternary rules are parallelly spread into binary rules for Bloom Filter insertion, then table-lookup can be performed, but storage space is excessively occupied and the system is overloaded

Engineering Contradiction:
Improvetable-lookup capabilityVSAvoidstorage space
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

By changing from binary to ternary parameters, the patent achieves more compact representation. A single ternary rule can represent multiple binary rules without expansion, reducing storage requirements while maintaining full table-lookup capability through direct ternary matching.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If ternary rules are converted to binary rules, then Bloom Filter operations can be performed, but the conversion process overloads the system

Engineering Contradiction:
ImproveBloom Filter operation compatibilityVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent inverts the conventional approach by making the Bloom Filter ternary instead of converting ternary rules to binary. This eliminates the conversion process entirely, reducing system complexity while maintaining operational compatibility through native ternary support in the filter structure.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10608934B2Bloom filter and implementation method thereof
Publication Date: 2020.03.31 NAT TAIWAN UNIV
  • US10608934B2 patent drawing
  • US10608934B2 patent drawing
  • US10608934B2 patent drawing

AI summary

A bloom filter and an implementation method thereof are provided. The implementation method has a ternary rule encoded as a rule binary codeword according to a predetermined encoding rule; has a packet encoded as at least one packet binary codeword according to the predetermined encoding rule; and comparing the rule binary codeword and the at least one packet binary codeword to decide a following processing of the packet. The predetermined encoding rule includes: tagging 0 or 1 into most significant bit (MSB) of the output binary codeword based on mask length of the input codeword; placing the prefix of the input codeword right after MSB of the output binary codeword; and tagging a string to last bits of the output binary codeword based on the mask length, and the bit number of the string equals to the mask length.