NIC Predicate Logic Filtering Flow Table Counters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional flow monitoring systems incur significant overhead in terms of DMA, CPU, and memory resources when reviewing the counter values of an entire flow table, necessitating a reduction in these costs.

Innovation Solution

A method and system where a network interface controller receives predicate logic from trusted host software to filter and subset flow table entries, transferring only relevant entries to the host memory, with mechanisms to clear counters and indicate changes, thereby shifting processing and memory overhead to the NIC.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the entire flow table is transferred and reviewed by the trusted host, then complete monitoring accuracy is achieved, but significant DMA, CPU, and memory overhead is incurred

Engineering Contradiction:
Improvemonitoring accuracyVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent segments the flow table processing by dividing it into two parts: the NIC filters and processes flow table entries locally using predicate logic to identify matching entries, while the trusted host only receives and processes the subset of matching entries. This segmentation reduces the amount of data transferred and processed by the host, thereby reducing DMA, CPU, and memory overhead while maintaining monitoring accuracy for relevant entries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary filtering mechanism at the NIC level that acts as a mediator between the flow table and the trusted host. The NIC's predicate logic evaluation serves as an intermediary step that pre-processes and filters flow table entries before they reach the host, reducing the burden on the host system while ensuring that all relevant entries are captured for monitoring.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If predicate logic filtering is implemented at the NIC level, then processing overhead is reduced, but device complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidNIC complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent leverages the existing predicate logic evaluation capability that is already present in modern NICs for other purposes (such as packet filtering and traffic management). By reusing this existing multi-functional capability for flow table filtering, the patent avoids adding significant new complexity to the NIC while still achieving the benefits of reduced processing overhead. The same hardware resources perform multiple functions.

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

Data Source

PatentUS9652419B1Method and system for filtering flow table counters
Publication Date: 2017.05.16 GOOGLE LLC
  • US9652419B1 patent drawing
  • US9652419B1 patent drawing
  • US9652419B1 patent drawing

AI summary

A system, method, and non-transitory computer-readable medium for filtering flow table entries is described. A trusted device may send a table read request to a network interface controller (NIC) that includes predicate logic. The NIC will use the received predicate logic to filter flow table entries. The entries that satisfy the criteria specified by the trusted software are moved to a Direct Memory Access (DMA) buffer on the NIC to create a subset of entries. Once some or all of the flow table has been scanned, the subset of entries may be transferred from the DMA buffer on the NIC to a memory of the trusted host via a DMA transfer to be further processed by the trusted host.