Multi-Layer Probabilistic Flow Cache for Memory Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Filters that allow for removal operations, such as removing expired flows in firewalls, often require significant resources like large, slow, and expensive memory.
Innovation Solution
A data structure with multiple layers of cells, where each layer has an increasing number of bits per cell, allowing for efficient increment and decrement operations while minimizing resource usage, enabling removal operations without excessive resource demands.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If filters allow for removal operations (e.g., removing expired flows), then functionality is improved, but resource requirements (memory size, speed, cost) worsen significantly
Solution Approach 1:
The filter is divided into multiple layers (first layer, second layer, third layer) with different cell structures and bit depths. Each layer handles a specific range of flow counts, allowing the system to represent large counts using multiple smaller units rather than a single large memory structure, thus reducing overall memory requirements while maintaining removal capability.
Solution Approach 2:
The patent transitions from a single-layer filter structure to a multi-layer hierarchical structure. By adding the dimension of layer depth, the system can represent flow counts more efficiently using variable bit depths across layers, enabling removal operations without proportionally increasing memory resources.
2Adaptability or versatility
If filters allow for removal operations, then functionality is improved, but processing speed and memory cost worsen
Solution Approach 1:
Different layers of the filter use different cell bit depths tailored to their specific functions. The first layer uses 1 bit per cell for simple presence/absence tracking, while subsequent layers use more bits for precise count tracking. This local optimization ensures that each layer operates at the minimal necessary complexity, maintaining fast processing speeds while enabling removal operations.
3Adaptability or versatility
If filters use traditional structures for removal operations, then removal functionality is achieved, but memory efficiency worsens
Solution Approach 1:
The patent changes the parameter of bit depth per cell across different layers. Instead of using uniform bit depths throughout the filter, it dynamically adjusts the number of bits per cell based on the layer level and required precision. This parameter variation allows the system to use minimal memory bits where possible while maintaining the ability to perform removal operations on expired flows.
Data Source
AI summary
An apparatus sets a layer counter to point to a first layer of a data structure. The apparatus determines the layer counter to reference an overflowing cell. The apparatus increments the layer counter to point to a second layer of the data structure. The apparatus determines the incremented layer counter to reference a non-overflowing cell. The apparatus increments a value of the non-overflowing cell, wherein the first layer is stored in a first cache and the second layer is stored in a second cache, and wherein the first cache differs from the second cache with respect to one or more of speed or size.


