Stacked Roaring Bitmap Cache Compression for Partitioned Web Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large cache sizes due to increasing data demands lead to network partition issues and inefficiencies, as web servers rely on remote caches, resulting in access failures and resource wastage.

Innovation Solution

Implementing a dynamically compressed local cache using a compression engine that adjusts based on cardinality, employing roaring bitmaps to reduce data size and support bitmap operations, thereby maintaining local data access and reducing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a large cache size is used to store increasing data demands, then data availability is improved, but network partition issues and resource wastage occur

Engineering Contradiction:
Improvecache sizeVSAvoidnetwork partition reliability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent divides the cache into two segments: a local cache stored on the web server and a remote cache stored on the cache server. This segmentation allows the system to maintain data availability locally during network partitions while still utilizing remote caching when available, thus resolving the contradiction between cache size and network partition reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically adjusts the compression rate of the local cache based on cardinality values. When cardinality is low, higher compression is applied to maximize space utilization; when cardinality is high, lower compression is applied to maintain performance. This parameter change allows the system to maintain an optimal cache size that improves data availability without causing resource wastage.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a large cache size is used to store increasing data demands, then data availability is improved, but resource wastage increases

Engineering Contradiction:
Improvecache sizeVSAvoidresource wastage
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent implements dynamic compression that adjusts the compression rate based on the cardinality of cached values. This dynamic approach allows the cache to adapt its size and compression level according to actual data characteristics, maximizing space utilization while minimizing the resources needed to store and manage the cache, thus resolving the contradiction between cache size and resource wastage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By changing the compression parameter based on cardinality, the system optimizes the balance between cache size and resource consumption. Low cardinality data receives higher compression to save resources, while high cardinality data uses lower compression to maintain accessibility, eliminating resource wastage while preserving data availability.

Inventive Principle:
Principle #35Parameter changes

3Volume of stationary object

If compression rate is increased to reduce cache size, then memory requirements are reduced, but access speed may be affected

Engineering Contradiction:
Improvememory requirementsVSAvoiddata access speed
Core Design Contradiction:
Volume of stationary objectVSSpeed

Solution Approach 1:

The system dynamically adjusts the compression rate based on the cardinality of cached values. For low cardinality data, higher compression is applied to reduce memory requirements. For high cardinality data, lower compression is applied to maintain fast access speeds. This dynamic adjustment resolves the contradiction between memory requirements and access speed by optimizing compression based on actual data characteristics.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Different compression rates are applied to different portions of the cache based on their cardinality characteristics. This local quality approach ensures that each segment of the cache is compressed at the optimal rate for its specific data type, maintaining fast access speeds for frequently accessed high-cardinality data while achieving space savings on low-cardinality data.

Inventive Principle:
Principle #3Local quality

4Reliability

If local cache is maintained to ensure continuous access during network partitions, then reliability is improved, but memory requirements increase

Engineering Contradiction:
Improvecontinuous data accessVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent implements dynamic compression that adjusts the compression rate based on cardinality values. This allows the local cache to maintain reliability for continuous data access during network partitions while using variable compression to optimize memory requirements. The compression rate is changed based on the actual data characteristics, ensuring that memory is used efficiently without sacrificing access reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

By segmenting the caching strategy into local and remote components with different compression levels, the system maintains reliability through local cache availability while managing memory requirements through selective compression. Not all cache entries are compressed at the same level, allowing optimization of memory usage while preserving access reliability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11544190B2Compressed cache using dynamically stacked roaring bitmaps
Publication Date: 2023.01.03 EBAY INC
  • US11544190B2 patent drawing
  • US11544190B2 patent drawing
  • US11544190B2 patent drawing

AI summary

A method for compressing data in a local cache of a web server is described. A local cache compression engine accesses values in the local cache and determines a cardinality of the values of the local cache. The local cache compression engine determines a compression rate of a compression algorithm based on the cardinality of the values of the local cache. The compression algorithm is applied to the cache based on the compression rate to generate a compressed local cache.