Fractal Ring Buffer Cache Sizing for Cloud Data Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data structures used in cloud computing environments, such as ordered sequences and binary search trees, face inefficiencies in indexing, insertion/deletion, and search operations, particularly due to high time complexities and space overheads.

Innovation Solution

A cache is implemented using an ordered data structure with ranked ring buffers, where data elements are sorted by access recency, allowing efficient updates and searches with a time complexity of O(√N) for insertion/deletion and O(log N) for search operations, reducing the need for extensive rewriting and minimizing space overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If an ordered sequence is used to store ordered data, then indexing operations are efficient with O(1) time complexity, but insertion and deletion operations have poor time complexity of O(N) due to the need to shift elements

Engineering Contradiction:
Improveindexing operation speedVSAvoidinsertion and deletion operation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The ordered sequence is segmented into multiple ring buffers organized in a fractal hierarchy. Each ring buffer maintains a portion of the ordered data, allowing insertions and deletions to occur in O(√N) time by only affecting local segments rather than requiring O(N) element shifts across the entire sequence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a one-dimensional ordered sequence to a two-dimensional fractal organization using ranked ring buffers. This dimensional change allows efficient indexing through the buffer hierarchy while maintaining O(√N) insertion/deletion performance by operating on localized buffer segments rather than the entire sequence.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If a binary search tree is used to achieve O(log N) insertion and deletion, then update operations are efficient, but indexing operations have poor time complexity of O(N) and space overhead is high due to additional pointers

Engineering Contradiction:
Improveinsertion and deletion operation efficiencyVSAvoidindexing operation speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The binary search tree structure is segmented into ranked ring buffers where each buffer represents a level in the fractal hierarchy. This segmentation allows indexing to proceed efficiently by navigating through buffer levels rather than traversing O(N) nodes, achieving O(√N) indexing performance while maintaining O(log N) update efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different parts of the data structure have specialized properties: ring buffers at each level maintain local ordering and provide efficient access to specific ranges, while the hierarchical structure provides global ordering. This local quality optimization allows both fast indexing and efficient updates without the O(N) indexing penalty of traditional BSTs.

Inventive Principle:
Principle #3Local quality

3Productivity

If a binary search tree is used, then insertion and deletion have O(log N) time complexity, but the space overhead is relatively high due to requiring at least two additional pointers for each data item

Engineering Contradiction:
Improveinsertion and deletion operation efficiencyVSAvoidspace overhead
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts the pointer overhead from each individual data item by using ring buffer structures that store data contiguously in arrays. Instead of each node requiring multiple pointers, the fractal ring buffer hierarchy uses index arithmetic and buffer metadata to navigate the structure, significantly reducing per-element space overhead while maintaining O(log N) update efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10191849B2Sizing cache data structures using fractal organization of an ordered sequence
Publication Date: 2019.01.29 VMWARE INC
  • US10191849B2 patent drawing
  • US10191849B2 patent drawing
  • US10191849B2 patent drawing

AI summary

A cache is sized using an ordered data structure having data elements that represent different target locations of input-output operations (IOs), and are sorted according to an access recency parameter. The cache sizing method includes continually updating the ordered data structure to arrange the data elements in the order of the access recency parameter as new IOs are issued, and setting a size of the cache based on the access recency parameters of the data elements in the ordered data structure. The ordered data structure includes a plurality of ranked ring buffers, each having a pointer that indicates a start position of the ring buffer. The updating of the ordered data structure in response to a new IO includes updating one position in at least one ring buffer and at least one pointer.